School of Computing

Relational concurrent refinement

John Derrick and Eerke Boiten

Formal Aspects of Computing, 15(2-3):182-196, November 2003.


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.

Bibtex Record

author = {John Derrick and Eerke Boiten},
title = {Relational Concurrent Refinement},
month = {November},
year = {2003},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    publication_type = {article},
    submission_id = {26292_1070541209},
    ISSN = {0934-5043},
    journal = {Formal Aspects of Computing},
    volume = {15},
    number = {2-3},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014