Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bergstra, J.A., Bethke, I., Ponse, A.: Process algebra with iteration and nesting. The Computer Journal 37(4), 243–258 (1994)
Birkhoff, G.: Lattice Theory, 3rd edn. Amer. Math. Soc. (1967)
Bistarelli, S., Montanari, U., Rossi, F.: Semiring-based constraint satisfaction and optimization. J. ACM 44(2), 201–236 (1997)
Boudol, G., Castellani, I.: On the semantics of concurrency: partial orders and transition systems. In: Ehrig, H., Levi, G., Montanari, U. (eds.) CAAP 1987 and TAPSOFT 1987. LNCS, vol. 249, pp. 123–137. Springer, Heidelberg (1987)
Chothia, T., Kleijn, J.: Q-Automata: modelling the resource usage of concurrent components. Electr. Notes Theor. Comput. Sci. 175(2), 153–167 (2007)
Cohen, E.: Separation and reduction. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 45–59. Springer, Heidelberg (2000)
Conway, J.: Regular Algebra and Finite Machines. Chapman & Hall, Sydney (1971)
Desharnais, J., Möller, B., Struth, G.: Kleene Algebra with domain. Trans. Computational Logic 7, 798–833 (2006)
Gischer, J.: Partial orders and the axiomatic theory of shuffle. PhD thesis, Stanford University (1984)
Grabowski, J.: On partial languages. Fundamenta Informaticae 4(1), 427–498 (1981)
Groote, J., Mathijssen, A., van Weerdenburg, M., Usenko, Y.: From μCRL to mCRL2: motivation and outline. In: Proc. Workshop Essays on Algebraic Process Calculi (APC 25). ENTCS, vol. 162, pp. 191–196 (2006)
Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12, 576–585 (1969)
Hoare, C.A.R.: Communicating sequential processes. Prentice Hall, Englewood Cliffs (1985)
Hoare, C.A.R., Möller, B., Struth, G., Wehrman, I.: Concurrent Kleene Algebra. Institut für Informatik, Universität Augsburg, Technical Report 2009-04 (April 2009)
Hoare, C.A.R., Möller, B., Struth, G., Wehrman, I.: Foundations of Concurrent Kleene Algebra. In: Berghmmar, R., Jaoua, A., Möller, B. (eds.) Relations and kleene Algebra in Computer Science. Proc. 11th International Conference on Relational Methods in Computer Science (RelMiCS 11) and 6th International Conference on Applications of Kleene Algebra (AKA 6), Doha, Qatar, November 1–5. LNCS, vol. 5827. Springer, Heidelberg (2009) (forthcoming)
Hoare, C.A.R., Wehrman, I., O’Hearn, P.: Graphical models of separation logic. In: Proc. Marktoberdorf Summer School (forthcoming, 2008)
Jones, C.: Development methods for computer programs including a notion of interference. PhD Thesis, University of Oxford. Programming Research Group, Technical Monograph 25 (1981)
Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation 110, 366–390 (1994)
Kozen, D.: Kleene algebra with tests. Trans. Programming Languages and Systems 19, 427–443 (1997)
Mac Lane, S.: Categories for the working mathematician, 2nd edn. Springer, Heidelberg (1998)
Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)
Misra, J.: Axioms for memory access in asynchronous hardware systems. ACM Trans. Program. Lang. Syst. 8, 142–153 (1986)
Morgan, C.: Programming from Specifications. Prentice Hall, Englewood Cliffs (1990)
Mulvey, C.: Rendiconti del Circolo Matematico di Palermo 12, 99–104 (1986)
O’Hearn, P.: Resources, concurrency, and local reasoning. Theor. Comput. Sci. 375, 271–307 (2007)
Pratt, V.R.: Modelling concurrency with partial orders. Journal of Parallel Programming 15(1) (1986)
Prisacariu, C.: Extending Kleene lgebra with synchrony — technicalities. University of Oslo, Department of Informatics, Research Report No. 376 (October 2008)
McCune, W.: Prover9 and Mace4, http://www.prover9.org/ (accessed March 1, 2009)
Rosenthal, K.: Quantales and their applications. Pitman Research Notes in Math. No. 234. Longman Scientific and Technical (1990)
Sangiorgi, D., Walker, D.: The π-calculus — A theory of mobile processes. Cambridge University Press, Cambridge (2001)
Winskel, G.: Event structures. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986. LNCS, vol. 255, pp. 325–392. Springer, Heidelberg (1987)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hoare, C.A.R.T., Möller, B., Struth, G., Wehrman, I. (2009). Concurrent Kleene Algebra. In: Bravetti, M., Zavattaro, G. (eds) CONCUR 2009 - Concurrency Theory. CONCUR 2009. Lecture Notes in Computer Science, vol 5710. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04081-8_27
Download citation
DOI: https://doi.org/10.1007/978-3-642-04081-8_27
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04080-1
Online ISBN: 978-3-642-04081-8
eBook Packages: Computer ScienceComputer Science (R0)