Advertisement

Asynchronous Testing of Synchronous Components in GALS Systems

  • Lina MarssoEmail author
  • Radu Mateescu
  • Ioannis Parissis
  • Wendelin Serwe
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11918)

Abstract

GALS (Globally Asynchronous Locally Synchronous) systems, such as the Internet of Things or autonomous cars, integrate reactive synchronous components that interact asynchronously. The complexity induced by combining synchronous and asynchronous aspects makes GALS systems difficult to develop and debug. Ensuring their functional correctness and reliability requires rigorous design methodologies, based on formal methods and assisted by validation tools. In this paper we propose a testing methodology for GALS systems integrating: (1) synchronous and asynchronous concurrent models; (2) functional unit testing and behavioral conformance testing; and (3) various formal methods and their tool equipments. We leverage the conformance test generation for asynchronous systems to automatically derive realistic scenarios (input constraints and oracle), which are necessary ingredients for the unit testing of individual synchronous components, and are difficult and error-prone to design manually. We illustrate our approach on a simple, but relevant example inspired by autonomous cars.

Notes

Acknowledgements

This work was supported by the Région Auvergne-Rhône-Alpes within the ARC6 programme.

References

  1. 1.
    Behrmann, G., David, A., Larsen, K.G., Möller, O., Pettersson, P., Yi, W.: Uppaal: present and future. In: Decision and Control. IEEE (2001)Google Scholar
  2. 2.
    Berry, G.: SCADE: synchronous design and validation of embedded control software. In: Ramesh, S., Sampath, P. (eds.) Next Generation Design and Verification Methodologies for Distributed Embedded Control Systems, pp. 19–33. Springer, Dordrecht (2007).  https://doi.org/10.1007/978-1-4020-6254-4_2CrossRefGoogle Scholar
  3. 3.
    Burns, F.P., Sokolov, D., Yakovlev, A.: A structured visual approach to GALS modeling and verification of communication circuits. IEEE Trans. CAD Integr. Circuits Syst. 36(6), 938–951 (2017)CrossRefGoogle Scholar
  4. 4.
    Chapiro, D.M.: Globally-asynchronous locally-synchronous systems. Doctoral thesis, Stanford University, Department of Computer Science (1984)Google Scholar
  5. 5.
    da Silva Simão, A., Petrenko, A.: Generating complete and finite test suite for ioco: is it possible? In: Schlingloff, H., Petrenko, A.K. (eds.) MBT 2014. EPTCS, vol. 141, pp. 56–70 (2014)Google Scholar
  6. 6.
    Doucet, F., Menarini, M., Krüger, I.H., Gupta, R.K., Talpin, J.: A verification approach for GALS integration of synchronous components. ENTCS 146(2), 105–131 (2006)Google Scholar
  7. 7.
    Faivre, A., Gaston, C., Le Gall, P.: Symbolic model based testing for component oriented systems. In: Petrenko, A., Veanes, M., Tretmans, J., Grieskamp, W. (eds.) FATES/TestCom -2007. LNCS, vol. 4581, pp. 90–106. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-73066-8_7CrossRefGoogle Scholar
  8. 8.
    Falcone, Y., Fernandez, J.-C., Jéron, T., Marchand, H., Mounier, L.: More testable properties. STTT 14(4), 407–437 (2012)CrossRefGoogle Scholar
  9. 9.
    Garavel, H., Lang, F.: SVL: a scripting language for compositional verification. In: Kim, M., Chin, B., Kang, S., Lee, D. (eds.) FORTE 2001. IIFIP, vol. 69, pp. 377–392. Springer, Boston, MA (2002).  https://doi.org/10.1007/0-306-47003-9_24CrossRefGoogle Scholar
  10. 10.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2011: a toolbox for the construction and analysis of distributed processes. STTT 15(2), 89–107 (2013)CrossRefGoogle Scholar
  11. 11.
    Garavel, H., Lang, F., Serwe, W.: From LOTOS to LNT. In: Katoen, J.-P., Langerak, R., Rensink, A. (eds.) ModelEd, TestEd, TrustEd. LNCS, vol. 10500, pp. 3–26. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-68270-9_1CrossRefGoogle Scholar
  12. 12.
    Garavel, H., Thivolle, D.: Verification of GALS systems by combining synchronous languages and process calculi. In: Păsăreanu, C.S. (ed.) SPIN 2009. LNCS, vol. 5578, pp. 241–260. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02652-2_20CrossRefGoogle Scholar
  13. 13.
    Graf-Brill, A., Hermanns, H.: Model-based testing for asynchronous systems. In: Petrucci, L., Seceleanu, C., Cavalcanti, A. (eds.) FMICS/AVoCS -2017. LNCS, vol. 10471, pp. 66–82. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-67113-0_5CrossRefGoogle Scholar
  14. 14.
    Guernic, P.L., Talpin, J., Lann, J.L.: POLYCHRONY for system design. J. Circuits Syst. Comput. 12(3), 261–304 (2003)CrossRefGoogle Scholar
  15. 15.
    Günther, H., Milius, S., Möller, O.: On the formal verification of systems of synchronous software components. In: Ortmeier, F., Daniel, P. (eds.) SAFECOMP 2012. LNCS, vol. 7612, pp. 291–304. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-33678-2_25CrossRefGoogle Scholar
  16. 16.
    Halbwachs, N.: Synchronous Programming of Reactive Systems. Kluwer, Boston (1993)CrossRefGoogle Scholar
  17. 17.
    Halbwachs, N., Baghdadi, S.: Synchronous modelling of asynchronous systems. In: Sangiovanni-Vincentelli, A., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491, pp. 240–251. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-45828-X_18CrossRefGoogle Scholar
  18. 18.
    Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language LUSTRE. Proc. IEEE 79(9), 1305–1320 (1991)CrossRefGoogle Scholar
  19. 19.
    Halbwachs, N., Mandel, L.: Simulation and verification of asynchronous systems by means of a synchronous model. In: ACSD 2006, pp. 3–14. IEEE (2006)Google Scholar
  20. 20.
    Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Boston (2003)Google Scholar
  21. 21.
    Jahier, E., Halbwachs, N., Raymond, P.: Engineering functional requirements of reactive systems using synchronous languages. In: 8th IEEE International Symposium on Industrial Embedded Systems, vol. 8, pp. 140–149 (2013)Google Scholar
  22. 22.
    Jahier, E., Raymond, P., Baufreton, P.: Case studies with Lurette V2. STTT 8(6), 517–530 (2006)CrossRefGoogle Scholar
  23. 23.
    Jard, C., Jéron, T.: TGV: theory, principles and algorithms - a tool for the automatic synthesis of conformance test cases for non-deterministic reactive systems. STTT 7(4), 297–315 (2005)CrossRefGoogle Scholar
  24. 24.
    Jebali, F.: Formal framework for modelling and verifying globally asynchronous locally synchronous systems. Ph.D. thesis, Grenoble Alpes University, France, September 2016Google Scholar
  25. 25.
    Jebali, F., Lang, F., Mateescu, R.: Formal modelling and verification of GALS systems using GRL and CADP. FAoC 28(5), 767–804 (2016)MathSciNetzbMATHGoogle Scholar
  26. 26.
    Lorber, F.: It’s about time – model-based mutation testing for synchronous and asynchronous timed systems. Ph.D. thesis, Institute of Software Technology, Graz University of Technology, Austria (2016)Google Scholar
  27. 27.
    Marsso, L., Mateescu, R., Serwe, W.: TESTOR: a modular tool for on-the-fly conformance test case generation. In: Beyer, D., Huisman, M. (eds.) TACAS 2018. LNCS, vol. 10806, pp. 211–228. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-89963-3_13CrossRefGoogle Scholar
  28. 28.
    Mateescu, R., Garavel, H.: XTL: a meta-language and tool for temporal logic model-checking. In: Margaria, T. (ed.) STTT 1998, pp. 33–42. BRICS (1998)Google Scholar
  29. 29.
    Mateescu, R., Thivolle, D.: A model checking language for concurrent value-passing systems. In: Cuellar, J., Maibaum, T., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 148–164. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-68237-0_12CrossRefGoogle Scholar
  30. 30.
    Milner, R.: Calculi for synchrony and asynchrony. Theoret. Comput. Sci. 25, 267–310 (1983)MathSciNetCrossRefGoogle Scholar
  31. 31.
    Mousavi, M.R., Guernic, P.L., Talpin, J.-P., Shukla, S.K., Basten, T.: Modeling and validating globally asynchronous design in synchronous frameworks. In: DATE 2004, pp. 384–389. IEEE (2004)Google Scholar
  32. 32.
    Noroozi, N., Khosravi, R., Mousavi, M.R., Willemse, T.A.C.: Synchrony and asynchrony in conformance testing. Softw. Syst. Model. 14(1), 149–172 (2015)CrossRefGoogle Scholar
  33. 33.
    Ramesh, S., Sonalkar, S., D’silva, V., Chandra R., N., Vijayalakshmi, B.: A toolset for modelling and verification of GALS systems. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 506–509. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-27813-9_47CrossRefzbMATHGoogle Scholar
  34. 34.
    Raymond, P., Roux, Y., Jahier, E.: Lutin: a language for specifying and executing reactive scenarios. EURASIP J. Embed. Syst. (2008). https://link.springer.com/article/10.1155/2008/753821#citeas
  35. 35.
    Taylor, R.N., Levine, D.L., Kelly, C.D.: Structural testing of concurrent programs. IEEE Trans. Softw. Eng. 18(3), 206–215 (1992)CrossRefGoogle Scholar
  36. 36.
    Teehan, P., Greenstreet, M., Lemieux, G.: A survey and taxonomy of GALS design styles. IEEE Des. Test Comput. 24(5), 418–428 (2007)CrossRefGoogle Scholar
  37. 37.
    Tretmans, J.: Conformance testing with labelled transition systems: implementation relations and test generation. Comput. Netw. ISDN Syst. 29(1), 49–79 (1996)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Lina Marsso
    • 1
    Email author
  • Radu Mateescu
    • 1
  • Ioannis Parissis
    • 2
  • Wendelin Serwe
    • 1
  1. 1.Univ. Grenoble Alpes, Inria, CNRS, Grenoble INP, LIGGrenobleFrance
  2. 2.Univ. Grenoble Alpes, Grenoble INP, LCISValenceFrance

Personalised recommendations