Skip to main content
Log in

Formal modelling and verification of GALS systems using GRL and CADP

  • Original Article
  • Published:
Formal Aspects of Computing

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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–198

  2. Bai Y, Brandt J, Schneider K (2012) Preservation of LTL properties in desynchronized systems. In: MEMOCODE. IEEE, July 2012, pp 53–64

  3. 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–177

  4. Backes J, Cofer DD, Miller SP, Whalen M (2015) Requirements analysis of a quad-redundant flight control system. CoRR arXiv:1502.03343

  5. 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–109

  6. Bouali A (1998) Xeve, an Esterel verification environment. In: Hu AJ, Vardi MY (eds) CAV, vol 1427 of LNCS. Springer Berlin , pp 500–504

  7. Berry G, Ramesh S, Shyamasundar RK (1993) Communicating reactive processes. In: Proc. of POPL, ACM Press, pp 85–98

  8. Berry G, Sentovich E (2001) Multiclock Esterel. In: Proc. of CHARME, volume 2144 of LNCS, Springer, Berlin pp 110–125

  9. 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,

  10. Chapiro DM (1984) Globally-Asynchronous Locally-Synchronous Systems. Technical report, DTIC Document

  11. 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–226

  12. 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–131

    Google Scholar 

  13. Garavel H (2008) Reflections on the future of concurrency theory in general and process calculi in particular. ENTCS 209: 149–164

    MATH  Google Scholar 

  14. 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–88

  15. Ganai MK, Gupta A (2007) Efficient BMC for multi-clock systems with clocked specifications. In: Design automation conference, pp 310–315

  16. 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–657

    Article  Google Scholar 

  17. 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))

  18. 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–392

  19. 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–13

  20. Garavel H, Lang F, Mateescu R (2015) Compositional verification of asynchronous concurrent systems using CADP. Acta Inf, 52(4): 337–392

    Article  MathSciNet  MATH  Google Scholar 

  21. Garavel H, Lang F, Mateescu R, Serwe W (2013) . 15(2): 89–107

    Article  MATH  Google Scholar 

  22. 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–260

  23. 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–331

    MATH  Google Scholar 

  24. Halbwachs N (2013) Synchronous programming of reactive systems, vol 215. Springer, Berlin

    Google Scholar 

  25. Halbwachs N, Baghdadi S (2012) Synchronous modeling of asynchronous systems. In: EMSOFT’02, vol 2491 of LNCS, Springer, Grenoble, pp 240–251

  26. Halbwachs N, Lagnier F, Raymond P (1993) Synchronous observers and the verification of reactive systems. In: AMAST’93, Twente, Springer, Berlin, pp 83–96

  27. 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, Berlin

  28. Halbwachs N, Mandel L (2006) Simulation and verification of asynchronous systems by means of a synchronous model. In: Proc. of ACSD, pp 3–14

  29. Holzmann GJ (1997) The model checker SPIN. IEEE Trans Softw Eng 23(5)

  30. ISO/IEC (2001) Enhancements to LOTOS (E-LOTOS). International standard 15437:2001, International organization for standardization—information technology, Genève

  31. Jebali F, Lang F, Mateescu R (2014) GRL: A specification language for globally asynchronous locally synchronous systems. Proc. of ICFEM, vol 8829, pp 219–234

  32. 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, INRIA

  33. Le Guernic P, Talpin J-P, Le Lann J-C (2001) Polychrony for system design. J Circuits Syst Comput 12(03): 261–303

    Article  Google Scholar 

  34. Milner R (1982) A calculus of communicating systems Springer, New York

  35. Milner R (1983) Calculi for synchrony and asynchrony. Theor comput sci, 25(3): 267–310

    Article  MathSciNet  MATH  Google Scholar 

  36. Milner R (1989) Communication and concurrency, vol 84. Prentice Hall, New York

    MATH  Google Scholar 

  37. Malik A, Salcic Z, Roop PS, Girault A (2010) SystemJ: A GALS language for system level design. Comput Lang Syst Struct 36(4): 317–344

    Google Scholar 

  38. Mateescu R, Thivolle D (2008) A model checking language for concurrent value-passing systems. In: Proc. of FM, LNCS, Springer, Berlin pp 148–164

  39. 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 Center

  40. Potop-Butucaru D, Caillaud B, Benveniste A (2006) Concurrency in synchronous systems. FMSD, 28(2): 111–130

    MATH  Google Scholar 

  41. 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–51

  42. Plotkin GD (1981) A structural approach to operational semantics. Technical Report DAIMI FN-19, University of Aarhus

  43. 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–282

  44. Ramesh S (1998) Communicating reactive state machines: design, model and implementation. In: IFAC Workshop on Distributed Computer Control Systems

  45. 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–509

  46. Smeding G (2013) Verification of Weakly-Hard Requirements on Quasi-Synchronous Systems. Theses, Université de Grenoble

  47. van Deursen A, Klint P, Visser J (2000) Domain-specific Languages: An Annotated Bibliography. SIGPLAN Not 35(6): 26–36

    Article  Google Scholar 

  48. van Glabbeek RJ, Weijland WP (1996) Branching Time and Abstraction in Bisimulation Semantics. J ACM 43(3): 555–600

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fatma Jebali.

Additional information

Stephan Merz, Jun Pang, and Jin Song Dong

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jebali, F., Lang, F. & Mateescu, R. Formal modelling and verification of GALS systems using GRL and CADP. Form Asp Comp 28, 767–804 (2016). https://doi.org/10.1007/s00165-016-0373-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-016-0373-3

Keywords

Navigation