Abstract
Simulation-based analyses are becoming increasingly vital for the development of cyber-physical systems. Co-simulation is one such technique, enabling the coupling of specialized simulation tools through an orchestration algorithm. The orchestrator describes how to coordinate the simulation of multiple simulation tools. The simulation result depends on the orchestration algorithm that must stabilize algebraic loops, choose the simulation resolution, and adhere to each simulation tool’s implementation. This paper describes how to verify that an orchestration algorithm respects all contracts related to the simulation tool’s implementation and how to synthesize such tailored orchestration algorithms. The approaches work for complex and adaptive co-simulation scenarios and have been applied to several real-world case studies.
Similar content being viewed by others
Notes
The model is available online: https://github.com/INTO-CPS-Association/Scenario-Verifier.
References
Lee, E.A.: UNKNOWN (ed.) Cyber physical systems: Design challenges. (ed.UNKNOWN) International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC). IEEE, Los Alamitos, CA, USA (2008)
Blockwitz, T., et al.: Functional Mockup Interface 2.0: The Standard for Tool independent Exchange of Simulation Models. In: Otter, M., Zimmer, D. (eds.) Proceedings of 9th International Modelica Conference, pp. 173–184. Linköping University Electronic Press, Linköping (2012)
Kübler, R., Schiehlen, W.: Two methods of simulator coupling. Math. Comput. Model. Dyn. Syst. 6(2), (2000)
Gomes, C., Broman, D., Vangheluwe, H., Thule, C. & Larsen, P. G. Co-simulation: a survey. ACM Computing Surveys 51 (3): (2018)
FMI. Functional mock-up interface tools (2014). https://fmi-standard.org/tools/
Arnold, M., Clauß, C., Schierz, T.: Error analysis and error estimates for co-simulation in FMI for model exchange and co-simulation v2.0. In: Schops, S., Bartel, A., Gunther, M., ter Maten, E.J.W., Muller, P.C. (eds.) Progress in Differential-Algebraic Equations. Springer, Berlin, Heidelberg (2014)
Gomes, C., et al.: HintCO—hint-based configuration of co-simulations. In: Obaidat, M.S., Ören, T.I., Szczerbicka, H. (eds.) Proc. Simultech’19. SciTePress, Setubal, Portugal (2019)
Oakes, B.J., et al.: Hint-based configuration of co-simulations with algebraic loops. In: Obaidat, M., Obaidat, M., Obaidat, M., Ören, T., Szczerbicka, H. (eds.) Proc. Simultech’19, Vol. 1260 of Advances in intelligent systems and computing. Springer, Setubal, Portugal (2020)
Gomes, C., Thule, C., Lausdahl, K., Larsen, P.G., Vangheluwe, H., Mazzara, M., Ober, I., Salaün, G. (eds).: Stabilization technique in INTO-CPS. Mazzara, M., Ober, I., Salaün, G. (eds.), Proc. 2nd Workshop on Formal Co-Simulation of Cyber-Physical Systems, Vol. 11176 of LNCS, Springer, Cham (2018)
Schweizer, B., Li, P., Lu, D.: Explicit and implicit cosimulation methods: stability and convergence analysis for different solver coupling approaches. J. Comput. Nonlinear Dyn. 10(5), 051007 (2015)
Gomes, C., et al.: Semantic adaptation for FMI co-simulation with hierarchical simulators. J. Simul. 95(3), 241–269 (2019)
Cavalcanti, A., Woodcock, J., Amálio, N. Sampaio, A., Wang, F. (eds.), Behavioural models for FMI co-simulations. (eds Sampaio, A. & Wang, F.) Proc. ICTAC’16, Vol. 9965 of LNCS Springer, Cham (2016)
Hansen, S.T., Gomes, C., Larsen, P.G., van de Pol, J., Martin, C.R., Blas, M.J., Inostrosa-Psijas, A. (eds.), Synthesizing co-simulation algorithms with step negotiation and algebraic loop handling. In: Martin, C.R., Blas, M.J., Inostrosa-Psijas, A., (eds.), Proc. Annual Modeling and Simulation Conference (ANNSIM’21), IEEE, Virginia, USA, (2021)
Hansen, S.T., et al.: Verification of co-simulation algorithms subject to algebraic loops and adaptive steps. In: Lluch Lafuente, A., Mavridou, A. (eds.) Proc. FMICS’21, Vol. 12863 of LNCS. Springer, Cham (2021)
Thule, C., Lausdahl, K., Gomes, C., Meisl, G., Larsen, P.G. Maestro: The INTO-CPS co-simulation framework. Simulatio Modelling Practice and Theory 92 (2019). https://www.sciencedirect.com/science/article/pii/S1569190X1830193X
Broman, D. et al.: Determinate composition of FMUs for co-simulation. In: Ernst, R., Sokolsky, O. (eds.), Proc. EMSOFT’13, IEEE, (2013)
Gomes, C., Thule, C., Lúcio, L., Vangheluwe, H., Larsen, P.G., Camara, J., Steffen, M. (eds): Generation of co-simulation algorithms subject to simulator contracts. In: Camara, J., Steffen, M. (ed.), Proc. SEFM’19 Collocated Workshops, Vol. 12226 of LNCS, Springer, Cham (2020)
Clarke, E.M., Jr., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge, MA, USA (1999)
Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press, Cambridge, Mass (2008)
Behrmann, G. et al.: UNKNOWN (ed.) UPPAAL 4.0. (ed.UNKNOWN) Third International Conference on Quantitative Evaluation of Systems (QEST 2006), Springer, (2006)
Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), (1994)
Bérard, B., et al.: UPPAAL—Timed systems. In: Bérard, B., et al. (eds.) Systems and Software Verification: Model-Checking Techniques and Tools. Springer, Berlin, Heidelberg (2001)
Hansen, S.T., Thule, C., Gomes, C. Cleophas, L., Massink, M. (eds.), An FMI-Based Initialization Plugin for INTO-CPS Maestro 2. In: Cleophas, L., Massink, M. (eds.), Proc. SEFM’20 Collocated Workshops, Vol. 12524, Springer, Cham (2020)
Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM 18(8), (1975)
Cellier, F.E., Kofman, E.: Continuous System Simulation. Springer, New York (2010)
Inci, E.O. et al.: The effect and selection of solution sequence in co-simulation. In: Martin, C.R., Blas, M.J., Inostrosa-Psijas, A. (eds.), Proc. Annual Modeling and Simulation Conference (ANNSIM’21), IEEE, Virginia, USA (2021)
Tarjan, R.E.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1(2), 146–160 (1972)
Alfonso, J. et al.: Distributed simulation and testing for the design of a smart suspension. SAE International Journal of Connected and Automated Vehicles 3(2), (2020)
Gomes, C., Lucio, L., Vangheluwe, H., Burgueño, L. et al.: (eds) Semantics of co-simulation algorithms with simulator contracts. In: Burgueño, L. et al. (eds.), Proc. ACM/IEEE MODELS’19, IEEE (2019)
Thule, C., et al.: Towards the verification of hybrid co-simulation algorithms. In: Mazzara, M., Ober, I., Salaün, G. (eds.) Proc. STAF’18 Collocated Workshops, Vol. 11176 of LNCS. Springer, Cham (2018)
Amálio, N., Payne, R.J., Cavalcanti, A., Woodcock, J. Ogata, K., Lawford, M., Liu, S.: Checking SysML models for co-simulation. In: Ogata, K., Lawford, M., Liu, S. (eds.), Proc. ICFEM’16, Vol. 10009 of LNCS Springer, Cham (2016)
Zeyda, F., Ouy, J., Foster, S., Cavalcanti, A. Cerone, A., Roveri, M.: Formalising cosimulation models. In: Cerone, A., Roveri, M. (eds.), Proc. SEFM’17 Collocated Workshops, Vol. 10729 of LNCS Springer, Cham (2017)
Jensen, P.G., Larsen, K.G., Legay, A., Nyman, U. UNKNOWN (ed.): Integrating tools: Co-simulation in UPPAAL using FMI-FMU. (ed.UNKNOWN) Proc. ICECCS’17, IEEE, Fukuoka (2017)
Palmieri, M., Bernardeschi, C., Masci, P.: A framework for FMI-based co-simulation of human-machine interfaces. Softw. Syst. Model. 19(3), (2020)
Tire size calculator (2021). https://tiresize.com/calculator/
Acknowledgements
We are grateful to the Poul Due Jensen Foundation, which has supported the establishment of a new Centre for Digital Twin Technology at Aarhus University. We are would also like to thank the anonymous reviewers of the paper, who have provided valuable feedback on the paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix A: Table of conventions
This appendix contains a table describing the notation used throughout the paper. Capitalized letters refer to sets, while lower case letters refer to a variable belonging to the set represented by the capitalized letter.
Convention | Description |
---|---|
\(U\) | All Inputs of the Scenario |
\(U_{c}\) | Inputs of the SU c |
\(Y\) | All Outputs of the Scenario |
\(U_{c}\) | Outputs of the SU c |
\(S_{}\) | States |
\(s_{c}^{(t)}\) | State of SU c at time t |
\(\mathcal {V_{T}}{}\) | Time stamped values of the type \(\mathcal {V}\times \mathbb {R}_{\ge 0}\) |
\(s^{R}_{c}\) | The abstract state of SU c |
t | Time t (\(t \in \mathbb {R}_{\ge 0}\)) |
H | Step duration H (\(H \in \mathbb {R}_{> 0}\)) |
\(L\) | Couplings between SUs |
\(F\) | Feed-through constraints |
\(R\) | Reactivity constraints |
\(C\) | A set of SU identifiers |
\(\mathcal {A}\) | Adaptations |
\(M\) | A set of SUs that may reject a step duration |
\(B\) | A set of SUs that must be backtracked |
Appendix B: BNF grammar
The section presents the domain-specific language where user can describe co-simulation algorithms and scenarios for both simple, complex, and adaptive co-simulation scenario.
Examples of algorithms and scenarios described using the DSL are available online https://github.com/INTO-CPS-Association/Scenario-Verifier/tree/master/src/test/resources.
Appendix C: Algorithm of nested complex scenario
The co-simulation step of the scenario in Fig. 8a on page 26.
Appendix D: Parameters of the full vehicle model
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Hansen, S.T., Thule, C., Gomes, C. et al. Verification and synthesis of co-simulation algorithms subject to algebraic loops and adaptive steps. Int J Softw Tools Technol Transfer 24, 999–1024 (2022). https://doi.org/10.1007/s10009-022-00686-8
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-022-00686-8