Skip to main content

On Component-Based Reuse for Event-B

  • Conference paper
  • First Online:
Abstract State Machines, Alloy, B, TLA, VDM, and Z (ABZ 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9675))

Abstract

Efficient reuse is a goal of many software engineering strategies and is useful in the safety-critical domain where formal development is required. Event-B can be used to develop safety-critical systems, but could be improved by a component-based reuse strategy. In this paper, we outline a component-based reuse methodology for Event-B. It provides a means for bottom-up scalability, and can also be used with the existing top-down approach. We describe the process of creating library components, their composition, and specification of new properties (involving the composed elements). We introduce Event-B component interfaces and propose to use a diagrammatic representation of component instances (based on iUML-B) which can be used to describe the relationships between the composed elements. We also discuss the specification of communication flow across component boundaries and describe the additional proof obligations that are required.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The ADVICeS project is funded by Academy of Finland, grant No. 266373.

References

  1. The Rodin User’s Handbook. http://handbook.event-b.org/

  2. Iliasov, A., Troubitsyna, E., Laibinis, L., Romanovsky, A., Varpaaniemi, K., Ilic, D., Latvala, T.: Supporting reuse in Event B development: modularisation approach. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 174–188. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

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

    Book  MATH  Google Scholar 

  4. Banach, R.: The landing gear case study in hybrid Event-B. In: Boniol, F., Wiels, V., Ait Ameur, Y., Schewe, K.-D. (eds.) ABZ 2014. CCIS, vol. 433, pp. 126–141. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  5. Butler, M., Colley, J., Edmunds, A., Snook, C., Evans, N., Grant, N., Marshall, H.: Modelling and refinement in CODA. In: Refine, pp. 36–51 (2013)

    Google Scholar 

  6. Edmunds, A., Butler, M.: Tasking Event-B: an extension to Event-B for generating concurrent code. In: PLACES 2011, February 2011

    Google Scholar 

  7. Edmunds, A., Walden, M.: Modelling “operation-calls” in Event-B with shared-event composition. Technical report 1144 (2015)

    Google Scholar 

  8. Hallerstede, S.: Justifications for the Event-B modelling notation. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 49–63. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Hallerstede, S., Hoang, T.S.: Refinement by interface instantiation. In: Derrick, J., Fitzgerald, J., Gnesi, S., Khurshid, S., Leuschel, M., Reeves, S., Riccobene, E. (eds.) ABZ 2012. LNCS, vol. 7316, pp. 223–237. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  10. Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall, Upper Saddle River (1985)

    MATH  Google Scholar 

  11. Abrial, J.R., et al.: Rodin: an open toolset for modelling and reasoning in Event-B. Softw. Tools Technol. Transf. 12(6), 447–466 (2010)

    Article  Google Scholar 

  12. Kessel, M., Atkinson, C.: Ranking software components for pragmatic reuse. In: 2015 IEEE/ACM 6th International Workshop on Emerging Trends in Software Metrics (WETSoM), pp. 63–66. IEEE (2015)

    Google Scholar 

  13. Leuschel, M., Butler, M.: ProB: a model checker for B. In: Proceedings of Formal Methods Europe 2003 (2003)

    Google Scholar 

  14. Meyer, B.: Design by contract: the Eiffel method. In: TOOLS, vol. 26, p. 446. IEEE Computer Society (1998)

    Google Scholar 

  15. Oliveira, C., Wermelinger, M.: The community workbench. In: Proceedings of the 26th International Conference on Software Engineering, pp. 709–710. IEEE Computer Society (2004)

    Google Scholar 

  16. Pereverzeva, I.: Formal development of resilient distributed systems. Ph.D. thesis, Åbo Akademi University (2015)

    Google Scholar 

  17. Perry, D.L.: VHDL, 2nd edn. McGraw-Hill, New York (1994)

    Google Scholar 

  18. Poppleton, M.R.: The composition of Event-B models. In: Börger, E., Butler, M., Bowen, J.P., Boca, P. (eds.) ABZ 2008. LNCS, vol. 5238, pp. 209–222. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  19. Back, R., Wright, J.: Refinement Calculus: A Systematic Introduction. Springer Science & Business Media, New York (2012)

    MATH  Google Scholar 

  20. Romanovsky, A., Thomas, M.: Industrial Deployment of System Engineering Methods. Springer, Heidelberg (2013)

    Book  Google Scholar 

  21. Said, M.Y., Butler, M., Snook, C.: Language and tool support for class and state machine refinement in UML-B. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 579–595. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  22. Silva, R.: Towards the composition of specifications in Event-B. In: B 2011, June 2011

    Google Scholar 

  23. Silva, R.: Supporting development of Event-B models. Ph.D. thesis, University of Southampton, May 2012

    Google Scholar 

  24. Silva, R., Butler, M.: Shared event composition/decomposition in Event-B. In: FMCO Formal Methods for Components and Objects, November 2010

    Google Scholar 

  25. Snook, C.: Event-B Statemachines (2011). http://wiki.event-b.org/index.php/Event-B_Statemachines

  26. Snook, C.: iUML-B Statemachines. In: Proceedings of the 5th Rodin User and Developer Workshopp (2014)

    Google Scholar 

  27. Snook, C., Butler, M.: UML-B: formal modelling and design aided by UML. ACM Trans. Softw. Eng. Methodol. 15, 92–122 (2006)

    Article  Google Scholar 

  28. The ADVICeS Team: The ADVICeS Project. https://research.it.abo.fi/ADVICeS/

  29. Wikipedia: Component-Based Software Engineering - Software Component. https://en.wikipedia.org/wiki/Component-based_software_engineering

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrew Edmunds .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Edmunds, A., Snook, C., Walden, M. (2016). On Component-Based Reuse for Event-B. In: Butler, M., Schewe, KD., Mashkoor, A., Biro, M. (eds) Abstract State Machines, Alloy, B, TLA, VDM, and Z. ABZ 2016. Lecture Notes in Computer Science(), vol 9675. Springer, Cham. https://doi.org/10.1007/978-3-319-33600-8_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-33600-8_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-33599-5

  • Online ISBN: 978-3-319-33600-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics