Concurrency Theory: Lecture 9, 10 February 2017 ------------------------------------------------ We have defined the unfolding of a net as an occurrence net "axiomatically", by combining N_w for all firing sequences w in a single net Can also explicitly construct unfolding for a safe net N = (S,T,F,Min) - Assume 1 safe for simplicity - Create places of the form (p,X) and transitions of the form (t,Y) where p and t refer to places and transitions in the original net, X and Y refer to "past" of the element. - Start with (p,emptyset) for each p in Min - For t in T, let pre(t) = {p1,p2,...,pk} with (p1,X1), ..., (pk,Xk) concurrent elements in the unfolding Extend the unfolding with a new tranistion (t,Y) where Y = {(p1,X1),...,(pk,Xk)} if (t,Y) not already present Let post(t) = (p'1,p'2,...,p'm). Add new output places (p'i,{(t,Y)}) Configuration - Like event structure, downward-closed and conflict free set of events - Mark(C) is marking after C 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 - 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 - Unclear how to find such a total order for bounded but not - 1-safe nets ======================================================================