Event-B at Work: Some Lessons Learnt from an Application to a Robot Anti-collision Function

The technical and academic aspects of the Event-B method, and the abstract description of its application in industrial contexts are the subjects of numerous publications. In this paper, we describe the experience of development engineers non familiar with Event-B to getting to grips with this method. We describe in details how we used the formalism, the refinement method, and its supporting toolset to develop the simple anti-collision function embedded in a small rolling robot. We show how the model has been developed from a set of high-level requirements and refined down to the software specification. For each phase of the development, we explain how we used the method, expose the encountered difficulties, and draw some practical lessons from this experiment.

[1]  Eric Jenn,et al.  An Experiment on Exploiting Virtual Platforms for the Development of Embedded Equipments , 2016 .

[2]  Michael Butler Towards a Cookbook for Modelling and Refinement of Control Problems , 2009 .

[3]  Neeraj Kumar Singh,et al.  Reliability and Safety of Critical Device Software Systems , 2011 .

[4]  Jean-Pierre Jacquot,et al.  JeB: Safe Simulation of Event-B Models in JavaScript , 2013, 2013 20th Asia-Pacific Software Engineering Conference (APSEC).

[5]  Huibiao Zhu,et al.  From Requirements to Development: Methodology and Example , 2011, ICFEM.

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

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

[8]  Faqing Yang,et al.  A Simulation Framework for the Validation of Event-B Specifications. (Un environnement de simulation pour la validation de spécifications B événementiel) , 2013 .

[9]  Ning Ge,et al.  Formal Verification of a Rover Anti-collision System , 2016, FMICS-AVoCS.

[10]  Dominique Méry,et al.  Formal Specification of Medical Systems by Proof-Based Refinement , 2013, TECS.

[11]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

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

[13]  Arnaud Dieumegard,et al.  From Event-B to Verified C via HLL , 2016, ArXiv.

[14]  Dominique Méry,et al.  Real-Time Animation for Formal Specification , 2010, CSDM.

[15]  Michael Leuschel,et al.  Refinement-Animation for Event-B - Towards a Method of Validation , 2010, ASM.

[16]  Ning Ge,et al.  Industrial grade model checking: use Cases, constraints, tools and applications , 2016 .

[17]  Dominique Méry,et al.  Trustable Formal Specification for Software Certification , 2010, ISoLA.

[18]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[19]  Marc Pantel,et al.  Stepwise Formal Modeling and Verification of Self-Adaptive Systems with Event-B. The Automatic Rover Protection Case Study , 2016, 2016 21st International Conference on Engineering of Complex Computer Systems (ICECCS).

[20]  Michael Leuschel,et al.  Visualising Event-B Models with B-Motion Studio , 2009, FMICS.

[21]  Jean-Louis Boulanger,et al.  Formal Methods Applied to Complex Systems: Implementation of the B Method , 2014 .

[22]  Vitaly Savicks,et al.  Rodin multi-simulation plug-in , 2014 .