Retrenchment: Extending Refinement for Continuous and Control Systems

Discussion of a radiation dose calculation example demonstrates various expressive limitations of the refinement calculus, particularly for systems with continuous variables. A liberalization of refinement, called retrenchment, is proposed, which will support an analogous formal development calculus. Useful concrete system behaviour can be specified outside the domain of pure refinement, in particular behaviour under controlled precision decay. A syntax and a formal definition are presented for retrenchment in the B notation of J.-R. Abrial. Necessary transitivity and monotonicity properties for a formal development calculus are stated. A generalisation, evolving retrenchment, is proposed, and a simple example demonstrates its utility, by analogy, in control systems applications. Evolution in retrenchment is demonstrated to offer the expressive power to describe useful simulation-like behaviour, with evolving precision, in software for control systems. Finally, the dosimetry problem demonstrates the architectural value of retrenchment for the formal construction of continuous systems.

[1]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[2]  Steve A. Schneider,et al.  Using a Process Algebra to Control B Operations , 1999, IFM.

[3]  Francis H. Raven Automatic Control Engineering , 1961 .

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

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

[6]  Kendall E. Atkinson An introduction to numerical analysis , 1978 .

[7]  Ralph-Johan Back,et al.  On Correct Refinement of Programs , 1981, J. Comput. Syst. Sci..

[8]  D. S. Neilson From Z to C : illustration of a rigorous development method , 1989 .

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

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

[11]  Ralph-Johan Back,et al.  Refinement Calculus, Part I: Sequential Nondeterministic Programs , 1989, REX Workshop.

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

[13]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[14]  Joseph M. Morris,et al.  A Theoretical Basis for Stepwise Refinement and the Programming Calculus , 1987, Sci. Comput. Program..

[15]  Ralph-Johan Back,et al.  Fusion and simultaneous execution in the refinement calculus , 1998, Acta Informatica.

[16]  F. Khan The physics of radiation therapy , 1985 .

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

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

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

[20]  Richard Banach,et al.  Retrenchment: extending the reach of refinement , 1999, 14th IEEE International Conference on Automated Software Engineering.

[21]  Richard Banach,et al.  Retrenchment: An Engineering Variation on Refinement , 1998, B.