Advertisement

Formal Aspects of Computing

, Volume 28, Issue 5, pp 767–804 | Cite as

Formal modelling and verification of GALS systems using GRL and CADP

  • Fatma JebaliEmail author
  • Frédéric Lang
  • Radu Mateescu
Original Article

Abstract

A GALS (Globally Asynchronous, Locally Synchronous) system consists of several synchronous components that evolve concurrently and interact with each other asynchronously. The design of GALS systems is tedious and error-prone due to the high degree of synchronous and asynchronous concurrency present in complex architectures. In this paper, we present GRL (GALS Representation Language), a formal language designed to model GALS systems, for the purpose of formal verification of the asynchronous aspects. GRL combines the synchronous reactive model underlying dataflow languages and the asynchronous concurrent model underlying process algebras. We propose a translation from GRL to LNT, a value-passing concurrent language with classical process algebra flavour. This makes possible the analysis of GRL specifications using all the state-of-the-art simulation and verification functionalities provided by the CADP toolbox.

Keywords

GALS systems Asynchronous concurrency Formal description techniques Model-based verification GRL CADP 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. BBC10.
    Benveniste A, Bouillard A, Caspi P (2010) A unifying view of loosely time-triggered architectures. In: Proceedings of the Tenth ACM International Conference on Embedded Software EMSOFT ’10, ACM, New York, NY, USA, pp 189–198Google Scholar
  2. BBS12.
    Bai Y, Brandt J, Schneider K (2012) Preservation of LTL properties in desynchronized systems. In: MEMOCODE. IEEE, July 2012, pp 53–64Google Scholar
  3. BCLG99.
    Benveniste A, Caillaud B, Le Guernic P (1999) From synchrony to asynchrony. In: Jos C, Baeten M, Mauw S (eds) CONCUR’99, vol 1664 of LNCS. Springer, Berlin, pp 162–177Google Scholar
  4. BCMW15.
    Backes J, Cofer DD, Miller SP, Whalen M (2015) Requirements analysis of a quad-redundant flight control system. CoRR arXiv:1502.03343
  5. BÖM14.
    Bae K, Ölveczky PC, Meseguer J (2014) Definition, semantics, and analysis of multirate synchronous AADL. In: Jones C, Pihlajasaari P, Sun J (eds) FM 2014, vol 8442 of LNCS, pp 94–109Google Scholar
  6. Bou98.
    Bouali A (1998) Xeve, an Esterel verification environment. In: Hu AJ, Vardi MY (eds) CAV, vol 1427 of LNCS. Springer Berlin , pp 500–504Google Scholar
  7. BRS93.
    Berry G, Ramesh S, Shyamasundar RK (1993) Communicating reactive processes. In: Proc. of POPL, ACM Press, pp 85–98Google Scholar
  8. BS01.
    Berry G, Sentovich E (2001) Multiclock Esterel. In: Proc. of CHARME, volume 2144 of LNCS, Springer, Berlin pp 110–125Google Scholar
  9. CCG+14.
    Champelovier D, Clerc X, Garavel H, Guerte Y, Powazny V, Lang F, Serwe W, Smeding G (2014) Reference Manual of the LNT to LOTOS Translator (Version 6.1). INRIA/VASY and INRIA/CONVECS, pp 131,Google Scholar
  10. Cha84.
    Chapiro DM (1984) Globally-Asynchronous Locally-Synchronous Systems. Technical report, DTIC DocumentGoogle Scholar
  11. CMP01.
    Caspi P, Mazuet C, Paligot N (2001) About the design of distributed control systems: the quasi-synchronous approach. In: Udo Voges, editor, Computer Safety, Reliability and Security, volume 2187 of LNCS, Springer Berlin Heidelberg, pp 215–226Google Scholar
  12. DMK+06.
    Doucet F, Menarini M, Krüger IH, Gupta R, Talpin J-P (2006) A verification approach for GALS integration of synchronous components. ENTCS 146(2): 105–131Google Scholar
  13. Gar08.
    Garavel H (2008) Reflections on the future of concurrency theory in general and process calculi in particular. ENTCS 209: 149–164zbMATHGoogle Scholar
  14. GG03.
    Gamatié A, Gautier T (2003) The signal approach to the design of system architectures. In: 10th IEEE international conference on engineering of computer-based systems, ECBS 2003, IEEE, Huntsville, AL, USA, pp 80–88Google Scholar
  15. GG07.
    Ganai MK, Gupta A (2007) Efficient BMC for multi-clock systems with clocked specifications. In: Design automation conference, pp 310–315Google Scholar
  16. GG10.
    Gamatié A, Gautier T (2010) The signal synchronous multiclock approach to the design of distributed embedded systems. IEEE Trans Parallel Distrib Syst 21(5): 641–657CrossRefGoogle Scholar
  17. GGTG10.
    Glouche Y, Le Guernic P, Talpin J-P, Gautier T (2010) A boolean algebra of contracts for assume-guarantee reasoning. In: Electron Notes Theor Comput Sci, 263:111–127 (Proceedings of the 6th International Workshop on Formal Aspects of Component Software (FACS 2009))Google Scholar
  18. GL02.
    Garavel H, Lang F (2002) SVL: a scripting language for compositional verification. In: Formal techniques for networked and distributed systems, IFIP conference proceedings, Springer, Berlin, pp 377–392Google Scholar
  19. GLM02.
    Garavel H, Lang F, Mateescu R (2002) Compiler Construction using LOTOS NT. In: Horspool N (ed) Proceedings of the 11th international conference on compiler construction (CC’02), Grenoble, France, vol 2304 of LNCS, pp 9–13Google Scholar
  20. GLM15.
    Garavel H, Lang F, Mateescu R (2015) Compositional verification of asynchronous concurrent systems using CADP. Acta Inf, 52(4): 337–392MathSciNetCrossRefzbMATHGoogle Scholar
  21. GLMS13.
    Garavel H, Lang F, Mateescu R, Serwe W (2013) . 15(2): 89–107CrossRefzbMATHGoogle Scholar
  22. GT09.
    Garavel H, Thivolle D (2009) Verification of GALS systems by combining synchronous languages and process calculi. In: Pasareanu C (ed) Model checking software, proceedings of the 16th international SPIN workshop on model checking of software SPIN’2009 (Grenoble, France), vol 5578 of LNCS, pp 241–260Google Scholar
  23. GVZ01.
    Garavel H, Viho C, Zendri M (2001) System design of a CC-NUMA multiprocessor architecture using formal specification, model-checking, co-simulation, and test generation. STTT 3(3): 314–331zbMATHGoogle Scholar
  24. Hal13.
    Halbwachs N (2013) Synchronous programming of reactive systems, vol 215. Springer, BerlinGoogle Scholar
  25. HB02.
    Halbwachs N, Baghdadi S (2012) Synchronous modeling of asynchronous systems. In: EMSOFT’02, vol 2491 of LNCS, Springer, Grenoble, pp 240–251Google Scholar
  26. HLR93a.
    Halbwachs N, Lagnier F, Raymond P (1993) Synchronous observers and the verification of reactive systems. In: AMAST’93, Twente, Springer, Berlin, pp 83–96Google Scholar
  27. HLR93b.
    Halbwachs N, Lagnier F, Raymond P (1993) Synchronous observers and the verification of reactive systems. In: Nivat M, Rattray C, Rus T, Scollo G (eds) AMAST’93, Twente, June 1993. Workshops in Computing, Springer, BerlinGoogle Scholar
  28. HM06.
    Halbwachs N, Mandel L (2006) Simulation and verification of asynchronous systems by means of a synchronous model. In: Proc. of ACSD, pp 3–14Google Scholar
  29. Hol97.
    Holzmann GJ (1997) The model checker SPIN. IEEE Trans Softw Eng 23(5)Google Scholar
  30. ISO01.
    ISO/IEC (2001) Enhancements to LOTOS (E-LOTOS). International standard 15437:2001, International organization for standardization—information technology, GenèveGoogle Scholar
  31. JLM14a.
    Jebali F, Lang F, Mateescu R (2014) GRL: A specification language for globally asynchronous locally synchronous systems. Proc. of ICFEM, vol 8829, pp 219–234Google Scholar
  32. JLM14b.
    Jebali F, Lang F, Mateescu R (2014) GRL: A specification language for globally asynchronous locally synchronous systems (syntax and formal semantics). Research report RR-8527, INRIAGoogle Scholar
  33. LGTLL03.
    Le Guernic P, Talpin J-P, Le Lann J-C (2001) Polychrony for system design. J Circuits Syst Comput 12(03): 261–303CrossRefGoogle Scholar
  34. Mil82.
    Milner R (1982) A calculus of communicating systems Springer, New YorkGoogle Scholar
  35. Mil83.
    Milner R (1983) Calculi for synchrony and asynchrony. Theor comput sci, 25(3): 267–310MathSciNetCrossRefzbMATHGoogle Scholar
  36. Mil89.
    Milner R (1989) Communication and concurrency, vol 84. Prentice Hall, New YorkzbMATHGoogle Scholar
  37. MSRG10.
    Malik A, Salcic Z, Roop PS, Girault A (2010) SystemJ: A GALS language for system level design. Comput Lang Syst Struct 36(4): 317–344Google Scholar
  38. MT08.
    Mateescu R, Thivolle D (2008) A model checking language for concurrent value-passing systems. In: Proc. of FM, LNCS, Springer, Berlin pp 148–164Google Scholar
  39. MWO+05.
    Miller SP, Whalen MW, O’Brien D, Heimdahl MP, Joshi A (2005) A methodology for the design and verification of globally asynchronous/locally synchronous architectures. National Aeronautics and Space Administration, Langley Research CenterGoogle Scholar
  40. PBCB06.
    Potop-Butucaru D, Caillaud B, Benveniste A (2006) Concurrency in synchronous systems. FMSD, 28(2): 111–130zbMATHGoogle Scholar
  41. PBDSST09.
    Potop-Butucaru D, De Simone R, Sorel Y, Talpin J-P (2009) From concurrent multi-clock programs to deterministic asynchronous implementations. In: ACSD ’09. IEEE, pp 42–51Google Scholar
  42. Plo81.
    Plotkin GD (1981) A structural approach to operational semantics. Technical Report DAIMI FN-19, University of AarhusGoogle Scholar
  43. PMS15.
    Heejong P, Avinash M, Zoran S (2015) Compiling and verifying 0SC-systemJ programs for safety-critical reactive systems. Comput Lang Syst Struct 44(PC):251–282Google Scholar
  44. Ram98.
    Ramesh S (1998) Communicating reactive state machines: design, model and implementation. In: IFAC Workshop on Distributed Computer Control SystemsGoogle Scholar
  45. RSD+04.
    Ramesh S, Sonalkar S, Dsilva V, Naveen Chandra R, Vijayalakshmi B (2004) A Toolset for Modelling and Verification of GALS Systems. In: Alur R, Peled DA (eds) Proc. of CAV, volume 3114 of LNCS, Springer, pp 506–509Google Scholar
  46. Sme13.
    Smeding G (2013) Verification of Weakly-Hard Requirements on Quasi-Synchronous Systems. Theses, Université de GrenobleGoogle Scholar
  47. vDKV00.
    van Deursen A, Klint P, Visser J (2000) Domain-specific Languages: An Annotated Bibliography. SIGPLAN Not 35(6): 26–36CrossRefGoogle Scholar
  48. vGW96.
    van Glabbeek RJ, Weijland WP (1996) Branching Time and Abstraction in Bisimulation Semantics. J ACM 43(3): 555–600MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© British Computer Society 2016

Authors and Affiliations

  • Fatma Jebali
    • 1
    • 2
    • 3
    Email author
  • Frédéric Lang
    • 1
    • 2
    • 3
  • Radu Mateescu
    • 1
    • 2
    • 3
  1. 1.INRIAGrenobleFrance
  2. 2.Univ. Grenoble Alpes, LIGGrenobleFrance
  3. 3.CNRS, LIGGrenobleFrance

Personalised recommendations