Hostname: page-component-848d4c4894-p2v8j Total loading time: 0.001 Render date: 2024-06-03T12:43:52.036Z Has data issue: false hasContentIssue false

Retrenchment and refinement interworking: the tower theorems

Published online by Cambridge University Press:  02 December 2014

RICHARD BANACH
Affiliation:
School of Computer Science, University of Manchester, Oxford Road, Manchester, M13 9PL, U.K. Email: banach@cs.man.ac.uk; jeske@xsys.org.uk
CZESŁAW JESKE
Affiliation:
School of Computer Science, University of Manchester, Oxford Road, Manchester, M13 9PL, U.K. Email: banach@cs.man.ac.uk; jeske@xsys.org.uk

Abstract

Retrenchment is a flexible model evolution formalism that compensates for the limitations imposed by specific formulations of refinement. Its refinement-like proof obligations feature additional predicates for accommodating design data describing the model change. The best results are obtained when refinement and retrenchment cooperate, the paradigmatic scheme for this being the commuting square or tower, in which ‘horizontal retrenchment rungs’ commute with ‘vertical refinement columns’ to navigate through a much more extensive design space than permitted by refinement alone. In practice, the navigation is accomplished through ‘square completion’ constructions, and we present and prove a full suite of square completion theorems.

Type
Paper
Copyright
Copyright © Cambridge University Press 2014 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Badeau, F. and Amelot, A. (2005) Using B as a High Level Programming Language in an Industrial Project: Riossy VAL. In: Treharne, H., King, S., Henson, M. and Schneider, S. (eds.) Proceedings ZB 2005: Formal Specification and Development in Z and B. Springer-Verlag Lecture Notes in Computer Science 3455 334354.Google Scholar
Banach, R. (2009) Model Based Refinement and the Design of Retrenchments. Unpublished paper.Google Scholar
Banach, R. (2011) Retrenchment for Event-B: UseCase-wise Development and Rodin Integration. Formal Aspects of Computing 23 113131.Google Scholar
Banach, R. and Jeske, C. (2010) Stronger Compositions for Retrenchments. Journal of Logic and Algebraic Programming 79 215232.CrossRefGoogle Scholar
Banach, R., Jeske, C. and Poppleton, M. (2008) Composition Mechanisms for Retrenchment. Journal of Logic and Algebraic Programming 75 209229.CrossRefGoogle Scholar
Banach, R., Jeske, C., Poppleton, M. and Stepney, S. (2005) Retrenching the Purse: Finite Sequence Numbers, and the Tower Pattern. In: Fitzgerald, J., Hayes, I. J. and Tarlecki, A. (eds.) FM 2005: Formal Methods. Proceedings International Symposium of Formal Methods Europe. Springer-Verlag Lecture Notes in Computer Science 3582 382398.Google Scholar
Banach, R., Jeske, C., Poppleton, M. and Stepney, S. (2006a) Retrenching the Purse: Finite Exception Logs, and Validating the Small. In: Hinchey, M. (ed.) 30th Annual IEEE/NASA Software Engineering Workshop, 2006 – SEW '06. 234–245.Google Scholar
Banach, R., Jeske, C., Poppleton, M. and Stepney, S. (2006b) Retrenching the Purse: Hashing Injective CLEAR Codes, and Security Properties. In: Margaria, T. and Steffen, B. (eds.) Proceedings ISoLA 2006: Second IEEE International Symposium on Leveraging Applications of Formal Methods, Verification and Validation 82–90.Google Scholar
Banach, R., Jeske, C., Poppleton, M. and Stepney, S. (2007a) Retrenching the Purse: The Balance Enquiry Quandary, and Generalised and (1,1) Forward Refinements. Fundamenta Informaticae 77 2969.Google Scholar
Banach, R., Poppleton, M., Jeske, C. and Stepney, S. (2007b) Engineering and Theoretical Underpinnings of Retrenchment. Science of Computer Programming 67 301329.Google Scholar
Banach, R. and Schellhorn, G. (2010) Atomic Actions and their Refinements to Isolated Protocols. Formal Aspects of Computing 22 3361.Google Scholar
Banach, R., Zhu, H., Su, W. and Huang, R. (2014) Continuous KAOS, ASM, and Formal Control System Design Across the Continuous/Discrete Modeling Interface: A Simple Train Stopping Application. Formal Aspects of Computing 26 319366.Google Scholar
Behm, P., Benoit, P., Faivre, A. and Meynadier, J.-M. (1999) Météor: A Successful Application of B in a Large Project. In: Wing, J., Woodcock, J. and Davies, J. (eds.) Proceedings: World Congress on Formal Methods in the Development of Computing Systems – Volume I. Springer-Verlag Lecture Notes in Computer Science 1708 369387.Google Scholar
Behm, P., Benoit, P., Faivre, A. and Meynadier, J.-M. (2000) Météor: An Industrial Success in Formal Development. In: Bowen, J. P., Dunne, S., Galloway, A. and King, S. (eds.) ZB 2000: Formal Specification and Development in Z and B. Proceedings First International Conference of B and Z Users. Springer-Verlag Lecture Notes in Computer Science 1878 374393.Google Scholar
de Roever, W.-P. and Engelhardt, K. (1998) Data Refinement: Model-Oriented Proof Methods and their Comparison, Cambridge University Press.Google Scholar
Dijkstra, E. (1972) Notes on Structured Programming. In: Dahl, O.-J., Dijkstra, E. and Hoare, C. (eds.) Structured Programming, Academic Press.Google Scholar
Hoare, C. (1972) Proofs of Correctness of Data Representation. Acta Informatica 1 271281.Google Scholar
Jeffords, R., Heitmeyer, C., Archer, M. and Leonard, E. (2009) A Formal Method for Developing Provably Correct Fault-Tolerant Systems Using Partial Refinement and Composition. In: Cavalcanti, A. and Dams, D. R. (eds.) FM 2009: Formal Methods – Proceedings Second World Congress. Springer-Verlag Lecture Notes in Computer Science 5850 173189.Google Scholar
Jeske, C. (2005) Algebraic Theory of Retrenchment and Refinement, Ph.D. thesis, School of Computer Science, University of Manchester.Google Scholar
Jones, C., O'Hearne, P. and Woodcock, J. (2006) Verified Software: A Grand Challenge. IEEE Computer 39 9395.Google Scholar
Jones, C. and Woodcock, J. (2008) Special Issue on the Mondex Verification. Formal Aspects of Computing 20 1139.CrossRefGoogle Scholar
Stepney, S., Cooper, D. and Woodcock, J. (1998) More Powerful Z Data Refinement: Pushing the State of the Art in Industrial Refinement. In: Bowen, J. P., Fett, A. and Hinchey, M. G. Proceedings ZUM 98: The Z Formal Specification Notation. Proceedings 11th International Conference of Z Users. Springer-Verlag Lecture Notes in Computer Science 1493 284307.Google Scholar
Stepney, S., Cooper, D. and Woodcock, J. (2000) An Electronic Purse: Specification, Refinement and Proof. Technical Report PRG-126, Oxford University Computing Laboratory.Google Scholar
Wirth, N. (1971) Program Development by Stepwise Refinement. Communications of the ACM 14 221227.CrossRefGoogle Scholar
Woodcock, J. (2006) First Steps in the Verified Software Grand Challenge. IEEE Computer 39 5764.CrossRefGoogle Scholar
Woodcock, J. and Banach, R. (2007) The Verification Grand Challenge. Journal of Universal Computer Science 13 661668.Google Scholar