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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Consisting of Alsthom (today Alstom), Compagnie des Signaux (today Hitachi), and Matra Transport (today Siemens Transportation, France).
- 2.
Which is the justification for the title of this article.
- 3.
Initially the ProB team was unaware of the development of OVADO.
- 4.
See the site (accessed 25/5/2020): https://www.alstom.com/our-solutions/signalling/urbalis-cbtc-range-future-signalling-systems.
- 5.
References
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
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
Abrial, J.-R.: Extending B without changing it. In: Proceedings B, pp. 169–190 (1996). ISBN 2-906082-25-2
Abrial, J.-R.: The B-Book. Cambridge University Press, Cambridge (1996)
Abrial, J.-R.: Formal methods: theory becoming practice. J. Univ. Comput. Sci. 13(5), 619–628 (2007)
Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)
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
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
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
Abrial, J.-R., Schuman, S., Meyer, B.: Specification language. In: On the Construction of Programs: An Advanced Course. Cambridge University Press (1980)
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
Badeau, F., Doche-Petit, M.: Formal data validation with Event-B. In: Proceedings of DS-Event-B 2012, Kyoto, CoRR, abs/1210.7039 (2012)
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
Bendisposto, J., Krings, S., Leuschel, M.: Who watches the watchers: validating the ProB validation tool. In: Proceedings F-IDE, EPTCS, vol. 149 (2014)
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
Benveniste, M.: On using B in the design of secure micro-controllers: an experience report. ENTCS 280, 3–22 (2011)
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)
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
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
Boite, O.: Automatiser les preuves d’un sous-langage de la méthode B. Technique et Science Informatiques 21(8), 1099–1120 (2002)
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
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
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
Butler, M.J., et al.: Modelling and refinement in CODA. In: Proceedings Refine, EPTCS, vol. 115, pp. 36–51 (2013)
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
CENELEC: Railway Applications: Communications, Signalling and Processing Systems. Software for Railway Control and Protection Systems. EN50128: 2001 (2001)
ClearSy: Atelier B, User and Reference Manuals. Aix-en-Provence, France (2009). http://www.atelierb.eu/
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
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
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)
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
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
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
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
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
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
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
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
Lanet., J.-L.: The use of B for Smart Card. In: Proceedings FDL, vol. 2 (2002)
Lecomte, T.: The CLEARSY Safety Platform. https://www.clearsy.com/en/our-tools/clearsy-safety-platform/. Accessed 21 Jan 2020
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
Lecomte, T.: Return of experience on automating refinement in B. In: Proceedings SETS (2014)
Lecomte, T.: Developing Safety Critical Applications. CLEARSY Systems Engineering (2019). Accessed 21 Jan 2020
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)
Lecomte, T., Servat, T., Pouzancre, G., et al.: Formal methods in safety-critical railway systems. In: Proceedings SBMF, pp. 29–31 (2007)
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
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)
Leuschel, M., Butler, M.J.: ProB: an automated analysis toolset for the B method. STTT 10(2), 185–203 (2008)
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
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)
Maamria , I., Butler, M.:. Rewriting and well-definedness within a proof system. In: Proceedings PAR, vol. 43. EPTCS (2010)
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
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)
Metayer, C.: AnimB website. http://www.animb.org/
Rasheeq, A.: An approach to improve SysML railway specification using UML-B and Event-B. Master’s thesis, Frankfurt University of Applied Sciences (2019)
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
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
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
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
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)
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
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)
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)
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
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)