Embedded systems integrate more and more heterogeneous subsystems. This situation leads to consider on the one hand heterogeneity owing to different formalisms and on the other hand heterogeneity created by platforms in charge of realizing the system. To deal with formalism heterogeneity some modeling frameworks handle different formalisms or project them onto a pivot. Nevertheless these solutions are often not sufficient. This paper presents ongoing works on a development process using Unified Modeling Language (UML) enhanced by a contract approach borrowed from the Interface Automata modeling. The objectives are twofold: (a) provide coherent views of a component along its refinements, (b) specify their interactions.
ContextFace to ever increasing competition, industries integrate more and more heterogeneous subsystems, making products drastically more and more complex and, consequently, hard to preserve within a unified development process. The traditional main phases observed along the lifecycle process -design, implementation and validation & verification-are being ever harder to respect.The design stage depicts the system by means of formalisms as for example the so-called Model Of Computation (MoC) [1]. As a MoC is foremost a model that precisely describes how computation is done, many MoCs are available fitting to specific modeling concerns. Janstch and Sander [2] classify them according to their time expressiveness: timed models (e.g., continous-time, discretetime, synchronous) or untimed models (for instance, data flow, causal models with FSM, CSP). When it is possible, analysis and simulation tools can be executed on these models to determine system features such as a sampling rate or to early detect deadlocks.Common modeling tools (e.g., Matlab, Scilab, Modelica) can produce code from these models for target platforms. These codes can be compiled to get prototypes. In an ideal process, when the overall system can be modeled within a unique modeling framework, the difference between prototype and production can be slight. Nevertheless this process is not a common practice. A universal modeling framework able to deal with the overall system (regardless of the domain and external constraints) does not exist. Thus, implementation of these models is often realized piece by piece in an ad hoc fashion with manual implementation of interaction mechanisms. This paper investigates on introducing a contract approach to enhance continuity along software process development within a UML environment.The paper structure is as follows: Section 2 presents related work dealing with heterogeneous MoCs, Section 3 introduces our approach. Finally, we conclude with preliminary considerations and perspectives.
Related works 2.1. Heterogeneous frameworkA heterogeneous framework aims to deal with different MoCs in a unified environment. The designer is free to choose the MoC fitting his/her specific modeling concern as much as possible. These frameworks are usually dedicated to hybrid system modeling. For example the Mat lab e...