directed-cubical-0.1.1.1: Finite directed cubical complexes and associated algorithms

Portabilityportable
Stabilityexperimental
Maintainerm.misamore@gmail.com
Safe HaskellNone

Math.Topology.CubeCmplx.DPTrace

Contents

Description

Model directed process traces in a directed cubical framework.

Synopsis

Resource requests

type ResId = IntSource

Type for resource IDs.

data ReqType Source

Classical acquire/release notation.

Constructors

P 
V 

Instances

type ResReq = (ReqType, ResId)Source

Resource request consists of acquiring/releasing a given resource.

Process Traces

type PID = IntSource

Type for process IDs.

data PTrace Source

Process trace is Process ID together with valid list of requests.

Instances

pTrace :: PID -> [ResReq] -> Maybe PTraceSource

Attempt to build valid process trace from ID and list of requests.

pTraces :: [[ResReq]] -> Maybe [PTrace]Source

Attempt to build list of process traces with default process IDs from list of lists of requests.

Modeling contention problems

ptsAmbReg :: [PTrace] -> VertSpanSource

Given a list of process traces, determine a minimal vertex span suitable for modeling a resource contention problem.

ptsForbRegs :: [PTrace] -> [VertSpan]Source

Given a list of process traces, calculate associated list of forbidden regions which represent resource contention. These regions may overlap to form more complex regions.

ptsCmplx :: [PTrace] -> CubeCmplxSource

Given a list of process traces, represent the associated resource contention problem by a finite directed cubical complex. The ordering of the coordinates is the same as the ordering of the processes in the list.