Abstract
Hoare's Communicating Sequential Processes (CSP) [C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1985] admits a rich universe of semantic models. In this paper we study finite observational models, of which at least six have been identified for CSP, namely traces, failures, revivals, acceptances, refusal testing and finite linear observations [A.W. Roscoe. Revivals, stuckness and the hierarchy of CSP models. The Journal of Logic and Algebraic Programming, 78(3):163–190, 2009]. We show how to use the recently-introduced priority operator ([A.W. Roscoe. Understanding Concurrent Systems. Texts in Computer Science. Springer, 2010], ch.20) to transform refinement questions in these models into trace refinement (language inclusion) tests. Furthermore, we are able to generalise this to any (rational) finite observational model. As well as being of theoretical interest, this is of practical significance since the state-of-the-art refinement checking tool FDR3 [Thomas Gibson-Robinson, Philip Armstrong, Alexandre Boulgakov, and A.W. Roscoe. FDR3 – a modern refinement checker for CSP. In Tools and Algorithms for the Construction and Analysis of Systems, pages 187–201. Springer, 2014] currently only supports two such models.
Highlights
A number of different forms of process calculus have been developed for the modeling of concurrent programs, including Hoare’s Communicating Sequential Processes (CSP) [6], Milner’s Calculus of Communicating Systems (CCS) [7], and the π-calculus [8]
We study finite linear-time observational models for CSP; that is, models where all observations considered can be determined in a finite time by an experimenter who can see the visible events a process communicates and the sets of events it can offer in any stable state
We consider precisely the models which are derivable from the observations of FL, which are well-defined in the sense that they are compositional over CSP syntax, and which respect extension of the alphabet Σ
Summary
A number of different forms of process calculus have been developed for the modeling of concurrent programs, including Hoare’s Communicating Sequential Processes (CSP) [6], Milner’s Calculus of Communicating Systems (CCS) [7], and the π-calculus [8]. Unlike the latter two, CSP’s semantics are traditionally given in behavioural semantic models coarser than bisimulation. Roscoe / Electronic Notes in Theoretical Computer Science 325 (2016) 237–252 At least six such models have been considered for CSP, but the state-of-the art refinement checking tool, FDR3 [4], currently only supports two, namely traces and failures (it supports the failures-divergences model, which is not finite observational).
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.