is a project aiming at the modeling and simulation of complex systems. It provides concepts and tools to describe the system and then simulate a system as a set of heterogeneous models (namely a multi-model).
The central issue is the integration of the distinct subsystems. The key principle of
to overcome this issue is to conceive the multi-model from a multi-agent perspective: a multi-model is considered as a society of heterogeneous interacting models.
takes into account the heterogeneity at different levels, from the application one to the software one. For instance, a multi-model can be heterogeneous:
- At the point of view level (multi-domain modelling),
- At the interaction/coupling level (the way information are exchanged between models),
- At the formalism level (continuous or discrete),
- At the simulation software level (preexisting tools),
- At the language level (tools can be written in different languages or may have their API in different languages),
- At the hardware level (some tools have to be ran on a specific machine).
proposes a metal-modelling approach based on the multi-agent metaphor to describe a heterogeneous multi-model. A multi-model is described using multi-agent concepts represented graphically and associated with semantic and syntactic constraints in order to guarantee a non-ambiguous description. These concepts are formalized based on the DEVS operational specifications enabling the derivation from a graphical representation to an executable multi-simulation.
Since a lot of work has been devoted to the modelling, the simulation, and the interoperability of software, the
project aims at re-using existing concepts, formalisms or tools, especially if they are standard and/or open-source.
A multi-model is a set of interconnected heterogeneous models. Intuitively, it can be represented as boxes (the models) and arrows (the connection between models). We suppose that the models already exists.
The figure 1 presents such an intuitive multi-model. It is inspired from the Lorenz system which describes a phenomenon with three equations. We suppose each equation corresponds to a model. In order to represent the target system, we need to make those three models interact and exchange variables values to solve it.
However, this multi-model representation suffers from several drawbacks:
- It is ambiguous: the meaning of an arrow is not clear even if it can be guessed in that specific case,
- It can’t be simulated: nothing is said about the resolution of such a system.
In order to translate this multi-model representation into an
representation, we need to express the structure of the multi-model and its dynamics.
The structural description is about the components of the multi-model and the way they are connected. The symbols used in
are represented in figure 2.
The starting point is the set of models. Each of the connection between to models in a multi-model represents an information flow between the models. To represent it within
, we use a coupling artifact.
Since models are heterogeneous, they can use different representations for the same information. Consequently, information has to be translated from one representation to another. In
, this is done using an operation.
The dynamic description deals with the system simulation, this is how we decide which simulator to execute in order to compute the next state of its model. In other words, it deals with the way to schedule all the simulators in order to respect causality constraint.
adopts a decentralized coordination where each simulator is associated with a local scheduler. This decentralized coordination is two-fold:
- A first part specifies what and when to exchange between models. This corresponds to the description of the information to read or to write from a model and at which time of the local simulation it has to be done. This part is assumed by the M-Agent (figure 2 (d)) whose behavior corresponds to the Chandy-Misra-Bryant algorithm. This behavior enables the global simulation of the multi-model in a decentralized way. This part is generic.
- The second part describes how to execute one step of the local simulation. It links inputs and outputs of the M-agent with the concrete representation in the simulator and asks the simulator to execute one step of simulation. This model-dependent part correspond to the model artifact (figure 2 (c)).
representation of a multi-model
Thanks to the graphical primitives presented in (figure 2), we can provide a representation of a multi-model. For example, the multi-model of the first figure corresponds to the
multi-model of Figure (figure 3).
B. Zeigler, H. Praehofer, and T. Kim, Theory of Modeling and Simulation: Integrating Discrete Event and Continuous Complex Dynamic Systems. Academic Press, 2000