Using the Event-B formal method for disciplined agile delivery of safety-critical systems

In order to improve the development process of highintegrity systems, using formal methods, we consider how agile techniques may influence the Event-B formal method, and how Event-B may be used in a development that uses an agile approach. To examine the crossover between Event-B and agile methods we review the Disciplined Agile Delivery approach (DAD). The DAD approach is inspired by many state-of-the-art agile techniques, and we use it as a meta-analysis of current bestpractice. In this paper, we propose an agile process for using Event-B and examine how agile techniques might influence the use of Event-B. We identify a number of areas in which EventB could be improved and suggest that a different view of agile practices may be needed for an agile project involving formal development. Keywords–Agile; Formal Methods; Event-B; Critical Systems

[1]  Scott W. Ambler,et al.  Scaling Agile Software Development Disciplined Agility at Scale By , 2014 .

[2]  David Déharbe Integration of SMT-solvers in B and Event-B development environments , 2013, Sci. Comput. Program..

[3]  Als-Nscort Eclipse Platform Technical Overview , 2003 .

[4]  Florentin Ipate,et al.  Learn and Test for Event-B - A Rodin Plugin , 2012, ABZ.

[5]  Martyn Thomas,et al.  Industrial Deployment of System Engineering Methods , 2013, Springer Berlin Heidelberg.

[6]  Michael Butler,et al.  Tasking Event-B: An Extension to Event-B for Generating Concurrent Code , 2011 .

[7]  Andrew Edmunds Templates for Event-B Code Generation , 2014, ABZ.

[8]  Michael Jastram ProR, an Open Source Platform for Requirements Engineering based on RIF , 2010 .

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

[10]  Camilo Rueda,et al.  Translating B machines to JML specifications , 2012, SAC '12.

[11]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[12]  Michael J. Butler,et al.  Shared Event Composition/Decomposition in Event-B , 2010, FMCO.

[13]  Mary Poppendieck,et al.  Lean Software Development , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[14]  John Colley Advanced Design and Verification Environment for Cyber-physical System Engineering , 2011 .

[15]  Néstor Cataño,et al.  Translating event-B to JML-specified Java programs , 2014, SAC.

[16]  Colin F. Snook,et al.  Documenting the Progress of the System Development , 2009, Methods, Models and Tools for Fault Tolerance.

[17]  Vitaly Savicks,et al.  Co-simulation of Event-B and Continuous Models in Rodin , 2013 .

[18]  Scott W. Ambler,et al.  Going Beyond Scrum Disciplined Agile Delivery By , 2013 .

[19]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[20]  Ron Jeffries,et al.  Extreme Programming Installed , 2000 .

[21]  Sune Wolff Scrum goes formal: Agile methods for safety-critical systems , 2012, 2012 First International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA).

[22]  Peter Gorm Larsen,et al.  Are Formal Methods Ready for Agility? A Reality Check , 2010, FM+AM.

[23]  Scott W. Ambler,et al.  Disciplined Agile Delivery: A Practitioner's Guide to Agile Software Delivery in the Enterprise , 2012 .

[24]  Anirban Basu,et al.  A Systematic Method to Evaluate the Software Engineering Practices for Minimizing Technical Debt , 2015 .

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

[26]  Gudmund Grov,et al.  Refinement Plans for Informed Formal Design , 2012, ABZ.

[27]  Johan Lilius,et al.  Scenario-Based Test Case Generation Using Event-B Models , 2009, 2009 First International Conference on Advances in System Testing and Validation Lifecycle.

[28]  Marina Waldén,et al.  DevOps meets formal modelling in high-criticality complex systems , 2015, QUDOS@SIGSOFT FSE.

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

[30]  Elena Troubitsyna,et al.  Supporting Reuse in Event B Development: Modularisation Approach , 2010, ASM.

[31]  Michael J. Butler,et al.  ProB: an automated analysis toolset for the B method , 2008, International Journal on Software Tools for Technology Transfer.

[32]  Gudmund Grov,et al.  A Rigorous Approach to Combining Use Case Modelling and Accident Scenarios , 2015, NFM.

[33]  Michael J. Butler,et al.  Practical Theory Extension in Event-B , 2013, Theories of Programming and Formal Methods.

[34]  Bertrand Meyer Design By Contract. The Eiffel Method , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[35]  Fuyuki Ishikawa,et al.  Understanding and Planning Event-B Refinement through Primitive Rationales , 2014, ABZ.

[36]  Torgeir Dingsøyr,et al.  A decade of agile methodologies: Towards explaining agile software development , 2012, J. Syst. Softw..

[37]  Florentin Ipate,et al.  Towards Search-Based Testing for Event-B Models , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[38]  Kevin Cleary,et al.  Agile methods for open source safety‐critical software , 2011, Softw. Pract. Exp..

[39]  George Eleftherakis,et al.  An Agile Formal Development Methodology , 2003 .

[40]  Michael Butler,et al.  UML-B and Event-B: an integration of languages and tools , 2008, ICSE 2008.

[41]  Shinichi Honiden,et al.  Towards Refinement Strategy Planning for Event-B , 2012, ArXiv.

[42]  Stefan Hallerstede,et al.  Justifications for the Event-B Modelling Notation , 2007, B.

[43]  Jonathan P. Bowen,et al.  Formal Versus Agile: Survival of the Fittest , 2009, Computer.

[44]  Peter G. Bishop,et al.  A Methodology for Safety Case Development , 2000, SSS.

[45]  Marina Waldén,et al.  Measuring the Progress of a System Development , 2012 .

[46]  Richard F. Paige,et al.  Agile Formal Method Engineering , 2005, IFM.

[47]  Kaisa Sere,et al.  Specification Metrics for Event-B Developments , 2010 .