Modeling and Analysis of Real Time and Embedded systems
Modeling and Analysis of Real Time and Embedded systems[1] also known as MARTE is the OMG standard for modeling real-time and embedded applications with UML2.
Description
The UML modeling language has been extended by the OMG consortium to support model-driven development of real-time and embedded application. This extension has been defined via a UML2 profile called MARTE (Modeling and Analysis of Real-Time and Embedded systems). It consists mainly of four parts:
- a core framework defining the basic concepts required to support real-time and embedded domain.
- a first specialization (refinement) of this core package to support pure modeling of applications (e.g. hardware and software platform modeling).
- a second specialization (refinement) of this core package to support quantitative analysis of UML2 models, specially schedulability and performance analysis.
- a last part gathering all the MARTE annexes such as the one defining a textual language for value specification within UML2 models, and the one conflating the standard MARTE model libraries dedicated to RT/E system modeling.
The MARTE specification is publicly available on the OMG web site.[2] Currently, two open-source tools are available for system modeling using the MARTE profile: Modelio provides an open source modeling environment for designing high level UML models using the MARTE profile, and also provides guidelines on the utilization of MARTE profile; while an open-source implementation based on Eclipse of the MARTE profile is available in Papyrus UML.[3] This latter is running within the Eclipse UML2 plug-in and within the open-source tool for UML2 Papyrus.
Core
The core part of MARTE is made of five chapters.
- CoreElements;
- Non-Functional Properties: This chapter specifies some notations to define various kinds of values related to physical quantities: time, mass, energy;
- Time: This chapter defines a rich model of time that supports both the definition of physical and logical time properties;.[4] It comes with a companion language called CCSL defined as an annex.
- Generic Resource Modeling: This chapter offers extensions required to model a general platform for executing real-time embedded applications;
- Allocation Modeling: Finally, this chapter defines a notion of allocation to allocate application elements onto the execution platforms. A specific attention has been given to maintain compatibility with SysML allocation mechanism.