Concurrency Theory: Lecture 9, 11 September 2019 ------------------------------------------------- Prime event structures ES = (E, <=, #) - Configurations ordered by inclusion form a prime algebraic coherent complete partial order - Difficult to generalize to non-safe nets: - Parallel switch: t or t' can trigger t" - Configurations are not prime algebraic coherent cpo ---------------------------------------------------------------------- Digression on domain theory - Denotational semantics for sequential programming languages : Dana Scott - Event structures arose from an attempt to provide a similar semantics for concurrent computation: Glynn Winskel ---------------------------------------------------------------------- Unfoldings and complete prefixes: Cut - Maximal pairwise concurrent set of places Extension of C - All transitions in the unfolding not in C but compatible with C - Isomorphic to the unfolding of the net with Min = Mark(C) Lemma: If Mark(C) = Mark(C'), extension of C is isomoprhic to extenion of C' Complete prefix - Prefix of unfolding containing all reachable markings and an occurrence of each fireable transition - For a safe net, only bounded number of reachable markings, so finite complete prefix exists. How to find it efficiently? Local configuration - Downarrow(e) for event e = {e' | e' <= e} Intuition: - If Mark(Downarrow(e)) = Mark(Downarrow(e')) for event e' added earlier, no need to expand below e - e is a "cutoff" event Example in the paper shows that this has to be done carefully. To fix the example, McMillan requires size of Downnarrow(e') to be strictly less than size of Downarrow(e) Generalize this to adequate order << on configurations 1. << is well founded 2. C proper subset of C' implies C << C' 3. Preserved by extensions: C << C' impliex C+E << C'+Iso(E) for every extension E of C Note that McMillan's size order is an adequate order Modified unfolding algorithm: - At each step of expansion, choose next event to be minimal wrt adequate order - After adding an event, check and mark it if it is a cutoff event - Never expand "below" a cutoff event Theorem: This algorithm builds a finite complete prefix Claim 1: The unfolding is finite Define depth of a transition and argue that the set of elements upto depth k is finite Claim 2: Every reachable marking is represented Go backwards via cutoff events and appeal to well-foundedness of << Claim 3: Every fireable transition is represented Proof similar to that of Claim 2 Why go beyond McMillan's size order? - Example that requires exponential size unfolding to represent n reachable markings Extend McMillan's order: if sizes equal, compare by lexicographic order of Parikh vector (see paper for details) - Fixes the earlier example - Still a partial order: other bad examples exist Ideal to find an adequate total order - One does exist for 1-safe nets (based on Foata Normal Form of trace) - Unclear how to find such a total order for bounded but not - 1-safe nets ======================================================================