Asynchronous Testing of Synchronous Components in GALS Systems
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.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.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.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.Chapiro, D.M.: Globally-asynchronous locally-synchronous systems. Doctoral thesis, Stanford University, Department of Computer Science (1984)Google Scholar
- 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.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.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.Falcone, Y., Fernandez, J.-C., Jéron, T., Marchand, H., Mounier, L.: More testable properties. STTT 14(4), 407–437 (2012)CrossRefGoogle Scholar
- 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.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.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.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.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.Guernic, P.L., Talpin, J., Lann, J.L.: POLYCHRONY for system design. J. Circuits Syst. Comput. 12(3), 261–304 (2003)CrossRefGoogle Scholar
- 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.Halbwachs, N.: Synchronous Programming of Reactive Systems. Kluwer, Boston (1993)CrossRefGoogle Scholar
- 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.Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language LUSTRE. Proc. IEEE 79(9), 1305–1320 (1991)CrossRefGoogle Scholar
- 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.Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Boston (2003)Google Scholar
- 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.Jahier, E., Raymond, P., Baufreton, P.: Case studies with Lurette V2. STTT 8(6), 517–530 (2006)CrossRefGoogle Scholar
- 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.Jebali, F.: Formal framework for modelling and verifying globally asynchronous locally synchronous systems. Ph.D. thesis, Grenoble Alpes University, France, September 2016Google Scholar
- 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.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.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.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.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.Milner, R.: Calculi for synchrony and asynchrony. Theoret. Comput. Sci. 25, 267–310 (1983)MathSciNetCrossRefGoogle Scholar
- 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.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.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.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.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.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.Tretmans, J.: Conformance testing with labelled transition systems: implementation relations and test generation. Comput. Netw. ISDN Syst. 29(1), 49–79 (1996)CrossRefGoogle Scholar