Co-simulation

SysML model of a Co-simulation configuration. Three sub-models (two water tanks and one controller) are here connected together, each sub-model is represented by one FMU.

WANT TO LEARN MORE


Take a look at the following project deliverable:

or visit:

Challenge

Cyber-Physical Systems are composed of heterogeneous sub-systems and components. These subsystems can, for example, comprise networks, control algorithms, mechanical components, electrical circuits or sensors. For each of these subsystems, modelling tools and formalisms have been developed over the last decades. Furthermore, these subsystems can be re-used in completely different contexts, e.g. a sensor being deployed in various systems. Therefore, it is not ideal to try to integrate all these parts into one single, monolithic modelling and simulation framework. Rather, these sub-systems can be seen as “building blocks” that are combined into one complete system and being simulated together in a coupled simulation, for short Co-simulation.

The Co-simulation approach is therefore very generic and relevant for investigating the behaviour at system-level. It is independent of the domain or specific type of system.


State of the Art

Several standards for Co-Simulation have been developed over the last years. These include for example HLA (coming mostly from the military domain), SMP (in the space domain) or FMI (originating from the automotive domain). In particular, Co-simulation based on FMI (Functional Mock-up Interface) has gained more and more attention from research and industry since its first release in 2009.

FMI defines the interface between the models of different sub-parts and the signals that are exchanged. Furthermore, the FMI standard defines a format for the sub-models that are being packaged together with the interface description. These packaged models are called Functional Mock-up Units (FMU). The FMI standard therefore allows model re-use and exchange of one model (e.g. from one supplier) with another one, which provides the same interface.


Solution offered by INTO-CPS

Co-Simulation based on the FMI standard is a central part of the whole INTO-CPS tool chain. Due to the open and widely supported standard, this means that the users are free to combine other models into their Co-simulation, coming from other tools. At the same time, models created from INTO-CPS tools can be used in other scenarios since all INTO-CPS tools are now fully compliant with the FMI 2.0 standard.

The central software of INTO-CPS that organises the Co-simulation is called the “Co-Simulation Orchestration Engine” (COE). The COE exchanges the signals between the different sub-models (the FMUs) at certain points in time (either fixed time steps or variable time steps). Configurations can either be written manually, or can be imported from the Modelio tool. The FMUs are statically checked for correctness by the COE before the co-simulation is initialised. It can be executed on Windows, Linux or Mac operating systems, supporting 32 and 64-bit architectures.