When a Formal Model Rhymes with a Graphical Notation

  • Akram Idani
  • Nicolas Stouls
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8938)


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.


B method Symbolic LTS Animation Abstraction 


  1. 1.
    Abrial, J.-R.: Extending B without changing it (for developing distributed systems). In: Habrias, H. (ed.) First Conference on the B method, France, pp. 169–190 (1996)Google Scholar
  2. 2.
    Abrial, J.-R.: The B-Book. Cambridge University Press, Cambridge (1996)CrossRefzbMATHGoogle Scholar
  3. 3.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: a challenging model transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 436–450. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Bert, D., Potet, M.-L., Stouls, N.: GeneSyst: a tool to reason about behavioral aspects of B event specifications. Application to security properties. In: Treharne, H., King, S., C. Henson, M., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 299–318. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Casset, L.: Development of an embedded verifier for java card byte code using formal methods. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 290–309. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Dick, J., Faivre, A.: Automating the generation and sequencing of test cases from model-based specifications. In: Woodcock, J.C.P., Larsen, P.G. (eds.) FME ’93: Industrial Strength, Formal Methods. LNCS, vol. 670, pp. 268–284. Springer, London (1993)CrossRefGoogle Scholar
  7. 7.
    Essamé, D., Dollé, D.: B in large-scale projects: the Canarsie line CBTC experience. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 252–254. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Idani, A., Ledru, Y.: Dynamic graphical UML views from formal B specifications. Int. J. Inf. Softw.Technol. 48(3), 154–169 (2006). ElsevierCrossRefGoogle Scholar
  9. 9.
    Julliand, J., Stouls, N., Bué, P.-C., Masson, P.-A.: B model slicing and predicate abstraction to generate tests. Softw. Qual. J. 21(1), 127–158 (2013)CrossRefGoogle Scholar
  10. 10.
    Ledru, Y.: Using Jaza to animate RoZ specifications of UML class diagrams. In: SEW, pp. 253–262. IEEE Computer Society (2006)Google Scholar
  11. 11.
    Leuschel, M., Butler, M.: ProB: a model checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Leuschel, M., Butler, M., Spermann, C., Turner, E.: Symmetry reduction for B by permutation flooding. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 79–93. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    Pouzancre, G.: How to diagnose a modern car with a formal B model? In: Bert, D., Bowen, J.P., King, S., Waldén, M. (eds.) ZB 2003. LNCS, vol. 2651, pp. 98–100. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. 14.
    Savicks, V., Snook, C.: A framework for diagrammatic modelling extensions in Rodin. In: Rodin Workshop (2012)Google Scholar
  15. 15.
    Snook, C., Butler, M.: UML-B: formal modeling and design aided by UML. ACM Trans. Softw. Eng. Method. (TOSEM) 15(1), 92–122 (2006)CrossRefGoogle Scholar
  16. 16.
    Vu, D-H., Chiba, Y., Yatake, K., Aoki, T.: Model checking conformance of design model to its formal specification, Research report (2014)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.LIGUniversity of Grenoble AlpesGrenobleFrance
  2. 2.LIGCNRSGrenobleFrance
  3. 3.CITI-INRIAUniversité de Lyon, INSA-LyonLyonFrance

Personalised recommendations