A Calculus of Space, Time, and Causality: its Algebra, Geometry, Logic

Tony Hoare, Georg Struth, James Charles Paul Woodcock

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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 Program- ming (UTP) provides its logic. These theses are illustrated by a fomalisation 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.
Original languageEnglish
Title of host publicationUnifying Theories of Programming
Subtitle of host publication7th International Symposium, UTP 2019, Dedicated to Tony Hoare on the Occasion of His 85th Birthday, Porto, Portugal, October 8, 2019, Proceedings
EditorsPedro Ribeiro, Augusto Sampaio
PublisherSpringer
ISBN (Electronic)978-3-030-31038-7
ISBN (Print)978-3-030-31037-0
DOIs
Publication statusPublished - 4 Nov 2019

Publication series

NameLecture Notes in Computer Science
Volume11885

Keywords

  • Concurrent Kleene Algebra (CKA)
  • Concurrent Separation Logic (CSL)
  • Calculus of Communicating Systems (CCS)
  • Communicating Sequential Processes (CSP)
  • Action Algebra
  • Discrete Euclidian Geometry
  • Cartesian Coordinates
  • Unified Modeling Language (UML)
  • Unifying Theories of Programming (UTP)

Cite this