Concurrency Theory: Lecture 8, 06 September 2019 ------------------------------------------------- Constructing a canonical trace from a firing sequence: - By induction build a net N_w = (P_w,T_w,F_w) and a marking M_w for each word w - Let <=> denote trace equivalence. N_w is identical to N_w' for each w'<=> w: each concurrent run generates a canonical net - Causal net: - Each place has at most one incoming and one outgoing edge - F* is a acyclic (partial order) - Transitions that are not ordered are concurrent - If we "throw away" the places in N_w, we get a canonical partial order representation of the trace [w] - Let <= denote trace prefix. [w] <= [w'] iff the N_w is a subset, componentwise, of N_{w'} Given two firing sequences uv and uw, the nets N_uv and N_uw will have identical prefixes for N_u Take the union of N_w for all firing sequences w - Like the computation tree of a sequential system - Occurrence net - Each place has at most one incoming edge - F* is acyclic - If t and t' share an input place, t and t' are in conflict - Conflict is "inherited" via F - Any two elements in conflict have disjoint futures (equivalently, no element is in conflict with itself) - Occurrence net describes "branching behaviour" of a net - If we "throw away" the places in the occurrence net, we get an event structure ES = (E, <=, #) - E is a set of events - <= is a partial order - # is the conflict relation, inherited via <=: e # e' and e' <= e'' implies e # e" - Concurrency relation - e co e' if not (e <= e' or e' <= e or e # e') - Configuration C is a set of events, describes a computation - Set of events that have "happened till now" - C is downward closed: e in C and e' <= e implies e' in C as well - C is conflict free: only compatible events can happen together - C is conflict free: only compatible events can happen together - Configurations correspond to traces - Configurations ordered by inclusion are isomorphic to traces ordered by trace extension - Algebraic characterization - Prime configuration: c is prime if whenever c is included in the union of a set of configurations C, c is included in some c' in C - Prime configurations are those of the form downarrow(e), for each event e in E - Configurations ordered by inclusion form a prime algebraic coherent complete partial order - Prime configurations form an event structure - Events are the prime configurations - <= is given by inclusion of configurations - c # c' if c and c' do not have a common upper bound in the original event structure - The configuration space of this event structure is isomorphic to the one we started with - Hence these event structures are called "prime" event structures ======================================================================