Abstract
UseCase-wise Development, an ‘Agile Method’ which introduces functionality into an application stage by stage, with each stage being carried through (ideally) to implementation before the next is considered, is examined with a view to its being treated via an Event-B methodology. The need to modify top level behaviour in a non-skip way precludes its naive treatment via Event-B refinement, and paves the way for the use of retrenchment in an Event-B context. An Event-B formulation of retrenchment aligned to the practicalities of the Rodin toolset is described. The details of refinement/retrenchment interworking needed to handle UseCase-wise development are outlined, and three small case studies are discussed. The details of the integration of the retrenchment proposal into Rodin are outlined.
Similar content being viewed by others
References
Abrial J-R Modeling in Event-B: System and Software Design. (in press)
Abrial J-R (1996) The B-Book: assigning programs to meanings. Cambridge University Press, Cambridge
Abrial J-R, Cansell D, Méry D (2005) Refinement and reachability in Event-B. In ZB 2005: formal specification and development in Z and B [ZB-05], pp 222–241
Banach R Model based refinement and the design of retrenchments. (Submitted)
Banach R (1995) On regularity in software design. Sci Comp Prog 24: 221–248
Banach R (2008) UseCase-wise development: retrenchment for Event-B. In: Proceedings of the ABZ-08, LNCS 5238, pp 167–180
Banach R, Fraser S (2005) Retrenchment and the BToolkit. In: ZB 2005: formal specification and development in Z and B [ZB-05], pp 203–221
Banach R, Jeske C (2009) Retrenchment and refinement interworking: the tower theorems (Submitted)
Banach R, Jeske C, Poppleton M (2008) Composition mechanisms for retrenchment. J Log Alg Prog 75: 209–229
Banach R, Jeske C, Poppleton M, Stepney S (2005) Retrenching the purse: finite exception logs, and validating the small. In: Proceedings of the IEEE/NASA SEW30-06, pp 234–245
Banach R, Jeske C, Poppleton M, Stepney S (2006) Retrenching the purse: hashing injective CLEAR codes, and security properties. In: Proceedings of the IEEE ISOLA-06, pp 82–90
Banach R, Poppleton M (1998) Retrenchment: an engineering variation on refinement. In: Bert D (ed) 2nd international B conference, vol 1393 of LNCS, pp 129–147, Montpellier, France, April 1998. Springer
Banach R, Poppleton M, Jeske C, Stepney S Retrenchment and promotion in Z. (Submitted)
Banach R, Poppleton M, Jeske C, Stepney S (2005) Retrenching the purse: finite sequence numbers, and the tower pattern. In: Proceedings of the FM-05, LNCS 3582, pp 382–398
Banach R, Poppleton M, Jeske C, Stepney S (2007) Engineering and theoretical underpinnings of retrenchment. Sci Comp Prog 67: 301–329
Banach R, Poppleton M, Jeske C, Stepney S (2007) Retrenching the purse: the balance enquiry quandary, and generalised and (1,1) forward refinements. Fund Inf 77: 29–69
Back RJR, Sere K (1996) Superposition refinement of reactive systems. Formal Aspects Comput 8(3): 324–346
Eclipse. The Eclipse Project. http://www.eclipse.org/
Fraser S, Banach R (2007) Configurable proof obligations in the frog toolkit. In: Proceedings of the fifth IEEE international conference on software engineering and formal methods, IEEE Computer Society Press, pp 361–370. IEEE
Fraser S (2008) Mechanized support for retrenchment. PhD thesis, School of Computer Science, University of Manchester
Jeske C (2005) Algebraic integration of retrenchment and refinement. PhD thesis, University of Manchester
Katz S (1993) A superimposition control construct for distributed systems. ACM TPLAN 15(2): 337–356
Rodin European project rodin (rigorous open development for complex systems) ist-511599. http://rodin.cs.ncl.ac.uk/
Rodin. The Rodin Platform. http://sourceforge.net/projects/rodin-b-sharp/
Stepney S, Cooper D, Woodcock J (2000) An electronic purse: specification, refinement and proof. Technical Report PRG-126, Oxford University Computing Laboratory
Proceedings of the ZB-05, (2005) Volume 3455 of LNCS. Springer
Author information
Authors and Affiliations
Corresponding author
Additional information
Michael Poppleton and Michael Butler
Rights and permissions
About this article
Cite this article
Banach, R. Retrenchment for Event-B: UseCase-wise development and Rodin integration. Form Asp Comp 23, 113–131 (2011). https://doi.org/10.1007/s00165-009-0139-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-009-0139-2