Derrick, J. and Boiten, E.A. (2003) Relational Concurrent Refinement. Formal Aspects of Computing, 15 (2-3). pp. 182-214. ISSN 0934-5043.
|The full text of this publication is not available from this repository. (Contact us about this Publication)|
Refinement in a concurrent context, as typified by a process algebra, takes a number of different forms depending on what is considered observable. Observations record, for example, which events a system is prepared to accept or refuse. Concurrent refinement relations include trace refinement, failures-divergences refinement, readiness refinement and bisimulation. Refinement in a state-based language such as Z, on the other hand, is defined using a relational model in terms of the input-output behaviour of abstract programs. These refinements are normally verified by using two simulation rules which help make the verification tractable. This paper unifies these two standpoints by generalising the standard relational model to include additional observable aspects. These are chosen in such a way that they represent exactly the notions of observation embedded in the various concurrent refinement relations. As a consequence, simulation rules for the tractable verification of concurrent refinement can be derived. We develop such simulation rules for failures-divergences refinement and readiness refinement in particular, using an alternative relational model in the latter case.
|Uncontrolled keywords:||refinement, Z, CSP, failures, refusals, readiness, relations, process algebra, simulations, upward, downward, finalisation|
|Subjects:||Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,|
|Divisions:||Faculties > Science Technology and Medical Studies > School of Computing > Systems Architecture Group|
|Depositing User:||Mark Wheadon|
|Date Deposited:||24 Nov 2008 18:00|
|Last Modified:||12 Jun 2012 14:03|
|Resource URI:||http://kar.kent.ac.uk/id/eprint/13890 (The current URI for this page, for reference purposes)|
- Depositors only (login required):