Guest post by Eugenio Villar  presenting their single-source approach for the modeling of complex, heterogeneous, embedded systems in UML/MARTE. Enter Eugenio.

In the last years, MARTE, the standard UML profile for Real-Time and Embedded Systems is gaining increasing interest in the modeling of complex, heterogeneous embedded systems. Nevertheless, large research effort is still needed in order to define methodologies able of ensure an efficient usage of UML/MARTE to support all the challenges faced in complex embedded system designs, minimizing the modeling effort while maximizing its efficient use all along the design flow.

In the FP7 Pharaon project, a modeling methodology based on UML/MARTE has been defined able to capture the information required by all the main design tasks in a single-source approach. The goal is to ensure that the same code can be used for code reusability, verification, schedulability analysis, architectural mapping, simulation and performance analysis, design-space exploration, etc. and once the best system architecture has been found, automatically generate the SW stack to be executed in each processing element of the heterogeneous platform and, eventually, synthesize then application-specific HW.

You can see this presentation (everything except for the first slide is in English so go ahead and take a look). In the rest of the post we provide a shorter summary of it.

The complexity of the embedded, heterogeneous multi-core platforms requires design methodologies that, based on separation of concerns, enable the design teams to work in an efficient way. The separation of concerns enables the specialization of the design process; separate but collaborating sets of designers can deal with different system concerns (application modeling, HW/SW platform design, etc), improving the development process.

The system modelling methodology proposed follows a component-oriented approach [1] and applying the Model Driven Architecture (MDA) [2] principles in the development of the HW/SW embedded systems. Moreover, the proposed approach makes this methodology software centric [3] as it considers application components as units allocable either on the software system or hardware system.

In Component-based Software Engineering (CBSE), the system is built as a composition of application components interacting with each other only through well-defined interfaces; components can provide services to the rest of the components of the system (i.e. provided interfaces) or require other component services to function correctly (i.e. required interfaces). In this way, the application can be splitted into clearly separable and reusable blocks, improving the organization of the system as well as its reusability and modularity. Additionally, the internal behaviour of each component should be taken into account in the specification process. Keeping in mind the goals of the CBSE (i.e. composability, compositionality and resusability), this methodology is focused on the definition of a component model that enables the exploration of the concurrent structure of the system.

The system under design is specified by an UML/MARTE [4] model before starting the flow. The graphical orientation of UML helps designers to handle large systems in an easy way. However, the UML/MARTE model has to contain all the relevant, essential information of the system, in order to enable performing the synthesis process. Thus, it is required to define a UML/MARTE methodology combining the benefits of a visual language with large amounts of information.

The system model is divided in three sub-models, following the Y structure commonly (Figure 1) applied in the common design methodologies. In that flows, designs start defining the two main starting points: HW platform and expected system functionality, and evolves to define how to support that functionality in the HW platform.

 

Figure 1 Y structure

Following this structure, the system model is composed by different sub-models defined according to the features they must capture:

  • The Platform Independent Model (PIM), which describes the functional and non-functional aspects of the application (e.g. application components, application structure, interfaces…).
  • The Platform Description Model (PDM), which describes the different HW and SW resources that compose the system platform. They are application independent elements. In addition to that, PDM includes the description of the different memory partitions which defines the system executables to be produced.
  • The Platform Specific Model (PSM), which describes the system architecture and the allocation of platform resources. This model allocates system functionalities to the platform resources in which they are implemented.

Using these sub-models, the UML/MARTE system design activity is in charge of all modeling tasks requiring for initially defining the system under development, especially in the following aspects:

  • The PIM includes:
    • data modeling
    • interfaces
    • files
    • application components
    • application structure
    • channels
  • The PDM includes:
    • HW resources (processors, memories, buses…)
    • SW components (OSs drivers)
    • memory spaces which define the executables
    • the HW/SW platform architecture,
  • The PSM:
    • allocation of the application components on memory spaces
    • allocation of memory spaces on HW/SW resources

 

The modeling methodology has proven to be efficient in embedded system simulation and performance analysis for design-space exploration:

 

 

and SW synthesis:

 

 

[1]     C. Szyperski, Component Software: Beyond Object-Oriented Programming. 2nd ed. Addison-Wesley Professional, 2002.

[2]     D. C. Schmidt, “Model-driven Engineering” IEEE Computer, vol. 39 no. 2, pp. 25-31, 2006.

[3]     K. Yamashita. (2010). “Possibility of ESL: A software centric system design for multicore SoC in the upstream phase”, Design Automation Conference (ASP-DAC), Proc. of the 15th Asia and South Pacific. pp. 805 – 808.

[4]     OMG: “UML Profile for MARTE”, www.omgmarte.org.

 

Pin It on Pinterest

Share This