Communicating sequential processes
Communicating sequential processes
Information Processing Letters
Total correctness of CSP programs
Acta Informatica
Current trends in concurrency. Overviews and tutorials
Completeness and incompleteness of trace-based network proof systems
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Compositionality, concurrency and partial correctness
Compositionality, concurrency and partial correctness
REX workshop Proceedings on Stepwise refinement of distributed systems: models, formalisms, correctness
A model and temporal proof system for networks of processes
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A model and proof system for asynchronous networks
Proceedings of the fourth annual ACM symposium on Principles of distributed computing
A Proof System for Communicating Sequential Processes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communicating sequential processes
Communications of the ACM
"Sometime" is sometimes "not never": on the temporal logic of programs
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compositionality and Concurrent Networks: Soundness and Completeness of a Proofsystem
Proceedings of the 12th Colloquium on Automata, Languages and Programming
An Improved Failures Model for Communicating Processes
Seminar on Concurrency, Carnegie-Mellon University
Proving safety and liveness of communicating processes with examples
PODC '82 Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Axiomatic proof techniques for parallel programs.
Axiomatic proof techniques for parallel programs.
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Foundations for Circular Compositional Reasoning
ICALP '01 Proceedings of the 28th International Colloquium on Automata, Languages and Programming,
Lazy Compositional Verification
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
Compositional Reasoning Using the Assumption-Commitment Paradigm
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
The Need for Compositional Proof Systems: A Survey
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
Compositional Proofs for Concurrent Objects
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume I - Volume I
The open family of temporal logics: Annotating temporal operators with input constraints
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Modular verification of multithreaded programs
Theoretical Computer Science
On the completeness of compositional reasoning methods
ACM Transactions on Computational Logic (TOCL)
A refinement calculus for communicating processes with state
IW-FM'97 Proceedings of the 1st Irish conference on Formal Methods
An assume/guarantee based compositional calculus for hybrid CSP
TAMC'12 Proceedings of the 9th Annual international conference on Theory and Applications of Models of Computation
Hi-index | 0.00 |
This paper describes a compositional proof system called P-A logic for establishing weak total correctness and weak divergence correctness of CSP-like distributed programs with synchronous and asynchronous communication. Each process in a network is specified using logical assertions in terms of a presupposition Pre and an affirmation Aff as a triple {Pre}S{Aff}. For purely sequential programs, these triples reduce to the familiar Hoare triples. In distributed programs, P-A triples allow the behaviour of a process to be specified in the context of assumptions about its communications with the other processes in the network. Safety properties of process communications, and progress properties such as finiteness and freedom from divergence can be proved. An extension of P-A logic allowing proof of deadlock freedom is outlined. Finally, proof rules for deriving some liveness properties of a program from its P-A logic specification are discussed; these properties have the form "Q until R", where Q, R are assertions over communication traces. Other liveness properties may be derived from these properties using the rules of temporal logic.