Skip to main content

The First Twenty-Five Years of Industrial Use of the B-Method

  • Conference paper
  • First Online:
Formal Methods for Industrial Critical Systems (FMICS 2020)

Abstract

The B-Method has an interesting history, where language and tools have evolved over the years. This not only led to considerable research and progress in the area of formal methods, but also to numerous industrial applications, in particular in the railway domain. We present a survey of the industrial usage of the B-Method since the first toolset in 1993 and the inauguration of the driverless metro line 14 in Paris in 1999. We discuss the various areas of applications, from software development to data validation and on to systems modelling. The evolution of the tooling landscape is also analysed, and we present an assessment of the current situation, lessons learned and possible new directions.

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.

    Consisting of Alsthom (today Alstom), Compagnie des Signaux (today Hitachi), and Matra Transport (today Siemens Transportation, France).

  2. 2.

    Which is the justification for the title of this article.

  3. 3.

    Initially the ProB team was unaware of the development of OVADO.

  4. 4.

    See the site (accessed 25/5/2020): https://www.alstom.com/our-solutions/signalling/urbalis-cbtc-range-future-signalling-systems.

  5. 5.

    See https://wiki.event-b.org/index.php/CamilleX.

References

  1. Abo, R., Voisin, L.: Formal implementation of data validation for railway safety-related systems with OVADO. In: Counsell, S., Núñez, M. (eds.) SEFM 2013. LNCS, vol. 8368, pp. 221–236. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-05032-4_17

    Chapter  Google Scholar 

  2. Abrial, J.R.: The B tool (abstract). In: Bloomfield, R.E., Marshall, L.S., Jones, R.B. (eds.) VDM 1988. LNCS, vol. 328, pp. 86–87. Springer, Heidelberg (1988). https://doi.org/10.1007/3-540-50214-9_8

    Chapter  Google Scholar 

  3. Abrial, J.-R.: Extending B without changing it. In: Proceedings B, pp. 169–190 (1996). ISBN 2-906082-25-2

    Google Scholar 

  4. Abrial, J.-R.: The B-Book. Cambridge University Press, Cambridge (1996)

    Book  Google Scholar 

  5. Abrial, J.-R.: Formal methods: theory becoming practice. J. Univ. Comput. Sci. 13(5), 619–628 (2007)

    MathSciNet  Google Scholar 

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

    Book  Google Scholar 

  7. Abrial, J.-R., Butler, M., 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). https://doi.org/10.1007/11901433_32

    Chapter  Google Scholar 

  8. Abrial, J.-R., Cansell, D.: Click’n prove: interactive proofs within set theory. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 1–24. Springer, Heidelberg (2003). https://doi.org/10.1007/10930755_1

    Chapter  Google Scholar 

  9. Abrial, J.-R., Mussat, L.: Introducing dynamic constraints in B. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, pp. 83–128. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0053357

    Chapter  Google Scholar 

  10. Abrial, J.-R., Schuman, S., Meyer, B.: Specification language. In: On the Construction of Programs: An Advanced Course. Cambridge University Press (1980)

    Google Scholar 

  11. Ambert, F., et al.: BZ-testing-tools: a tool-set for test generation from Z and B using constraint logic programming. In: Proceedings FATES, pp. 105–120 (2002). Technical report, INRIA

    Google Scholar 

  12. Badeau, F., Doche-Petit, M.: Formal data validation with Event-B. In: Proceedings of DS-Event-B 2012, Kyoto, CoRR, abs/1210.7039 (2012)

    Google Scholar 

  13. Basile, D., et al.: On the industrial uptake of formal methods in the railway domain. In: Furia, C.A., Winter, K. (eds.) IFM 2018. LNCS, vol. 11023, pp. 20–29. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-98938-9_2

    Chapter  Google Scholar 

  14. Bendisposto, J., Krings, S., Leuschel, M.: Who watches the watchers: validating the ProB validation tool. In: Proceedings F-IDE, EPTCS, vol. 149 (2014)

    Google Scholar 

  15. Jaffuel, E.: Using B machines for model-based testing of smartcard software. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 2–2. Springer, Heidelberg (2006). https://doi.org/10.1007/11955757_2

    Chapter  Google Scholar 

  16. Benveniste, M.: On using B in the design of secure micro-controllers: an experience report. ENTCS 280, 3–22 (2011)

    Google Scholar 

  17. Berglehner, R., Cherif, I., Rasheeq, A.: An approach to improve SysML railway specification using UML-B and EVENT-B. Poster presented at RSSRail 2019 (2019)

    Google Scholar 

  18. Bicarregui, J.C., Fitzgerald, J.S., Larsen, P.G., Woodcock, J.C.P.: Industrial practice in formal methods: a review. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 810–813. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-05089-3_52

    Chapter  Google Scholar 

  19. Boite, O.: Méthode B et Validation des Invariants Ferroviaires. Master’s thesis, Université Denis Diderot (2000). Mémoire de DEA de logique et fondements de l’informatique

    Google Scholar 

  20. Boite, O.: Automatiser les preuves d’un sous-langage de la méthode B. Technique et Science Informatiques 21(8), 1099–1120 (2002)

    Google Scholar 

  21. Bouquet, F., Legeard, B., Peureux, F.: CLPS-B—a constraint solver for B. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 188–204. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46002-0_14

    Chapter  Google Scholar 

  22. Burdy, L., Meynadier, J.-M.: Automatic refinement. In: Proceedings BUGM at FM 1999 (1999). https://www.clearsy.com/wp-content/uploads/sites/7/dl/lilian_burdy/ug020003.pdf

  23. Butler, M.: Decomposition structures for Event-B. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 20–38. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00255-7_2

    Chapter  Google Scholar 

  24. Butler, M.J., et al.: Modelling and refinement in CODA. In: Proceedings Refine, EPTCS, vol. 115, pp. 36–51 (2013)

    Google Scholar 

  25. Butler, M.J., et al.: formal modelling techniques for efficient development of railway control products. In: Fantechi, A., Lecomte, T., Romanovsky, A. (eds.) Reliability, Safety, and Security of Railway Systems. Modelling, Analysis, Verification, and Certification. LNCS, vol. 10598, pp. 71–86. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68499-4_5

    Chapter  Google Scholar 

  26. CENELEC: Railway Applications: Communications, Signalling and Processing Systems. Software for Railway Control and Protection Systems. EN50128: 2001 (2001)

    Google Scholar 

  27. ClearSy: Atelier B, User and Reference Manuals. Aix-en-Provence, France (2009). http://www.atelierb.eu/

  28. Comptier, M., Déharbe, D., Perez, J.M., Mussat, L., Thibaut, P., Sabatier, D.: Safety analysis of a CBTC system: a rigorous approach with Event-B. In: Fantechi, A., Lecomte, T., Romanovsky, A. (eds.) RailReliability, Safety, and Security of Railway Systems. Modelling, Analysis, Verification, and Certification. LNCS, vol. 10598, pp. 148–159. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68499-4_10

    Chapter  Google Scholar 

  29. Comptier, M., Leuschel, M., Mejia, L.-F., Perez, J.M., Mutz, M.: Property-based modelling and validation of a CBTC zone controller in Event-B. In: Collart-Dutilleul, S., Lecomte, T., Romanovsky, A. (eds.) RSSRail 2019. LNCS, vol. 11495, pp. 202–212. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-18744-6_13

    Chapter  Google Scholar 

  30. Dghaym, D., Dalvandi, M., Poppleton, M., Snook, C.F.: Formalising the hybrid ERTMS Level 3 specification in iUML-B and Event-B. Int. J. Softw. Tools Technol. Transf. 22(3), 297–313 (2020)

    Article  Google Scholar 

  31. Essamé, D., Dollé, D.: B in large-scale projects: the Canarsie line CBTC experience. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 252–254. Springer, Heidelberg (2006). https://doi.org/10.1007/11955757_21

    Chapter  Google Scholar 

  32. Evans, N., Ifill, W.: Hardware verification and beyond: using B at AWE. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 260–261. Springer, Heidelberg (2006). https://doi.org/10.1007/11955757_24

    Chapter  Google Scholar 

  33. Falampin, J., Le-Dang, H., Leuschel, M., Mokrani, M., Plagge, D.: Improving railway data validation with ProB. In: Romanovsky, A., Thomas, M. (eds.) Industrial Deployment of System Engineering Methods, pp. 27–43. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-33170-1_4

    Chapter  Google Scholar 

  34. Fitzgerald, J.S., Bicarregui, J., Larsen, P.G., Woodcock, J.: Industrial deployment of formal methods: trends and challenges. In: Romanovsky, A., Thomas, M. (eds.) Industrial Deployment of System Engineering Methods, pp. 123–143. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-33170-1_10

    Chapter  Google Scholar 

  35. Hansen, D., et al.: Using a formal B model at runtime in a demonstration of the ETCS hybrid level 3 concept with real trains. In: Butler, M., Raschke, A., Hoang, T.S., Reichl, K. (eds.) ABZ 2018. LNCS, vol. 10817, pp. 292–306. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-91271-4_20

    Chapter  Google Scholar 

  36. Hansen, D., Schneider, D., Leuschel, M.: Using B and ProB for data validation projects. In: Butler, M., Schewe, K.-D., Mashkoor, A., Biro, M. (eds.) ABZ 2016. LNCS, vol. 9675, pp. 167–182. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33600-8_10

    Chapter  Google Scholar 

  37. Ladenberger, L., Bendisposto, J., Leuschel, M.: Visualising Event-B models with B-motion studio. In: Alpuente, M., Cook, B., Joubert, C. (eds.) FMICS 2009. LNCS, vol. 5825, pp. 202–204. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04570-7_17

    Chapter  Google Scholar 

  38. Ladenberger, L., Leuschel, M.: BMotionWeb: a tool for rapid creation of formal prototypes. In: De Nicola, R., Kühn, E. (eds.) SEFM 2016. LNCS, vol. 9763, pp. 403–417. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41591-8_27

    Chapter  Google Scholar 

  39. Lanet., J.-L.: The use of B for Smart Card. In: Proceedings FDL, vol. 2 (2002)

    Google Scholar 

  40. Lecomte, T.: The CLEARSY Safety Platform. https://www.clearsy.com/en/our-tools/clearsy-safety-platform/. Accessed 21 Jan 2020

  41. Lecomte, T.: Applying a formal method in industry: a 15-year trajectory. In: Alpuente, M., Cook, B., Joubert, C. (eds.) FMICS 2009. LNCS, vol. 5825, pp. 26–34. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04570-7_3

    Chapter  Google Scholar 

  42. Lecomte, T.: Return of experience on automating refinement in B. In: Proceedings SETS (2014)

    Google Scholar 

  43. Lecomte, T.: Developing Safety Critical Applications. CLEARSY Systems Engineering (2019). Accessed 21 Jan 2020

    Google Scholar 

  44. Lecomte, T., Burdy, L., Leuschel, M.: Formally checking large data sets in the railways. In: Proceedings of DS-Event-B, CoRR, abs/1210.6815 (2012)

    Google Scholar 

  45. Lecomte, T., Servat, T., Pouzancre, G., et al.: Formal methods in safety-critical railway systems. In: Proceedings SBMF, pp. 29–31 (2007)

    Google Scholar 

  46. Lee, M., Sørensen, I.H.: B-tool. In: Prehn, S., Toetenel, W.J. (eds.) VDM 1991. LNCS, vol. 551, pp. 695–696. Springer, Heidelberg (1991). https://doi.org/10.1007/3-540-54834-3_53

    Chapter  Google Scholar 

  47. Leuschel, M., Bendisposto, J., Dobrikov, I., Krings, S., Plagge, D.: From animation to data validation: the ProB constraint solver 10 years on. In: Formal Methods Applied to Complex Systems: Implementation of the B Method, ISTE, chapter 14, pp. 427–446. Wiley (2014)

    Google Scholar 

  48. Leuschel, M., Butler, M.J.: ProB: an automated analysis toolset for the B method. STTT 10(2), 185–203 (2008)

    Article  Google Scholar 

  49. Leuschel, M., Falampin, J., Fritz, F., Plagge, D.: Automated property verification for large scale B models. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 708–723. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-05089-3_45

    Chapter  Google Scholar 

  50. Leuschel, M., Falampin, J., Fritz, F., Plagge, D.: Automated property verification for large scale B models with ProB. Formal Asp. Comput. 23(6), 683–709 (2011)

    Article  MathSciNet  Google Scholar 

  51. Maamria , I., Butler, M.:. Rewriting and well-definedness within a proof system. In: Proceedings PAR, vol. 43. EPTCS (2010)

    Google Scholar 

  52. Maamria, I., Butler, M., Edmunds, A., Rezazadeh, A.: On an extensible rule-based prover for Event-B. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 407–407. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11811-1_40

    Chapter  Google Scholar 

  53. Mashkoor, A., Kossak, F., Egyed, A.: Evaluating the suitability of state-based formal methods for industrial deployment. Softw. Pract. Exp. 48(12), 2350–2379 (2018)

    Article  Google Scholar 

  54. Metayer, C.: AnimB website. http://www.animb.org/

  55. Rasheeq, A.: An approach to improve SysML railway specification using UML-B and Event-B. Master’s thesis, Frankfurt University of Applied Sciences (2019)

    Google Scholar 

  56. Robinson, K.: The B method and the B toolkit. In: Johnson, M. (ed.) AMAST 1997. LNCS, vol. 1349, pp. 576–580. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0000503

    Chapter  Google Scholar 

  57. Sabatier, D.: Using formal proof and B method at system level for industrial projects. In: Lecomte, T., Pinger, R., Romanovsky, A. (eds.) RSSRail 2016. LNCS, vol. 9707, pp. 20–31. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33951-1_2

    Chapter  Google Scholar 

  58. Servat, T.: BRAMA: a new graphic animation tool for B models. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 274–276. Springer, Heidelberg (2006). https://doi.org/10.1007/11955757_28

    Chapter  Google Scholar 

  59. Voisin, L., Abrial, J.-R.: The Rodin Platform has turned ten. In: Ait Ameur, Y., Schewe, K.D. (eds.) Abstract State Machines, Alloy, B, TLA, VDM, and Z Proceedings ABZ. LNCS, vol. 8477, pp. 1–8. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-43652-3_1

    Chapter  Google Scholar 

  60. Voros, N.S., Snook, C.F., Hallerstede, S., Masselos, K.: Embedded system design using formal model refinement: an approach based on the combined use of UML and the B language. Design Autom. Embed. Syst. 9(2), 67–99 (2004)

    Article  Google Scholar 

  61. Werth, M., Leuschel, M.: VisB: a lightweight tool to visualize formal models with SVG graphics. In: Raschke, A., Méry, D., Houdek, F. (eds.) ABZ 2020. LNCS, vol. 12071, pp. 260–265. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-48077-6_21

    Chapter  Google Scholar 

  62. Woodcock, J., Larsen, P.G., Bicarregui, J., Fitzgerald, J.S.: Formal methods: practice and experience. ACM Comput. Surv. 41(4), 19:1–19:36 (2009)

    Article  Google Scholar 

  63. Yang, F., Jacquot, J., Souquières, J.: JeB: safe simulation of Event-B models in JavaScript. In: Proceedings APSEC, vol. 1, pp. 571–576. IEEE (2013)

    Google Scholar 

Download references

Acknowledgements

We would like to show our gratitude to Jean-Raymond Abrial, who provided us with sources, discussions, insider information and knowledge from his personal experiences developing B and Event-B. We also thank the reviewers of FMICS for their extensive feedback and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Philipp Körner or Michael Leuschel .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Butler, M. et al. (2020). The First Twenty-Five Years of Industrial Use of the B-Method. In: ter Beek, M.H., Ničković, D. (eds) Formal Methods for Industrial Critical Systems. FMICS 2020. Lecture Notes in Computer Science(), vol 12327. Springer, Cham. https://doi.org/10.1007/978-3-030-58298-2_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-58298-2_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-58297-5

  • Online ISBN: 978-3-030-58298-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics