Communicating sequential processes
Communicating sequential processes
A calculus of broadcasting systems
ESOP '94 Selected papers of ESOP '94, the 5th European symposium on Programming
Communication and Concurrency
Information and Computation
Filtering Retrenchments into Refinements
SEFM '06 Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods
Formal program development with approximations
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
General Refinement, Part One: Interfaces, Determinism and Special Refinement
Electronic Notes in Theoretical Computer Science (ENTCS)
Guarded Operations, Refinement and Simulation
Electronic Notes in Theoretical Computer Science (ENTCS)
A Robust Semantics Hides Fewer Errors
FM '09 Proceedings of the 2nd World Congress on Formal Methods
On model compatibility with referees and contexts
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
In the previous, companion, paper [Reeves, S. and D. Streader, General refinement, part one: interfaces, determinism and special refinement, Proceedings of Refine 2008, Electronic Notes in Theoretical Computer Science (2008).] to this paper we introduced our general model of refinement, discussed ideas around determinism and interfaces that the general definition raised, and gave several examples showing how the general definition could be specialised to the sorts of refinement we see in the literature. In this paper we continue the story and we define vertical refinement on our general model. Vertical refinement can be seen as a generalisation of what, in the literature, has been called action refinement or non-atomic refinement. Alternatively, by viewing a special model (from the previous paper) as a logical theory, vertical refinement can be seen as a theory morphism, formalised as a Galois connection. We give an example of the utility of this definition by constructing a vertical refinement between broadcast processes and interactive branching programs, and we see how interactive branching programs can be implemented on a platform which provides broadcast communication. We also show how developments that fall outside the usual, special theories of refinement can be brought into the refinement world by giving examples of development which were thought not to be possible using refinement. Throughout, the central, simple idea of refinement as a development process that moves from abstract to concrete while preserving certain valuable guarantees will guide us.