A theoretical basis for stepwise refinement and the programming calculus
Science of Computer Programming
Programming from specifications
Programming from specifications
The ``Hoare Logic'' of CSP, and All That
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
Concurrency verification: introduction to compositional and noncompositional methods
Concurrency verification: introduction to compositional and noncompositional methods
A Discipline of Programming
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
Decentralization of process nets with centralized control
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
The Denotational Semantics of slotted-Circus
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Composing specifications of event based applications
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
Unifying theories in proofpower-z
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
Operational semantics for model checking circus
FM'05 Proceedings of the 2005 international conference on Formal Methods
Hi-index | 0.00 |
We are developing a shared-variable refinement calculus in the style of the sequential calculi of Back, Morgan, and Morris. As part of this work, we're studying different theories of shared-variable programming. Using the concepts and notations of Hoare & He's unifying theories of programming (UTP), we give a formal semantics to a programming language that contains sequential composition, conditional statements, while loops, nested parallel composition, and shared variables. We first give a UTP semantics to labelled action systems, and then use this to give the semantics of our programs. Labelled action systems have a unique normal form that allows a simple formalisation and validation of different logics for reasoning about shared-variable programs. In this paper, we demonstrate how this is done for Lamport's Concurrent Hoare Logic.