Skip to main content
Log in

Retrenchment for Event-B: UseCase-wise development and Rodin integration

  • Original Article
  • Published:
Formal Aspects of Computing

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abrial J-R Modeling in Event-B: System and Software Design. (in press)

  2. Abrial J-R (1996) The B-Book: assigning programs to meanings. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  3. 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

  4. Banach R Model based refinement and the design of retrenchments. (Submitted)

  5. Banach R (1995) On regularity in software design. Sci Comp Prog 24: 221–248

    Article  MATH  MathSciNet  Google Scholar 

  6. Banach R (2008) UseCase-wise development: retrenchment for Event-B. In: Proceedings of the ABZ-08, LNCS 5238, pp 167–180

  7. 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

  8. Banach R, Jeske C (2009) Retrenchment and refinement interworking: the tower theorems (Submitted)

  9. Banach R, Jeske C, Poppleton M (2008) Composition mechanisms for retrenchment. J Log Alg Prog 75: 209–229

    Article  MATH  MathSciNet  Google Scholar 

  10. 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

  11. 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

  12. 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

  13. Banach R, Poppleton M, Jeske C, Stepney S Retrenchment and promotion in Z. (Submitted)

  14. 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

  15. Banach R, Poppleton M, Jeske C, Stepney S (2007) Engineering and theoretical underpinnings of retrenchment. Sci Comp Prog 67: 301–329

    Article  MATH  MathSciNet  Google Scholar 

  16. 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

    MATH  MathSciNet  Google Scholar 

  17. Back RJR, Sere K (1996) Superposition refinement of reactive systems. Formal Aspects Comput 8(3): 324–346

    Article  MATH  Google Scholar 

  18. Eclipse. The Eclipse Project. http://www.eclipse.org/

  19. 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

  20. Fraser S (2008) Mechanized support for retrenchment. PhD thesis, School of Computer Science, University of Manchester

  21. Jeske C (2005) Algebraic integration of retrenchment and refinement. PhD thesis, University of Manchester

  22. Katz S (1993) A superimposition control construct for distributed systems. ACM TPLAN 15(2): 337–356

    Article  Google Scholar 

  23. Rodin European project rodin (rigorous open development for complex systems) ist-511599. http://rodin.cs.ncl.ac.uk/

  24. Rodin. The Rodin Platform. http://sourceforge.net/projects/rodin-b-sharp/

  25. Stepney S, Cooper D, Woodcock J (2000) An electronic purse: specification, refinement and proof. Technical Report PRG-126, Oxford University Computing Laboratory

  26. Proceedings of the ZB-05, (2005) Volume 3455 of LNCS. Springer

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Richard Banach.

Additional information

Michael Poppleton and Michael Butler

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-009-0139-2

Keywords

Navigation