Priority in Process Algebra

This paper surveys the semantic ramifications of extending traditional process algebras with notions of priority that allow for some transitions to be given precedence over others. These enriched formalisms allow one to model system features such as interrupts, prioritized choice, or real-time behavior. Approaches to priority in process algebras can be classified according to whether the induced notion of pre-emption on transitions is global or local and whether priorities are static or dynamic. Early work in the area concentrated on global pre-emption and static priorities and led to formalisms for modeling interrupts and aspects of real-time, such as maximal progress, in centralized computing environments. More recent research has investigated localized notions of pre-emption in which the distribution of systems is taken into account, as well as dynamic priority approaches, i.e., those where priority values may change as systems evolve. The latter allows one to model behavioral phenomena such as scheduling algorithms and also enables the efficient encoding of real-time semantics. Technically, this paper studies the different models of priorities by presenting extensions of Milner''s Calculus of Communicating Systems (CCS) with static and dynamic priority as well as with notions of global and local pre-emption. In each case the operational semantics of CCS is modified appropriately, behavioral theories based on strong and weak bisimulation are given, and related approaches for different process-algebraic settings are discussed.

[1]  Rance Cleaveland,et al.  Priorities in process algebras , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[2]  Steven M. German,et al.  Programming in a General Model of Synchronization , 1992, CONCUR.

[3]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[4]  Glynn Winskel,et al.  CCS with Priority Choice , 1995, Inf. Comput..

[5]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[6]  Roberto Gorrieri,et al.  Extended Markovian Process Algebra , 1996, CONCUR.

[7]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[8]  Jan A. Bergstra,et al.  Syntax and defining equations for an interrupt mechanism in process algebra , 1985 .

[9]  Robin Milner,et al.  A Complete Axiomatisation for Observational Congruence of Finite-State Behaviors , 1989, Inf. Comput..

[10]  Insup Lee,et al.  CCSR: A Calculus for Communicating Shared Resources , 1990, CONCUR.

[11]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[12]  Insup Lee,et al.  CCSR 92: Calculus for Communicating Shared Resources with Dynamic Priorities , 1992, NAPAW.

[13]  Alan Jeffrey,et al.  Translating Timed Process Algebra into Prioritized Process Algebra , 1992, FTRTFT.

[14]  Matthew Hennessy An Algebraic Theory of Fair Synchronous Communicating Processes , 1987, Theor. Comput. Sci..

[15]  Madhavan Mukund,et al.  CCS, Locations and Asynchronous Transition Systems , 1992 .

[16]  Twan Basten,et al.  Partial-Order Process Algebra (and its Relation to Petri Nets) , 2001, Handbook of Process Algebra.

[17]  Roberto Gorrieri,et al.  A Tutorial on EMPA: A Theory of Concurrent Processes with Nondeterminism, Priorities, Probabilities and Time , 1998, Theor. Comput. Sci..

[18]  Chris Verhoef,et al.  A Congruence Theorem for Structured Operational Semantics with Predicates and Negative Premises , 1994, Nord. J. Comput..

[19]  Gerald Lüttgen Pre-emptive modeling of concurrent and distributed systems , 1998, Berichte aus der Informatik.

[20]  Rance Cleaveland,et al.  Modeling and Verifying Distributed Systems Using Priorities: A Case Study , 1996, Softw. Concepts Tools.

[21]  Holger Hermanns,et al.  Priority and maximal progress are completely axiomatisable , 1998 .

[22]  Colin J. Fidge,et al.  A formal definition of priority in CSP , 1993, TOPL.

[23]  Rance Cleaveland,et al.  Statecharts Via Process Algebra , 1999, CONCUR.

[24]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[25]  Rance Cleaveland,et al.  A Process Algebra with Distributed Priorities , 1996, Theor. Comput. Sci..

[26]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[27]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[28]  Rance Cleaveland,et al.  An Algebraic Theory of Multiple Clocks , 1997, CONCUR.

[29]  Jan A. Bergstra,et al.  Algebra of Communicating Processes with Abstraction , 1985, Theor. Comput. Sci..

[30]  Gérard Berry,et al.  Preemption in Concurrent Systems , 1993, FSTTCS.

[31]  Leslie Lamport What it means for a concurrent program to satisfy a specification: why no one has specified priority , 1985, POPL '85.

[32]  K. V. S. Prasad Broadcasting with Priority , 1994, ESOP.

[33]  Jim Davies,et al.  A Brief History of Timed CSP , 1995, Theor. Comput. Sci..

[34]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[35]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[36]  K. V. S. Prasad Programming with Broadcasts , 1993, CONCUR.

[37]  Jan A. Bergstra,et al.  Discrete Time Process Algebra and the Semantics of SDL , 1998, Handbook of Process Algebra.

[38]  Insup Lee,et al.  A Resource-Based Prioritized Bisimulation for Real-Time Systems , 1992, Inf. Comput..

[39]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[40]  Wang Yi,et al.  CCS + Time = An Interleaving Model for Real Time Systems , 1991, ICALP.

[41]  Mario Bravetti,et al.  Interactive Generalized Semi-Markov Processes , 1999 .

[42]  Corrado Priami,et al.  Causality for Mobile Processes , 1995, ICALP.

[43]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .

[44]  Scott A. Smolka,et al.  A Compositional Semantics for Statecharts using Labeled Transition Systems , 1994, CONCUR.

[45]  Holger Hermanns,et al.  Formal Characterisation of Immediate Actions in SPA with Nondeterministic Branching , 1995, Comput. J..

[46]  Francesca Levi,et al.  Verification of Temporal and Real-Time Properties of Statecharts , 1997 .

[47]  Inmos Limited,et al.  Occam Programming Manual , 1984 .

[48]  Geoff Barrett The Semantics of Priority and Fairness in occam , 1989, Mathematical Foundations of Programming Semantics.

[49]  Insup Lee,et al.  A Complete Axiomatization of Finite-State ACSR Processes , 1997, Inf. Comput..

[50]  Gavin Lowe,et al.  Probabilistic and Prioritized Models of Timed CSP , 1995, Theor. Comput. Sci..

[51]  Rance Cleaveland,et al.  Priority and abstraction in process algebra , 1994, Inf. Comput..

[52]  Girish Bhat,et al.  A practical approach to implementing real-time semantics , 1999, Ann. Softw. Eng..

[53]  Insup Lee,et al.  A Process Algebra of Communicating Shared Resources with Dense Time and Priorities , 1997, Theor. Comput. Sci..

[54]  Mario Bravetti,et al.  A Complete Axiomatization for Observational Congruence of Prioritized Finite-State Behaviors , 2000, ICALP.

[55]  Luca Aceto,et al.  Structural Operational Semantics , 1999, Handbook of Process Algebra.

[56]  Maciej Koutny,et al.  Petri Net Semantics of Priority Systems , 1992, Theor. Comput. Sci..

[57]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[58]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[59]  Faron Moller,et al.  A Temporal Calculus of Communicating Systems , 1990, CONCUR.

[60]  Hans A. Hansson,et al.  A Process Calculus with Incomparable Priorities , 1992, NAPAW.

[61]  Ugo Montanari,et al.  Location Equivalence in Parametric Setting , 1995, Theor. Comput. Sci..

[62]  Maciej Koutny,et al.  Semantics of Inhibitor Nets , 1995, Inf. Comput..

[63]  Matthew Hennessy,et al.  Observing Localities , 1993, Theor. Comput. Sci..

[64]  Bernhard Steffen,et al.  Reactive, generative, and stratified models of probabilistic processes , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.