Utilizing Event-B for domain engineering: a critical analysis

This paper presents our experience of modeling land transportation domain in the formal framework of Event-B. Well-specified requirements are crucial for good software design; they depend on the understanding of the domain. Thus, domain engineering becomes an essential activity. The possibility to have a formal model of a domain, consistent with the use of formal methods for developing critical software working within it, is an important issue. Safety-critical domains, like transportation, exhibit interesting features, such as high levels of nondeterminism, complex interactions, stringent safety properties, and multifaceted timing attributes. The formal representation of these features is a challenging task. We explore the possibility of utilizing Event-B as a domain engineering tool. We discuss the problems we faced during this exercise and how we tackled them. Special attention is devoted to the issue of the validation of the model, in particular with a technique based on the animation of specifications. Event-B is mature enough to be an effective tool to model domains except in some areas, temporal properties mainly, where more work is still needed.

[1]  Jean-Pierre Jacquot,et al.  Scaling Up with Event-B: A Case Study , 2011, NASA Formal Methods.

[2]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[3]  MSc Mbcs CEng Michael Bronzite BSc System Development , 2000, Springer London.

[4]  Roger Pissard-Gibollet,et al.  Le cycab de l'INRIA Rhône-Alpes , 1999 .

[5]  Álvaro Enrique Arenas,et al.  From Goal-Oriented Requirements to Event-B Specifications , 2009, NASA Formal Methods.

[6]  Hung Dang Van Specification case studies in RAISE , 2002 .

[7]  D. Essame Handling Safety Critical Requirements in System Engineering Using the B Formal Method , 2004, SAFECOMP.

[8]  Michael J. Butler,et al.  Decomposition Structures for Event-B , 2009, IFM.

[9]  Anne Elisabeth Haxthausen,et al.  The Raise Specification Language , 1992 .

[10]  Frank Waters,et al.  The B Book , 1971 .

[11]  Dines Bjørner,et al.  Software Engineering 3 - Domains, Requirements, and Software Design , 2006, Texts in Theoretical Computer Science. An EATCS Series.

[12]  Lawrence Charles Paulson,et al.  ML for the working programmer , 1991 .

[13]  Dines Bjørner,et al.  Development of Transportation Systems , 2007, ISoLA.

[14]  Reiko Heckel,et al.  Verification of Architectural Refactorings by Rule Extraction , 2008, FASE.

[15]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[16]  François Erasmy,et al.  Raise: A rigorous approach using stepwise refinement , 1995 .

[17]  Steve A. Schneider,et al.  A CSP Approach to Control in Event-B , 2010, IFM.

[18]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[19]  Margaria Tiziana,et al.  Proceedings of Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, 2006. ISoLA 2006. , 2006 .

[20]  Chris Reade,et al.  ML for the Working Programmer (2nd edition) by L. C. Paulson, Cambridge University Press, 1996. A Practical Course in Functional Programming Using Standard ML by R. Bosworth, McGraw Hill, 1996. , 1997, Journal of Functional Programming.

[21]  Michael Poppleton,et al.  Feature composition - towards product lines of Event-B models , 2009 .

[22]  Colin F. Snook,et al.  UML-B: Formal modeling and design aided by UML , 2006, TSEM.

[23]  Arnaud Lanoix Event-B Specification of a Situated Multi-Agent System: Study of a Platoon of Vehicles , 2008, 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering.

[24]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[25]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[26]  Atif Mashkoor,et al.  Transformational Heuristics for Animation - Towards Stepwise Validation of Specications , 2010 .

[27]  Lawrence C. Paulson,et al.  ML for the working programmer (2. ed.) , 1996 .

[28]  Régine Laleau,et al.  A First Attempt to Express KAOS Refinement Patterns with Event B , 2008, ABZ.

[29]  Dines Bjøorner Domain engineering : technology management, research and engineering , 2009 .

[30]  Dines Bjørner,et al.  Domain Engineering - Technology Management, Research and Engineering , 2009, COE Research Monograph Series.

[31]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[32]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[33]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[34]  Bill Stoddart,et al.  Global and Communicating State Machine Models in Event Driven B: A Simple Railway Case Study , 2002, ZB.

[35]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[36]  Thai Son Hoang,et al.  Decomposition tool for event‐B , 2011, Softw. Pract. Exp..

[37]  Michael J. Butler,et al.  Verification of Liveness Properties in Distributed Systems , 2009, IC3.

[38]  Atif Mashkoor,et al.  Transformation Heuristics for Formal Requirements Validation by Animation , 2009 .

[39]  Thierry Servat,et al.  BRAMA: A New Graphic Animation Tool for B Models , 2007, B.

[40]  Michael J. Butler A System-Based Approach to the Formal Development of Embedded Controllers for a Railway , 2002, Des. Autom. Embed. Syst..

[41]  M. A Jackson,et al.  System development (Prentice-Hall International series in computer science) , 1983 .

[42]  Atif Mashkoor,et al.  B événementiel pour la modélisation du domaine: application au transport , 2009 .

[43]  Jesper Gørtz Specifying Safety and Progress Properties with RSL , 1994, FME.

[44]  Atif Mashkoor,et al.  Incorporating Animation in Stepwise Development of Formal Specification ∗ , 2009 .

[45]  Michael Poppleton,et al.  The Composition of Event-B Models , 2008, ABZ.

[46]  Cliff B. Jones,et al.  Systematic software development using VDM (2. ed.) , 1990, Prentice Hall International Series in Computer Science.

[47]  Dominique Cansell,et al.  Time Constraint Patterns for Event B Development , 2007, B.

[48]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[49]  Michael Poppleton,et al.  Timing diagrams requirements modeling using Event-B formal methods , 2010 .

[50]  Atif Mashkoor,et al.  Towards Validation of Requirements Models , 2010, ASM.

[51]  Álvaro Enrique Arenas,et al.  Towards Modelling Obligations in Event-B , 2008, ABZ.