Skip to main content
Log in

Event-B patterns and their tool support

Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Event-B has given developers the opportunity to construct models of complex systems that are correct-by-construction. However, there is no systematic approach, especially in terms of reuse, which could help with the construction of these models. We introduce the notion of design patterns within the framework of Event-B to shorten this gap. Our approach preserves the correctness of the models, which is critical in formal methods and also reduces the proving effort. Within our approach, an Event-B design pattern is just another model devoted to the formalisation of a typical sub-problem. As a result, we can use patterns to construct a model which can subsequently be used as a pattern to construct a larger model. We also present the interaction between developers and the tool support within the associated RODIN Platform of Event-B. The approach has been applied successfully to some medium-size industrial case studies.

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.

Institutional subscriptions

References

  1. Abrial J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    Book  MATH  Google Scholar 

  2. Abrial J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)

    Book  MATH  Google Scholar 

  3. Abrial J.-R., Butler M., Hallerstede S., Hoang T.S., Mehta F., Voisin L.: RODIN: an open toolset for modelling and reasoning in event-B. Int. J. Softw. Tools Technol. Transf. 12(6), 447–466 (2010)

    Article  Google Scholar 

  4. Abrial J.-R., Hallerstede S.: Refinement, decomposition, and instantiation of discrete models: application to event-B. Fundam. Inf. 77(1–2), 1–28 (2007)

    MathSciNet  MATH  Google Scholar 

  5. Abrial J.-R., Hoang T.S.: Using design patterns in formal methods: an event-B approach. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigün, H. (eds) ICTAC, Lecture Notes in Computer Science, vol. 5160, pp. 1–2. Springer, Berlin (2008)

    Google Scholar 

  6. Back R.-J.: Refinement calculus II: parallel and reactive programs. In: deBakker, J.W., deRoever, W.P., Rozenberg, G. (eds) Stepwise refinement of distributed systems. Lecture Notes in Computer Science, vol. 430, pp. 67–93. Springer, The Netherlands (1989)

    Google Scholar 

  7. Bayley, I.: Formalising design patterns in predicate logic. In: SEFM, pp. 25–36. IEEE Computer Society, USA (2007)

  8. Butler, M.: Decompostion Structures for Event-B. In: Integrated Formal Methods. Lecture Notes in Computer Science, vol. 5423, pp. 20–38. Springer, Berlin (2009). http://www.springerlink.com/content/3202127567642301/

  9. Decker G., Weske M.: Local enforceability in interaction petri nets. In: Alonso, G., Dadam, P., Rosemann, M. (eds) BPM. Lecture Notes in Computer Science, vol. 4714, pp. 305–319. Springer, Berlin (2007)

    Google Scholar 

  10. DEPLOY Project: Deliverable JD1—Report on Knowledge Transfer (2009). http://www.deploy-project.eu/pdf/fv-d5-jd1-reportonknowledgetransfer.zip

  11. Fürst, A.: Design patterns in Event-B and their tool support. Master’s thesis, Deparment of Computer Science, ETH Zurich, March (2009). http://e-collection.ethbib.ethz.ch/view/eth:41612

  12. Fürst, A.: Documentation on tool support for Event-B design patterns (2010). http://wiki.event-b.org/index.php/Pattern

  13. Fürst, A., Hoang, T.S.: Rodin platform archive of question/response protocol (2010). http://deploy-eprints.ecs.soton.ac.uk/230/

  14. Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995). ISBN: 10: 0201633612; 13: 978-0201633610.

  15. Gasparis E., Nicholson J., Eden A.H.: Lepus3: an object-oriented design description language. In: Stapleton, G., Howse, J., Lee, J. (eds) Diagrams. Lecture Notes in Computer Science, vol. 5223, pp. 364–367. Springer, Berlin (2008)

    Google Scholar 

  16. Hoang T.S., Fürst A., Abrial J.-R.: Event-B patterns and their tool support. In: Hung, D.V., Krishnan, P. (eds) SEFM, pp. 210–219. IEEE Computer Society, USA (2009)

    Google Scholar 

  17. Lamport L.: The temporal logic of actions. Trans Progr Lang Syst 16(3), 872–923 (1994)

    Article  Google Scholar 

  18. Mikkonen, T.: Formalizing design patterns. In: ICSE, pp. 115–124 (1998)

  19. Requet A.: BART: a tool for automatic refinement. In: Börger, E., Butler, M.J., Bowen, J.P., Boca, P. (eds) ABZ. Lecture Notes in Computer Science, vol. 5238, pp. 345. Springer, Berlin (2008)

    Google Scholar 

  20. Silva R., Butler M.: Supporting reuse of event-B developments through generic instantiation. In: Breitman, K., Cavalcanti, A. (eds) ICFEM. Lecture Notes in Computer Science, vol. 5885, pp. 466–484. Springer, Berlin (2009)

    Google Scholar 

  21. Spivey M.: The Z Notation: A Reference Manual, 2nd edn. Prentice Hall International, Englewood Cliffs (1992)

    Google Scholar 

  22. Taibi T., Herranz-Nieva Á., Moreno-Navarro J.J.: Stepwise refinement validation of design patterns formalized in TLA+ using the TLC model checker. J. Object Technol. 8(2), 137–161 (2009)

    Article  Google Scholar 

  23. Wieczorek, S., Roth, A., Stefanescu, A., Charfi, A.: Precise steps for choreography modeling for SOA validation and verification. In: Proceedings of the Fourth IEEE International Symposium on Service-Oriented System Engineering, December (2008). http://deploy-eprints.ecs.soton.ac.uk/41/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thai Son Hoang.

Additional information

Communicated by Paddy Krishnan, Antonio Cerone, and Dang Van Hung.

This is an extension of an earlier report [16]. Part of this work is supported by the DEPLOY project (http://www.deploy-project.eu).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hoang, T.S., Fürst, A. & Abrial, JR. Event-B patterns and their tool support. Softw Syst Model 12, 229–244 (2013). https://doi.org/10.1007/s10270-010-0183-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-010-0183-7

Keywords

Navigation