A Theory of Communicating Sequential Processes
Journal of the ACM (JACM)
A theory for nondeterminism, parallelism, communication, and concurrency
Theoretical Computer Science
ACM Transactions on Programming Languages and Systems (TOPLAS)
A generalization of Owicki-Gries's Hoare logic for a concurrent while language
Theoretical Computer Science - Thirteenth International Colloquim on Automata, Languages and Programming, Renne
Verification of sequential and concurrent programs
Verification of sequential and concurrent programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Trace-Based Refinement Calculus for Shared-Variable Parallel Programs
AMAST '98 Proceedings of the 7th International Conference on Algebraic Methodology and Software Technology
The Failure of Failures in a Paradigm for Asynchronous Communication
CONCUR '91 Proceedings of the 2nd International Conference on Concurrency Theory
On the Semantics of Fair Parallelism
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
Stepwise Refinement of Action Systems
Proceedings of the International Conference on Mathematics of Program Construction, 375th Anniversary of the Groningen University
A hoare calculus for the verification of synchronous languages
PLPV '12 Proceedings of the sixth workshop on Programming languages meets program verification
Hi-index | 0.00 |
A formal framework for the design of distributed, message-passing programs from shared-variable parallel programs is presented. Based on a uniform semantic model for both paradigms and a trace-based refinement calculus, we show how a shared-variable parallel program can be refined into a distributed program. The calculus is used to introduce iteration, parallelism, and local channels, to replace access to shared variables by message-passing primitives, and to update the channels such that processes find the expected information on the expected channels at the right time. The methodology is illustrated with the development of a distributed implementation of an all-pair, shortest-paths algorithm.