A singleton failures semantics for Communicating Sequential Processes

This paper defines a new denotational semantics for the language of Communicating Sequential Processes (CSP). The semantics lies between the existing traces and failures models of CSP, providing a treatment of non-determinism in terms of singleton failures. Although the semantics does not represent a congruence upon the full language, it is adequate for sequential tests of non-deterministic processes. This semantics corresponds exactly to a commonly used notion of data refinement in Z and Object-Z: an abstract data type is refined when the corresponding process is refined in terms of singleton failures. The semantics is used to explore the relationship between data refinement and process refinement, and to derive a rule for data refinement that is both sound and complete.

[1]  Ralph-Johan Back,et al.  Decentralization of Process Nets with Centralized Control , 1983, PODC.

[2]  Clemens Fischer Combination and implementation of processes and data: from CSP-OZ to Java , 2000 .

[3]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[4]  Graeme Smith,et al.  A Semantic Integration of Object-Z and CSP for the Specification of Concurrent Systems , 1997, FME.

[5]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[6]  Jim Woodcock,et al.  On the Refinement and Simulation of Data Types and Processes , 1999, IFM.

[7]  R. J. vanGlabbeek The linear time - branching time spectrum , 1990 .

[8]  C. A. R. Hoare,et al.  Data Refinement Refined , 1986, ESOP.

[9]  DPhil John Derrick BSc,et al.  Refinement in Z and Object-Z , 2001, Formal Approaches to Computing and Information Technology.

[10]  Michael J. Butler A CSP approach to action systems , 1992 .

[11]  Jim Davies,et al.  Refinement in Object-Z and CSP , 2002, IFM.

[12]  Howard Bowman,et al.  A Junction between State Based and Behavioural Specification (Invited Talk) , 1999, FMOODS.

[13]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[14]  C. A. R. Hoare,et al.  Prespecification in Data Refinement , 1987, Inf. Process. Lett..

[15]  Kai Engelhardt,et al.  Data Refinement: Model-Oriented Proof Methods and their Comparison , 1998 .

[16]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[17]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[18]  Roger Duke,et al.  Formal Object Oriented Specification Using Object-Z , 2000 .

[19]  Jim Davies Abstract data types and Processes , 2000 .

[20]  W. H. J. Feijen,et al.  Beauty Is Our Business: A Birthday Salute to Edsger W.Dijkstra , 1990 .

[21]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[22]  Mark B. Josephs A state-based approach to communicating processes , 2005, Distributed Computing.

[23]  Carroll Morgan,et al.  Of wp and CSP , 1990 .

[24]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[25]  Christie Marr,et al.  On the refinement of state-based and event-based models , 2002 .

[26]  Robert Worden The Process of Refinement , 1991 .

[27]  Cliff B. Jones,et al.  The Early Search for Tractable Ways of Reasoning about Programs , 2003, IEEE Ann. Hist. Comput..

[28]  John Derrick,et al.  Refinement and verification of concurrent systems specified in Object-Z and CSP , 1997, First IEEE International Conference on Formal Engineering Methods.

[29]  Jim Woodcock,et al.  Refinement of State-Based Concurrent Systems , 1990, VDM Europe.

[30]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[31]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[32]  Graeme Smith,et al.  A fully abstract semantics of classes for Object-Z , 1995, Formal Aspects of Computing.