TY - JOUR A1 - Hoare, Tony A1 - van Staden, Stephan A1 - Möller, Bernhard A1 - Struth, Georg A1 - Zhu, Huibiao T1 - Developments in concurrent Kleene algebra T2 - Journal of Logical and Algebraic Methods in Programming N2 - This report summarises the background and recent progress in the research of its co-authors. It is aimed at the construction of links between algebraic presentations of the principles of programming and the exploitation of concurrency in modern programming practice. The signature and laws of a Concurrent Kleene Algebra (CKA) largely overlap with those of a Regular Algebra, with the addition of concurrent composition and a few simple laws for it. They are re-interpreted here in application to computer programs. The inclusion relation for regular expressions is re-interpreted as a refinement ordering, which supports a stepwise contractual approach to software system design and to program debugging. The laws are supported by a hierarchy of models, applicable and adaptable to a range of different purposes and to a range of different programming languages. The algebra is presented in three tiers. The bottom tier defines traces of program execution, represented as sets of events that have occurred in a particular run of a program; the middle tier defines a program as the set of traces of all its possible behaviours. The top tier introduces additional incomputable operators, which are useful for describing the desired or undesired properties of computer program behaviour. The final sections outline directions in which further research is needed. Y1 - 2016 UR - https://opus.bibliothek.uni-augsburg.de/opus4/frontdoor/index/index/docId/68900 UR - https://nbn-resolving.org/urn:nbn:de:bvb:384-opus4-689008 SN - 2352-2208 VL - 85 IS - 4 SP - 617 EP - 636 PB - Elsevier BV ER -