Validation of formal models by refinement animation

We provide a detailed description of refinement in Event-B, both as a contribution in itself and as a foundation for the approach to simultaneous animation of multiple levels of refinement that we propose. We present an algorithm for simultaneous multi-level animation of refinement, and show how it can be used to detect a variety of errors that occur frequently when using refinement. The algorithm has been implemented in ProB and we applied it to several case studies, showing that multi-level animation is tractable also on larger models. We present empirical results and discuss how the algorithm can be combined with symmetry reduction.

[1]  Jean-Raymond Abrial,et al.  Refinement, Decomposition, and Instantiation of Discrete Models: Application to Event-B , 2007, Fundam. Informaticae.

[2]  Stefan Hallerstede,et al.  A ( Small ) Improvement of Event-B ? , 2009 .

[3]  Stefan Hallerstede,et al.  Proving Quicksort Correct in Event-B , 2009, REFINE@FMWeek.

[4]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[5]  Ralph-Johan Back,et al.  Refinement Calculus, Part II: Parallel and Reactive Programs , 1989, REX Workshop.

[6]  Alan Bundy,et al.  Proceedings of Dagstuhl Seminar 09381: Refinement Based Methods for the Construction of Dependable Systems , 2009 .

[7]  Egon Börger,et al.  The ASM Refinement Method , 2003, Formal Aspects of Computing.

[8]  Yves Ledru,et al.  Specification and Animation of a Bank Transfer using KIDS/VDM , 2004, Automated Software Engineering.

[9]  Bruno Legeard,et al.  Automated Boundary Testing from Z and B , 2002, FME.

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

[11]  Michael Leuschel,et al.  ProB gets Nauty: Effective Symmetry Reduction for B and Z Models , 2008, 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering.

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

[13]  Roozbeh Farahbod,et al.  CoreASM: An Extensible ASM Execution Engine , 2007, Fundam. Informaticae.

[14]  Michael Leuschel,et al.  Developing Camille, a text editor for Rodin , 2011, Softw. Pract. Exp..

[15]  Yamine Aït Ameur,et al.  Animating Event B Models by Formal Data Models , 2008, ISoLA.

[16]  Michael J. Butler,et al.  Symmetry Reduction for B by Permutation Flooding , 2007, B.

[17]  C. A. R. Hoare,et al.  Data Refinement Refined , 1986, ESOP.

[18]  Michael J. Butler,et al.  Automatic Refinement Checking for B , 2005, ICFEM.

[19]  Michael Leuschel,et al.  Efficient Approximate Verification of B via Symmetry Markers , 2007 .

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

[21]  Michael Leuschel,et al.  The High Road to Formal Validation: , 2008, ABZ.

[22]  Thierry Massart,et al.  Efficient approximate verification of B and Z models via symmetry markers , 2010, Annals of Mathematics and Artificial Intelligence.

[23]  Dominique Cansell,et al.  Refinement and Reachability in EventB , 2005, ZB.

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

[25]  Shiwei Ma,et al.  Communications in Computer and Information Science , 2014 .

[26]  Michael Leuschel,et al.  La validation de modèles Event-B avec le plug-in ProB pour RODIN , 2008, Tech. Sci. Informatiques.

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

[28]  Jean-Raymond Abrial Refinement, Decomposition and Instantiation of Discrete Models , 2005, Abstract State Machines.

[29]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[30]  Michael J. Butler,et al.  An Open Extensible Tool Environment for Event-B , 2006, ICFEM.

[31]  Fabrice Bouquet,et al.  BZ-testing-tools: A tool-set for test generation from Z and B using constraint logic programming , 2002 .

[32]  Ina Schieferdecker,et al.  Applying Model Checking to Generate Model-Based Integration Tests from Choreography Models , 2009, TestCom/FATES.

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

[34]  Yamine Ait-Ameur,et al.  Animating Event B Models by Formal Data Models , 2008 .

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

[36]  Michael Leuschel,et al.  How to Explain Mistakes , 2009, TFM.

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