Specifying Concurrent Program Modules
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
The Science of Programming
First-Order Dynamic Logic
A Discipline of Programming
How to cook a temporal proof system for your pet language
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Impartiality, Justice and Fairness: The Ethics of Concurrent Termination
Proceedings of the 8th Colloquium on Automata, Languages and Programming
Proving Precedence Properties: The Temporal Way
Proceedings of the 10th Colloquium on Automata, Languages and Programming
Proceedings of the 11th Colloquium on Automata, Languages and Programming
Modal Logic of Concurrent Nondeterministic Programs
Proceedings of the International Sympoisum on Semantics of Concurrent Computation
A Proof System for Partial Correctness of Dynamic Networks of Processes (Extended Abstract)
Proceedings of the Carnegie Mellon Workshop on Logic of Programs
Some Observations on Compositional Semantics
Logic of Programs, Workshop
An Axiomatization of the Intermittent Assertion Method Using Temporal Logic (Extended Abstract)
Proceedings of the 10th Colloquium on Automata, Languages and Programming
On the Algorithmic Properties of Concurrent Programs
Logic of Programs, Workshop
Verifying temporal properties without temporal logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
Hi-index | 0.00 |
This paper addresses the problem of obtaining formal proof systems that support reasoning about temporal properties of parallel programs in a way that is compositional or 'syntax directed' - the distinctive feature of e.g. Hoare style proof systems. Now, temporal properties of programs express properties about execution traces of these programs. In the presence of concurrency, compositionality is obtained by concentrating exclusively on the execution traces associated with the atomic actions of programs - the so-called transitions of those programs. To reason about such transitions in a compositional way, 'Transition Logic' is proposed, expressing properties of the form “every transition of a program, say &agr;, that starts in a state satisfying assertion p, must end in a state validating ”: [p]&agr;[q]. Essential is that these assertions can express properties of control locations of programs, too. For this logic, a compositional proof system is obtained which is proved to be sound and relatively complete. An interesting feature of the proof system is the axiomatization of the flow-of-control of programs. The relevance of this logic is supported by the fact that the temporal behaviour of a program is ultimately provable in terms of properties of its transitions, as shown by the work of Z. Manna and A. Pnueli [16].