Supporting Reuse of Event-B Developments through Generic Instantiation

  • Renato Silva
  • Michael Butler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5885)


It is believed that reusability in formal development should reduce the time and cost of formal modelling within a production environment. Along with the ability to reuse formal models, it is desirable to avoid unnecessary re-proof when reusing models. Event-B is a formal method that allows modelling and refinement of systems. Event-B supports generic developments through the context construct. Nevertheless Event-B lacks the ability to instantiate and reuse generic developments in other formal developments. We propose a way of instantiating generic models and extending the instantiation to a chain of refinements. We define sufficient proof obligations to ensure that the proofs associated to a generic development remain valid in an instantiated development thus avoiding re-proofs.


formal methods event-B reusability generic instantiation 


  1. 1.
    Standish, T.A.: An Essay on Software Reuse. IEEE Trans. Software Eng. 10(5), 494–497 (1984)CrossRefGoogle Scholar
  2. 2.
    Métayer, C., Abrial, J.R., Voisin, L.: Event-B Language. Technical report, Deliverable 3.2, EU Project IST-511599 - RODIN (May 2005)Google Scholar
  3. 3.
    Abrial, J.R., Hallerstede, S.: Refinement, Decomposition, and Instantiation of Discrete Models: Application to Event-B. Fundam. Inf. 77(1-2), 1–28 (2007)MATHMathSciNetGoogle Scholar
  4. 4.
    Rodin: RODIN project Homepage (September 2008),
  5. 5.
    Abrial, J.R., Butler, M.J., Hallerstede, S., Voisin, L.: An Open Extensible Tool Environment for Event-B. In: Liu, Z., He, J. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 588–605. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Silva, R., Butler, M.: Parallel Composition Using Event-B (July 2009),
  7. 7.
    Silva, R.: Renaming Framework (July 2009),
  8. 8.
    Abrial, J.R.: Summary of Event-B Proof Obligations (March 2008),
  9. 9.
    Butler, M.: An Approach to the Design of Distributed Systems with B AMN. In: Till, D., Bowen, J., Hinchey, M.G. (eds.) ZUM 1997. LNCS, vol. 1212, pp. 221–241. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  10. 10.
    Butler, M.: Synchronisation-based Decomposition for Event-B. In: RODIN Deliverable D19 Intermediate report on methodology (2006)Google Scholar
  11. 11.
    Evans, N., Butler, M.: A Proposal for Records in Event-B. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 221–235. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Rezazadeh, A., Evans, N., Butler, M.: Redevelopment of an Industrial Case Study Using Event-B and Rodin. In: BCS-FACS Christmas 2007 Meeting - Formal Method In Industry (December 2007)Google Scholar
  13. 13.
    Cheng, J.: A Reusability-Based Software Development Environment. SIGSOFT Softw. Eng. Notes 19(2), 57–62 (1994)CrossRefGoogle Scholar
  14. 14.
    Darimont, R., van Lamsweerde, A.: Formal Refinement Patterns for Goal-Driven Requirements Elaboration. In: SIGSOFT 1996: Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering, pp. 179–190. ACM, New York (1996)CrossRefGoogle Scholar
  15. 15.
    Sabatier, D.: Reusing Formal Models. IFIP Congress Topical Sessions, 613–620 (2004)Google Scholar
  16. 16.
    Schneider, S.: The B method: an introduction. Palgrave (2001)Google Scholar
  17. 17.
    Abrial, J.R.: The B-Book: Assigning programs to meanings. Cambridge University Press, Cambridge (1996)MATHGoogle Scholar
  18. 18.
    Paulson, L.C.: Isabelle. LNCS, vol. 828. Springer, Heidelberg (1994)MATHGoogle Scholar
  19. 19.
    Blazy, S., Gervais, F., Laleau, R.: Reuse of Specification Patterns with the B Method. In: Bert, D., Bowen, J., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 40–57. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Renato Silva
    • 1
  • Michael Butler
    • 1
  1. 1.School of Electronics and Computer ScienceUniversity of SouthamptonUK

Personalised recommendations