Tags:Action Algebra, Calculus of Communicating Systems (CCS), Cartesian Coordinates, Communicating Sequential Processes (CSP), Concurrent Kleene Algebra, Concurrent Separation Logic (CSL), Discrete Euclidian Geometry, the Unified Modelling Language (UML and Unifying Theories of Programming (UTP)
Abstract:
The calculus formalises human intuition and common sense about space, time, and causality in the natural world. Its intention is to assist in the design and implementation of programs, of programming languages, and of interworking by tool chains that support rational program development.
The theses of this paper are that Concurrent Kleene Algebra (CKA) is the algebra of programming, that the diagrams of the Unified Modeling Language provide its geometry, and that Unifying Theories of Programming (UTP) provides its logic. These theses are illustrated by a formalisation of features of the first concurrent object-oriented language, Simula 67. Each level of the calculus is a conservative extension of its predecessor.
We conclude the paper with an extended section on future research directions for developing and applying UTP, CKA, and our calculus, and on how we propose to implement our algebra, geometry, and logic.
A Calculus of Space, Time and Causality: its Algebra, Geometry, Logic