When a Formal Model Rhymes with a Graphical Notation

Formal methods are based on mathematical notations which allow to rigorously reason about a model and ensure its correctness by proofs and/or model-checking. Unfortunately, these notations are complex and often difficult to understand from a human point of view especially for engineers who are not familiar with formal methods. Several research works have proposed tools to support formal models using graphical views. On the one hand, such views are useful to make formal documents accessible to humans, and on the other hand they ease the verification of some behavioral properties. However, links between graphical and formal models proposed by these approaches are often difficult to put into practice and depend on the targeted formal language. In this paper, we discuss these links from a practical approach and show how a behavioral description can be computed from a formal model based on two complementary paradigms: under-approximation (or animation-based) and over-approximation (or proof-based). We applied these paradigms in order to produce behavioural state/chart views from B models and we carried out an empirical study to assess the quality and relevance of these graphical representations for humans.

[1]  Marie-Laure Potet,et al.  GeneSyst: A Tool to Reason About Behavioral Aspects of B Event Specifications. Application to Security Properties , 2005, ZB.

[2]  Guilhem Pouzancre How to Diagnose a Modern Car with a Formal B Model? , 2003, ZB.

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

[4]  Ludovic Casset Development of an Embedded Verifier for Java Card Byte Code Using Formal Methods , 2002, FME.

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

[6]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[7]  Jacques Julliand,et al.  B model slicing and predicate abstraction to generate tests , 2013, Software Quality Journal.

[8]  Steve A. Schneider,et al.  ZB 2005: Formal Specification and Development in Z and B, 4th International Conference of B and Z Users, Guildford, UK, April 13-15, 2005, Proceedings , 2005, ZB.

[9]  Daniel Dollé,et al.  B in Large-Scale Projects: The Canarsie Line CBTC Experience , 2007, B.

[10]  Peter A. Lindsay,et al.  FME 2002:Formal Methods—Getting IT Right , 2002, Lecture Notes in Computer Science.

[11]  Yves Ledru,et al.  Dynamic graphical UML views from formal B specifications , 2006, Inf. Softw. Technol..

[12]  Toshiaki Aoki,et al.  Checking the Conformance of a Promela Design to its Formal Specification in Event-B , 2014, FTSCS.

[13]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[14]  Jim Woodcock,et al.  FME '93: Industrial-Strength Formal Methods , 1993, Lecture Notes in Computer Science.

[15]  Jonathan P. Bowen,et al.  ZB 2003: Formal Specification and Development in Z and B , 2003, Lecture Notes in Computer Science.

[16]  Jacques Julliand,et al.  B 2007: Formal Specification and Development in B, 7th International Conference of B Users, Besançon, France, January 17-19, 2007, Proceedings , 2006, B.

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

[18]  Yves Ledru Using Jaza to Animate RoZ Specifications of UML Class Diagrams , 2006, 2006 30th Annual IEEE/NASA Software Engineering Workshop.

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

[20]  Indrakshi Ray,et al.  UML2Alloy: a challenging model transformation , 2007, MODELS'07.