Concurrent Kleene Algebra

A concurrent Kleene algebra offers, next to choice and iteration, operators for sequential and concurrent composition, related by an inequational form of the exchange law. We show applicability of the algebra to a partially-ordered trace model of program execution semantics and demonstrate its usefulness by validating familiar proof rules for sequential programs (Hoare triples) and for concurrent ones (Jones's rely/guarantee calculus). This involves an algebraic notion of invariants; for these the exchange inequation strengthens to an equational distributivity law. Most of our reasoning has been checked by computer.

[1]  Tom Chothia,et al.  Q-Automata: Modelling the Resource Usage of Concurrent Components , 2007, FOCLASA.

[2]  Ernie Cohen,et al.  Separation and Reduction , 2000, MPC.

[3]  Georg Struth,et al.  Kleene algebra with domain , 2003, TOCL.

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

[5]  Dexter Kozen,et al.  Kleene algebra with tests , 1997, TOPL.

[6]  Jay Loren Gischer,et al.  Partial orders and the axiomatic theory of shuffle (pomsets) , 1985 .

[7]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[8]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[9]  Glynn Winskel,et al.  Event Structures , 1986, Advances in Petri Nets.

[10]  K. I. Rosenthal Quantales and their applications , 1990 .

[11]  Jayadev Misra Axioms for memory access in asynchronous hardware systems , 1986, TOPL.

[12]  Peter W. O'Hearn,et al.  Graphical models of separation logic , 2009, Inf. Process. Lett..

[13]  Peter W. O'Hearn,et al.  Resources, concurrency, and local reasoning , 2007 .

[14]  Georg Struth,et al.  Foundations of Concurrent Kleene Algebra , 2009, RelMiCS.

[15]  J. Conway Regular algebra and finite machines , 1971 .

[16]  Peter W. O'Hearn,et al.  Resources, Concurrency and Local Reasoning , 2004, CONCUR.

[17]  Cliff B. Jones,et al.  Developing methods for computer programs including a notion of interference , 1981 .

[18]  Jan A. Bergstra,et al.  Process Algebra with Iteration and Nesting , 1994, Comput. J..

[19]  J. Grabowski,et al.  On partial languages , 1981, Fundam. Informaticae.

[20]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[21]  Dexter Kozen A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events , 1994, Inf. Comput..

[22]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[23]  Francesca Rossi,et al.  Semiring-based constraint satisfaction and optimization , 1997, JACM.

[24]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[25]  Peter MacHale,et al.  1 = x/x , 2009, The Mathematical Gazette.

[26]  Vaughan R. Pratt,et al.  Modeling concurrency with partial orders , 1986, International Journal of Parallel Programming.

[27]  Ilaria Castellani,et al.  On the Semantics of Concurrency: Partial Orders and Transition Systems , 1987, TAPSOFT, Vol.1.

[28]  Sulla Derivabilita,et al.  RENDICONTI DEL CIRCOLO MATEMATICO DI PALERMO , 2008 .

[29]  Jan Friso Groote,et al.  From µCRL to mCRL2: Motivation and Outline , 2006, Electron. Notes Theor. Comput. Sci..

[30]  Grzegorz Rozenberg,et al.  Advances in Petri Nets 1985 , 1985, Lecture Notes in Computer Science.

[31]  Bernhard Möller,et al.  Relations and Kleene Algebras in Computer Science , 2008, J. Log. Algebraic Methods Program..