Refinement Tree and Its Patterns: A Graphical Approach for Event-B Modeling

Event-B is a famous formal approach for verifying the requirements specification of safety-critical systems. Even though Event-B is a good formal approach which is successful in applying to several practical case studies, we think that additional methods are needed to apply it to the safety critical systems. Once we identify the requirements, Event-B allows us to formally describe the requirements. However, Event-B does not explicitly support analysing and elaborating requirements themselves. Although refinement mechanisms provided by Event-B is useful to stepwise model concrete requirements from abstract ones, guideline of the refinements is not provided. This paper aims to propose a refinement tree diagram and its refinement patterns to provide the requirements analysis and elaboration, and the guideline for Event-B. The diagram and the patterns are partially derived from the KAOS method, a goal-oriented requirements engineering method. The utility of the diagram and the patterns is successfully shown by applying them to three practical case studies.

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

[2]  Jean-Raymond Abrial,et al.  Formal methods in industry: achievements, problems, future , 2006, ICSE.

[3]  Huibiao Zhu,et al.  Complementary Methodologies for Developing Hybrid Systems with Event-B , 2012, ICFEM.

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

[5]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

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

[7]  Michael Z. Spivey,et al.  The Z notation , 1989 .

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

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

[10]  Michael J. Butler,et al.  Applying Event and Machine Decomposition to a Flash-Based Filestore in Event-B , 2009, SBMF.

[11]  Andreas Fürst,et al.  Event-B Patterns and Their Tool Support , 2009, SEFM.

[12]  Christophe Ponsard,et al.  Generating High-Level Event-B System Models from KAOS Requirements Models , 2011, INFORSID.

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

[14]  Colin F. Snook,et al.  Language and Tool Support for Class and State Machine Refinement in UML-B , 2009, FM.

[15]  Régine Laleau,et al.  A Goal-Based Approach to Guide the Design of an Abstract Event-B Specification , 2011, 2011 16th IEEE International Conference on Engineering of Complex Computer Systems.

[16]  Huibiao Zhu,et al.  Formalizing Hybrid Systems with Event-B , 2012, ABZ.

[17]  Didar Zowghi,et al.  On the interplay between consistency, completeness, and correctness in requirements evolution , 2003, Inf. Softw. Technol..

[18]  Renato Silva Lessons Learned/Sharing the Experience of Developing a Metro System Case Study , 2012, ArXiv.