VIEWS: 3 PAGES: 13 POSTED ON: 3/11/2010 Public Domain
A Faster–than Relation for Asynchronous Processes ¨ Gerald Luttgen Department of Computer Science The University of Shefﬁeld, U.K. g.luettgen@dcs.shef.ac.uk —in collaboration with— Walter Vogler Institute for Computer Science The University of Augsburg, Germany vogler@informatik.uni-augsburg.de Process Algebras and Time Classic process algebras: [e.g., Milner’s CCS ] Reason about asynchronous systems Assume the relative speeds of parallel processes are unbounded Focus on analysing the “functional” behaviour of processes Timed process algebras: [e.g., Hennessy and Regan’s TPL] Model synchronous systems (common global clock) Introduce clock preﬁx :P (“one time unit must pass”) and timeout Allow one to use clock ticks for enabling and disabling actions Question: What about faster–than relations in case lower or upper bounds on relative speeds of processes running in parallel are known? Faster–than Relations Seminal paper by Moller and Tofts [1991]: Process–algebraic setting based on CCS (bi/simulation semantics) Processes are attached with lower time bounds. Preorder compares processes wrt. best–case timing behaviour. This talk: Again, an extension of CCS is considered. Processes are attached with upper time bounds, stating how long a process may delay its execution. Preorder compares processes wrt. worst–case timing behaviour. Faster–than relations have been studied extensively for Petri nets and testing semantics [Vogler ], but much less for process algebras and bi/simulation semantics. Timed Asynchronous Communicating Systems Extends CCS by a non–standard clock–preﬁx operator “ :”: :P means that an internal computation or communication of P can be delayed by at most (!) one time unit. Implements a concept of urgency: Intuition: An action in the scope of a clock preﬁx is non–urgent. Example: : :0 + a:0 Action a is urgent, and internal action is non–urgent. Notation: U P denotes the set of all urgent (initial) actions of P . Via a notion of maximal progress: Time can only pass for a process if it cannot engage in an urgent communication or an urgent internal computation. P ,! if and only if 2 U P = Some Syntax and Operational Semantics operator action semantics clock semantics 0 0 ,! 0 :P ,! P :P :P 6 ,! :P , = P ,! P 0 :P ,! P :P :P ,! P 0 P ,! P 0 P ,! P 0 Q ,! Q0 P +Q P + Q ,! P 0 P + Q ,! P 0 + Q0 P ,! P 0 P jQ P jQ ,! P 0 jQ P ,! P 0 Q ,! Q0 a a P ,! P 0 Q ,! Q0 2 U P jQ = P jQ ,! P 0 jQ0 P jQ ,! P 0 jQ0 A Naive Faster–than Preorder ... reﬁning Park and Milner’s notion of bisimulation. Relation A n on processes is the largest relation such that P A Q if, n for all actions : P ,! P 0 implies 9Q0: Q ,! Q0 and P 0 Q0 A n Q ,! Q0 implies 9P 0: P ,! P 0 and P 0 Q0 A n P ,! P 0 implies 9Q0: Q ,! Q0 and P 0 Q0 A n Questions: Are there other sensible candidates for faster–than relations? If so, how do they relate to A ? n Alternative Preorders The delayed faster–than preorder A d is the largest relation on processes such that A P d Q if, for all actions : P ,! P 0 implies 9Q 0 : Q ,! ,! 0 ,! Q and P 0 d Q0 A Q ,! Q0 implies 9P 0: P ,! P 0 and P 0 Q0 A d P ,! P 0 implies 9Q 0 : Q ,!+ Q0 and P 0 d Q0 A Theorem: A d = A n Another variant: What about adding the following clause to A ?n Q ,! Q0 implies P n Q0 A or 9P 0: P ,! P 0 and P 0 Q0 A n Problem: The faster process must match a clock transition of the slower process right away, if at all. Family of Faster–than Preorders Allow the faster process to perform “missed–out” clock transitions later: A P i Q means that P is faster than Q, assuming that P has i clock ticks credit. A P i Q, for i 2 N , if, for all actions : P ,! P 0 implies 9Q0: Q ,! Q0 and P 0 i Q0 A Q ,! Q0 implies 9P 0 : P ,! P 0 and P 0 i Q0 A P ,! P 0 implies (a) 9Q0 : Q ,! Q0 and P 0 i Q0 , or A (b) i 0 and P 0 i,1 Q A Q ,! Q0 implies (a) 9P 0 : P ,! P 0 and P 0 i Q0 , or A (b) P i+1 Q0 A Theorem: A 0 = A n Conclusion: A n is a sensible candidate for a faster–than preorder, as it coincides with two other appealing candidates, but is more simple and robust. A Semantic Theory for n Unfortunately, A n is not yet a precongruence, as it is not compositional wrt. parallel composition: A :a:0 n a:0 :a:0 j a:0 6 n a:0 j a:0 A since :a:0 j a:0 ,! a:0 j a:0, but a:0 j a:0 ,! 6 Faster–than precongruence: A P Q if, for all actions : P ,! P 0 implies 9Q0: Q ,! Q0 and P 0 Q0 A Q ,! Q0 implies 9P 0 : P ,! P 0 and P 0 Q0 A P ,! P 0 implies U Q U P and 9Q0: Q ,! Q0 and P 0 Q0 A Full abstraction: A A is the largest precongruence contained in . n Further Results Conservativity: A P Q implies Q, i.e., reﬁnes bisimulation. P A For –preﬁx–free P; Q : P Q iff Q P iff P Q. A A P –stripP , as well as P ,! P 0 implies P P 0 . Axiomatisation: (complete for ﬁnite, sequential processes) P w :P :P + :Q = P + :Q a:P + :a:Q = a:P + a:Q P + :P = P :P + Q = :P + :Q Note: The law :a:0 j :b:0 = :a:0 j b:0 is valid in most timed process algebras but not here! (Consider the a–transition.) Example: 2–place Storage 1–place buffer: Be =df x: :in:out:x B =df in:out:Be Bf =df out:Be 2–place array: 2 ARR =df Be j Be 2–place buffer: 2 BUF =df Be c=out j Be c=in n fcg Be Be Be Be out out in σ in out in σ σ in σ Bf Be Bσ Bσ Be Bf Bf Be Bσ Be Bσ Bσ σ σ in in σ σ τ in in σ σ in τ Bf Bσ σ σ Bσ Bf Be Bf Bf Bσ out out out out in σ in in in out in Bf Bf in out Bf Bf Bσ Bf in σ in σ σ A Be Bσ Bσ Be Result: 2 ARR 2 BUF ( A is the “weak” variant of A .) Conclusions Developed the bi/simulation–based faster–than preorder A – For a conservative extension of CCS – For asynchronous processes with upper–time bounds Justiﬁed A as reference preorder Investigated the semantic theory of A including – A largest–precongruence result – An axiomatisation for ﬁnite, sequential processes – A corresponding “weak” variant Future work: Extend axiomatisation to cover parallel composition as well as regular processes. Compare the presented setting in detail with Moller and Tofts’ work; integrate models for best–case and worst–case timing behaviour. Revisiting the Second Candidate What about adding the following clause to the deﬁnition of A n (or A )? d Q ,! Q0 implies P n Q0 A or 9P 0: P ,! P 0 and P 0 Q0 A n This is not sensible; consider the processes P :a:0 j a:0 j a:0 and Q :a:0 j :a:0 j a:0. Intuitively: P should be faster than Q. But: Q ,! a:0 j a:0 j a:0 Q0 ; P ,! 6 since 2 U P Problem: P should not be considered faster than Q0 . Analysis: Intuitively, the computation a a Q ,! a:0 j a:0 j a:0 ,! 0 j a:0 j a:0 ,! 0 j 0 j a:0 should be matched by a a P ,! :a:0 j 0 j a:0 ,! a:0 j 0 j a:0 ,! 0 j 0 j a:0 Note that the ﬁrst a occurs earlier in the computation of P , while the second a occurs at the same time.