Communicating sequential processes
Communicating sequential processes
A theoretical basis for stepwise refinement and the programming calculus
Science of Computer Programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
A calculus of refinements for program derivations
Acta Informatica
A Relational Notation for State Transition Systems
IEEE Transactions on Software Engineering
Refinement calculus, part I: sequential nondeterministic programs
REX workshop Proceedings on Stepwise refinement of distributed systems: models, formalisms, correctness
Programming from specifications
Programming from specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Stepwise refinement of communicating systems
Science of Computer Programming
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
An axiomatic basis for computer programming
Communications of the ACM
A Discipline of Programming
Stepwise Refinement of Action Systems
Proceedings of the International Conference on Mathematics of Program Construction, 375th Anniversary of the Groningen University
Refinement Calculus, Part II: Parallel and Reactive Programs
Stepwise Refinement of Distributed Systems, Models, Formalisms, Correctness, REX Workshop
Decentralization of process nets with centralized control
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
Hi-index | 0.00 |
We present a method to derive sequential program specifications from system models. We use an event based approach to model systems, as it allows us to specify parallel, concurrent and distributed systems. We refine the specification of a system until we have introduced all the events needed by its components to interact with the environment. Then, we derive an environment specification and a specification for each component. We use pre-conditions and post-conditions in these specifications, so that they can be implemented using the classical refinement relation for sequential programs. The derived components share the environment module to interact with each other.