Objectives
A Model-Based System Engineering (MBSE) approach allows, for the development of both embedded system and their simulation products, ensuring their reliability, promoting design and test of candidate architectures, mixing real or simulated components of the controller and/or plant, and of course reducing their development time. MBSE typically relies on model transformations and code generators. Given an abstract syntax based on DEVS, our approach relies on a modular Time Petri Net model transformation with a rigourous separation of the abstract model and its simulator. Petri nets are very efficient to describe parallelism and concurrency (resource sharing, synchronization) between tasks or processes. Moreover there are easy to implements on an execution platform especially for the class we use.
ProjectDEVS based on the Discrete Event System Specification (DEVS) formalism and its simulators. DEVS, formulated by Zeigler (1976), has an abstract syntax for atomic component which is nothing else than an interface (input/output) timed automata. It provides a modular and hierarchical construction of the model with the concept of coupled component that connects atomic component output ports to atomic component input ports. DEVS defines a set of operational semantics (the way of executing the model), called the abstract simulator in the DEVS community that can be seen as a Model of Computation (MoC), see Ptolemaeus (2014) for MoCs in Ptolemy. For instance we have the following Discrete-Event (DE) MoCs: Classic DEVS simulator (CDEVS) where components execution is sequential (only one component is executed at a time) and conservative Parallel DEVS simulator (PDEVS), formulated by Chow (1996), where several components can be executed at the same time but causality violations are strictly avoided. Various parallel and distributed simulation researchers have implemented parallel simulators for DEVS. A time warp optimistic DEVS simulator, see Jefferson (1985), where causality might be violated, detected and remedied using roll-back has been implemented by Christensen (1990). A riskfree optimistic DEVS simulator, see Ferscha (1995), where events are assessed for risk before sending has been implemented by Reisinger et al. (1995). See Zeigler et al. (2000) for pseudo-code description of these abstract simulators.
The main advantage of using TPN as a backbone between a ProDEVS model and the platform dependant virtual prototype is that the development of new simulators are not hand coded any more, there are specified using temporal logic and designed using TPN, without any impact on the deployment phase. Thus, we feel more confident and comfortable in implementing simulators with TPN rather than manually code it which is error prone while TPN2Code generators are developed once for each execution platform then works for every simulator and every model.