Comparison of Data and Process Refinement

From what point of view is it reasonable, or possible, to refine a one place buffer into a two place buffer? In order to answer this question we characterise refinement based on substitution in restricted contexts. We see that data refinement (specifically in Z) and process refinement give differing answers to the original question, and we compare the precise circumstances which give rise to this difference by translating programs and processes into labelled transition systems, so providing a common basis upon which to make the comparison. We also look at the closely related area of sub-typing of objects. Along the way we see how all these sorts of computational construct are related as far as refinement is concerned, and discover and characterise some (as far as we can tell) new sorts of refinement.

[1]  Giuseppe Scollo,et al.  Lotos specifications, their implementations and their tests , 1995 .

[2]  Howard Bowman,et al.  Comparing LOTOS and Z Refinement Relations , 1996, FORTE.

[3]  Jonathan P. Bowen,et al.  ZB 2002:Formal Specification and Development in Z and B , 2002, Lecture Notes in Computer Science.

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

[5]  Oscar Nierstrasz,et al.  Regular types for active objects , 1993, OOPSLA '93.

[6]  Wil M. P. van der Aalst,et al.  Inheritance of behavior , 2001, J. Log. Algebraic Methods Program..

[7]  Jonathan P. Bowen,et al.  ZUM '98: The Z Formal Specification Notation , 1998 .

[8]  Jim Davies,et al.  A comparison of refinement orderings and their associated simulation rules , 2002, Refine.

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

[10]  Glynn Winskel,et al.  Models for Concurrency , 1994 .

[11]  Jeannette M. Wing,et al.  Family Values: A Behavioral Notion of Subtyping , 1993 .

[12]  Oscar Nierstrasz,et al.  Object-oriented software composition , 1995 .

[13]  J. C. M. Baeten,et al.  Process Algebra: Bibliography , 1990 .

[14]  Eerke A. Boiten,et al.  Unifying concurrent and relational refinement , 2002, Electron. Notes Theor. Comput. Sci..

[15]  Eerke Albert Boiten,et al.  Refinement in Z and Object-Z: Foundations and Advanced Applications , 2001 .

[16]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[17]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[18]  Heike Wehrheim,et al.  Behavioural Subtyping Relations for Object-Oriented Formalisms , 2000, AMAST.

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

[20]  Carl A. Sunshine,et al.  Protocol Specification, Testing and Verification - Guest Editorial , 1982, Comput. Networks.

[21]  Moshe Deutsch,et al.  Results on formal stepwise design in Z , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[22]  Jim Davies,et al.  A singleton failures semantics for Communicating Sequential Processes , 2006, Formal Aspects of Computing.

[23]  Howard Bowman,et al.  On behavioural subtyping in LOTOS , 1997 .

[24]  C. A. R. Hoare,et al.  Unifying theories of programming , 1998, RelMiCS.

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

[26]  Eerke Albert Boiten REFINE 2002: The BCS FACS Refinement Workshop , 2002 .

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

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

[29]  Howard Bowman,et al.  Consistency of Partial Process Specifications , 1999, AMAST.

[30]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[31]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[32]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[33]  Stuart Anderson,et al.  Diagrams and Programming Languages for Programmable Controllers , 1997, FME.

[34]  Clemens Fischer,et al.  How to Combine Z with Process Algebra , 1998, ZUM.

[35]  Jim Woodcock,et al.  The Semantics of Circus , 2002, ZB.

[36]  Howard Bowman,et al.  Specifying and Refining Internal Operations in Z , 1998, Formal Aspects of Computing.

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

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

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