Minimally and Maximally Abstract Retrenchments

The drawbacks of using refinement alone in the construction of specifications from simple abstract models is used as the spur for the introduction of retrenchment -- a method based on the main ideas of refinement but one which is more liberal in character. The basics of the retrenchment mechanism are reviewed in preparation for exploring its integration with refinement. The particular aspect of integration investigated in this paper is the factorisation of a retrenchment step from an abstract to a concrete model into a refinement followed by a retrenchment. The objective is to engineer a system which is at the level of abstraction of the concrete model, but is refinable from the abstract one. The construction given here solves the problem in a universal manner, there being a canonical factorisation of the original retrenchment into an I/O-filtered refinement to the universal system followed by a retrenchment. The universal property arises from the fact that the refinement component of any similar factorisation is refinable to the universal system. An idempotence property supports the claim that the construction is at the correct level of abstraction. A synopsis of an earlier result which factorised a retrenchment step into a canonical retrenchment to a universal system followed by a refinement is presented. A refinement relationship is then shown to exist between the two universal systems. Finally, the consequences of including termination criteria are briefly explored.

[1]  Cliff B. Jones,et al.  Systematic software development using VDM (2. ed.) , 1990, Prentice Hall International Series in Computer Science.

[2]  Richard Banach,et al.  Retrenchment and Punctured Simulation , 1999, IFM.

[3]  Richard Banach,et al.  Maximally abstract retrenchments , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.

[4]  Peter J. L. Wallis,et al.  Refinement methods and refinement calculi , 1992, Softw. Eng. J..

[5]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .

[6]  Colin J. Fidge,et al.  Incremental Development of Real-Time Requirements: The Light Control Case Study , 2000, J. Univers. Comput. Sci..

[7]  Willem-Paul de Roever,et al.  Data Refinement: Theory , 1998 .

[8]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[9]  Willem-Paul de Roever,et al.  Data Refinement by Willem-Paul de Roever , 1998 .

[10]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[11]  Richard Banach,et al.  Retrenchment, Refinement, and Simulation , 2000, ZB.

[12]  Eerke Albert Boiten,et al.  IO-refinement in Z , 1998, FM-Trends 1998.

[13]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[14]  Shaoying Liu Evolution: a more practical approach than refinement for software development , 1997, Proceedings. Third IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.97TB100168).

[15]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[16]  Jim Woodcock,et al.  More Powerful Z Data Refinement: Pushing the State of the Art in Industrial Refinement , 1998, ZUM.

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

[18]  Richard Banach,et al.  Retrenchment: Extending Refinement for Continuous and Control Systems , 2000, IWFM.

[19]  R. Banacha,et al.  Retrenchment : An Engineering Variation on Refinement , 2022 .

[20]  Graeme Smith Stepwise development from ideal specifications , 2000, Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (Cat. No.PR00518).

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