Formal Aspects of Computing

, Volume 28, Issue 1, pp 145–178 | Cite as

Verification of \({{EB}^3}\) specifications using CADP

  • Dimitris Vekris
  • Frédéric Lang
  • Catalin Dima
  • Radu Mateescu
Original Article


\({{\small {EB}}^3}\) is a specification language for information systems. The core of the \({{\small {EB}}^3}\) language consists of process algebraic specifications describing the behaviour of the entities in a system, and attribute function definitions describing the entity attributes. The verification of \({{\small {EB}}^3}\) specifications against temporal properties is of great interest to users of \({{\small {EB}}^3}\). In this paper, we propose a translation from \({{\small {EB}}^3}\) to LOTOS NT (LNT for short), a value-passing concurrent language with classical process algebra features. Our translation ensures the one-to-one correspondence between states and transitions of the labelled transition systems corresponding to the \({{\small {EB}}^3}\) and LNT specifications. We automated this translation with the \({{{\small {EB}}^3}2{\small {LNT}}}\) tool, thus equipping the \({{\small {EB}}^3}\) method with the functional verification features available in the CADP toolbox.


Process algebras Information systems \({{\small {EB}}^3}\) LOTOS NT Model checking Verification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. ABJ+99.
    Abdulla PA, Bouajjani A, Jonsson B, Nilsson M (1999) Handling global conditions in parameterized system verification. In: Proceedings of CAV, LNCS, vol 1633. Springer, Berlin, pp 134–145Google Scholar
  2. Abr05.
    Abrial JR (2005) The B-book—assigning programs to meanings. Cambridge University Press, CambridgezbMATHGoogle Scholar
  3. Abr10.
    Abrial JR (2010) Modeling in event-B: system and software engineering. Cambridge University Press, CambridgeCrossRefzbMATHGoogle Scholar
  4. BB02.
    Barradas HR, Bert D (2002) Specification and proof of liveness properties under fairness assumptions in B event systems. In: Proceedings of integrated formal methods, LNCS, vol 2335. Springer, Berlin, pp 360–379Google Scholar
  5. BCC+99.
    Biere A, Cimatti A, Clarke E, Zhu Y (1999) Symbolic model checking without BDDs. In: Workshop on Tools and Algorithms for the Construction and Analysis of Systems, LNCS, vol 1579. Springer, Berlin, pp 193–207Google Scholar
  6. BCJ02.
    Bellegarde F, Chouali S, Julliand J (2002) Verification of dynamic constraints for B event systems under fairness assumptions. In: ZB 2002: formal specification and development in Z and B, LNCS, vol 2272. Springer, Berlin, pp 477–496Google Scholar
  7. BPS01.
    Bergstra JA, Ponse A, Smolka SA (2001) Handbook of process algebra. Elsevier, AmsterdamzbMATHGoogle Scholar
  8. BK85.
    Bergstra JA, Klop JW (1985) Algebra of communicating processes with abstraction. TCS 37: 77–121MathSciNetCrossRefzbMATHGoogle Scholar
  9. Cho10.
    Chossart R (2010) Évaluation d’outils de vérification pour les spécifications de systèmes d’information. Master’s thesis, Université de SherbrookeGoogle Scholar
  10. Cl.
    ClearSy. Atelier B.
  11. CCG+02.
    Cimatti A, Clarke E, Giunchiglia E, Giunchiglia F, Pistore M, Roveri M, Sebastiani R, Tacchella A (2002) NuSMV 2: an opensource tool for symbolic model checking. Springer, BerlinzbMATHGoogle Scholar
  12. CCG05.
    Champelovier D, Clerc X, Garavel H, Guerte Y, McKinty C, Powazny V, Lang F, Serwe W, Smeding G (2011) Reference manual of the LOTOS NT to LOTOS translator—version 5.4. INRIA/VASY, FranceGoogle Scholar
  13. CES86.
    Clarke EM, Emerson EA, Sistla AP (1986) Automatic verification of finite-state concurrent systems using temporal logic specifications J ACM Trans Program Lang Syst, vol 8. Springer, Berlin, pp 244–263Google Scholar
  14. EL+86.
    Emerson EA, Lei CL (1986) Efficient model checking in fragments of the propositional Mu-calculus. In: Proceedings of logic in computer science, pp 267–278Google Scholar
  15. ETL+04.
    Evans N, Treharne H, Laleau R, Frappier M (2004) How to verify dynamic properties of information systems. In: Workshop of software engineering and formal, methods, pp 416–425Google Scholar
  16. FFC10.
    Frappier M, Fraikin B, Chossart R, Chane-Yack-Fa R, Ouenzar M (2010) Comparison of model checking tools for information systems. In: Proceedings of ICFEM, LNCS, vol 6447. Springer, Berlin, pp 581–596Google Scholar
  17. Fdr97.
    Formal Systems (Europe) Ltd. Failures-divergences refinement. FDR2 User Manual 1997Google Scholar
  18. FSt03.
    Frappier M, St.-Denis R (2003) \({{\small {EB}}^3}\) an entity-based black-box specification method for information systems. J Softw Syst Model, vol 2. Springer, Berlin, pp 134–149Google Scholar
  19. GLMS10.
    Garavel H, Lang F, Mateescu R, Serwe W (2011) CADP 2010: a toolbox for the construction and analysis of distributed processes. In: Proceedings of tools and algorithms for the construction and analysis of systems, LNCS, vol 6605. Springer, Berlin, pp 372–387Google Scholar
  20. Ger06.
    F. Gervais. Combinaison de spécifications formelles pour la modélisation des systèmes d’information. PhD thesis, Université de Sherbrooke, 2006Google Scholar
  21. Gro06.
    J. Groslambert. Verification of LTL on B Event System. Technical report, 2006Google Scholar
  22. GFL05.
    F. Gervais, M. Frappier, R. Laleau. Synthesizing B Specifications from \({{\small {EB}}^3}\) Attribute Definitions. In Proceedings of Integrated Formal Methods, LNCS vol. 3771, pages 207–226 Springer, 2005Google Scholar
  23. GFL06.
    Gervais F, Frappier M, Laleau R (2006) Refinement of \({{\small {EB}}^3}\) process patterns into B specifications. In: Proceedings of formal specification and development in B, LNCS, vol 4355. Springer, Berlin, pp 201–215Google Scholar
  24. Hoa78.
    Hoare CAR (1978) Communicating sequential processes. Commun ACM 21: 666–677CrossRefzbMATHGoogle Scholar
  25. HA11.
    Hoang T-S, Abrial T-S (2011) Reasoning about liveness properties in Event-B. In: Proceedings of formal engineering methods, LNCS vol 6991, pp 456–471Google Scholar
  26. Hol04.
    Holzmann GJ (2004) The spin model checker: primer and reference manual. Addison-Wesley, BostonGoogle Scholar
  27. Jac06.
    Jackson D (2006) Software abstractions. MIT Press, New YorkGoogle Scholar
  28. JFG+10.
    Jiague ME, Frappier M, Gervais F, Konopacki P, Laleau R, Milhau J, St-Denis R (2010) Model-driven engineering of functional security policies. In: Proceedings of international conference on enterprise information, pp 374–379Google Scholar
  29. Lot01.
    ISO/IEC (2001) Enhancements to LOTOS (E-LOTOS). International Standard number 15437:2001, International Organization for Standardization—information technology, GenèveGoogle Scholar
  30. LB03.
    Leuschel M, Butler M (2003) ProB: a model checker for B. In: Proceedings of symposium on formal methods, LNCS, vol 2805. Springer, Berlin, pp 855–874Google Scholar
  31. Koz83.
    Kozen D (1983) Results on the propositional \({\mu }\)-calculus. TCS 27: 333–354MathSciNetCrossRefzbMATHGoogle Scholar
  32. LMC00.
    Leuschel M, Massart M, Currie A (2000) How to make FDR spin: LTL model checking of CSP by refinement. Technical reportGoogle Scholar
  33. Mor98.
    Morgan CC (1998) Programming from specifications. Prentice Hall, AmsterdamzbMATHGoogle Scholar
  34. MF15.
    Mammar A, Frappier M (2015) Proof-based verification approaches for dynamic properties: application to the information system domain. J Formal Asp Comput 27: 335–374MathSciNetCrossRefzbMATHGoogle Scholar
  35. MIL+11.
    Milhau J, Idani A, Laleau R, Labiadh MA, Ledru Y, Frappier M (2011) Combining UML, ASTD and B for the formal specification of an access control filter. J Innov Syst Softw Eng 7:303–313. Springer, BerlinGoogle Scholar
  36. MT08.
    Mateescu R, Thivolle D (2008) A model checking language for concurrent value-passing systems. In: Proceedings of formal methods, LNCS, vol 5014. Springer, Berlin, pp 148–164Google Scholar
  37. Pnu77.
    Pnueli A (1977) The temporal logic of programs. J. Found. Comput. Sci., vol 18. Springer, Berlin, pp 46–57Google Scholar
  38. QS83.
    Queille J-P, Sifakis J (1983) Fairness and related properties in transition systems-a temporal logic to deal with fairness. J Acta Informatica 19: 195–220MathSciNetzbMATHGoogle Scholar
  39. Str82.
    Streett R (1982) Propositional dynamic logic of looping and converse. Inf Contr 54: 121–141MathSciNetCrossRefzbMATHGoogle Scholar
  40. ST05.
    Schneider S, Treharne H (2005) CSP theorems for communicating B machines. J Formal Asp Comput, vol 17. Springer, Berlin, pp 390–422Google Scholar
  41. STW+14.
    Schneider S, Treharne H, Wehrheim H, Williams DM (2014) Managing LTL properties in event-B refinement. In: Proceedings of integrated formal methods. Springer, Berlin, pp 221–237Google Scholar
  42. TSB03.
    Treharne H, Schneider S, Bramble M (2003) Composing specifications using communication. In: Proceedings of ZB, LNCS, vol 2651. Springer, Berlin, pp 55–78Google Scholar
  43. Vek14.
    Vekris D (2014) Verification of \({{\small {EB}}^3}\) specifications with the aid of model-checking techniques. PhD thesis, Université de Paris-Créteil
  44. VD13.
    Vekris D, Dima C (2013) Efficient operational semantics for \({{\small {EB}}^3}\) for verification of temporal properties. In: Proceedings of fundamentals of software engineering, LNCS, vol 8161, pp 133–149. Springer, BerlinGoogle Scholar
  45. VLD+13.
    Vekris D, Lang F, Dima C, Mateescu R (2013) Verification of \({{\small {EB}}^3}\) specifications using CADP. In: Proceedings of integrated formal methods, LNCS, vol 7940. Springer, Berlin, pp 61–76Google Scholar

Copyright information

© British Computer Society 2016

Authors and Affiliations

  • Dimitris Vekris
    • 1
  • Frédéric Lang
    • 2
  • Catalin Dima
    • 1
  • Radu Mateescu
    • 2
  1. 1.LACL, Université Paris-EstCréteilFrance
  2. 2.Inria Grenoble Rhône-Alpes and LIG-CONVECS TeamSaint IsmierFrance

Personalised recommendations