Communicating sequential processes
Communicating sequential processes
Parallel program design: a foundation
Parallel program design: a foundation
Design and validation of computer protocols
Design and validation of computer protocols
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Functional specification of time-sensitive communicating systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Temporal verification of reactive systems: safety
Temporal verification of reactive systems: safety
Model checking
Verifying Temporal Properties of Reactive Systems: A STeP Tutorial
Formal Methods in System Design
Communicating sequential processes
Communications of the ACM
Symbolic Model Checking
Communication and Concurrency
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
A Trace-Based Refinement Calculus for Shared-Variable Parallel Programs
AMAST '98 Proceedings of the 7th International Conference on Algebraic Methodology and Software Technology
Deductive Verification of Modular Systems
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
Model-Checking: A Tutorial Introduction
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
Deriving Parallel Codes via Invariants
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
Model Checking as Constraint Solving
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
A Transformational Approach for Generating Non-linear Invariants
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
ARTS '97 Proceedings of the 4th International AMAST Workshop on Real-Time Systems and Concurrent and Distributed Software: Transformation-Based Reactive Systems Development
Communication Extended Abstract Types in the Refinement of Parallel Communicating Processes
ARTS '97 Proceedings of the 4th International AMAST Workshop on Real-Time Systems and Concurrent and Distributed Software: Transformation-Based Reactive Systems Development
Temporal Verification of Simulation and Refinement
A Decade of Concurrency, Reflections and Perspectives, REX School/Symposium
STeP: The Stanford Temporal Prover (Educational Release) User''s Manual
STeP: The Stanford Temporal Prover (Educational Release) User''s Manual
A static communication elimination algorithm for distributed system verification
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
Hi-index | 0.00 |
Transformation rules of imperative concurrent programs, based on congruence and refinement relations between statements, are presented. They introduce and/or eliminate synchronous communication statements and parallelism in these programs. The development is made within a subset of SPL, a good representative of imperative notations for concurrent and reactive programs introduced by Manna and Pnueli. The paper shows that no finite set of transformation rules suffices to eliminate synchronous communication statements from programs involving the concatenation and parallelism operators only. An infinite set is given to suit this purpose, which can be applied recursively. As an important complement for the applications, a collection of tactics, for the acceleration of broader transformations, is described. Tactics apply a sequence of rules to a program witha specific transformation objective. The transformation rules and the tactics could be used in formal design to derive new programs from verified ones, preserving their properties, and avoiding the repetition of verifications for the transformed programs. As an example, the formal parallelization of a non-trivial distributed fast Fourier transform algorithm is outlined.