Generation of Co-simulation Algorithms Subject to Simulator Contracts

Cláudio Gomes, Casper Thule, Levi Lúcio, Hans Vangheluwe and Peter Gorm Larsen

Software Engineering and Formal Method (SEFM 2019),

September 2020 · doi: 10.1007/978-3-030-57506-9_4


Correct co-simulation results require a careful consideration of how the interacting simulators are implemented. In version 2.0 of the FMI Standard, input handling implementation is left implicit, which leads to the situation where a simulator can be interacted with in a manner that its implementation does not expect, yielding incorrect results. In this paper, we build on prior work to make information about each simulator implementation explicit, in order to derive correct interactions with it. The formalization we use is specific to two kinds of contracts, but could serve as a basis to a general approach to black box co-simulation. The algorithm we propose generates a co-simulation execution plan in linear time. It has been successfully applied to an industrial case study, and the results are available online.

subject terms: Co-simulation, Prolog, Contract-based code generation, Constraint solving, Model-based Systems Engineering, MbSE