MDA with UML for Embedded Systems


3 days.


To provide students with a good understanding of the principles and process for building Platform-Independent Models using UML, with a focus on modeling techniques and patterns applicable to real-time embedded applications. To allow students to perform large-scale integration of such models to form a coherent set of components to use as the basis for platform-specific design and implementation.

This course is tool agnostic, and the techniques presented are applicable to all mainstream UML tools.


Systems Engineers, Software Engineers, Testers




The course content covers the key elements of UML as a platform-independent modeling formalism, and incorporates examples drawn from real-time embedded systems to illustrate how the various models are constructed.

Students will consolidate their understanding through a series of practical exercises and examples.


Course Synopsis

The MDA Process

This gives an overall picture of the MDA process, and the primary artefacts produced during that process.

Static Models

This deals with all aspects of modeling classes, associations, generalizations and attributes, using a variety of exercises. The UML Class Diagram is the primary notation used. Students gain confidence in static modeling using a variety of exercises.

Domain Partitioning

This explains the principles of partitioning a system into separate domains, and provides proven techniques for finding and defining a coherent set of domains. The UML Package Diagram is introduced as a means of representing the domains and their dependencies.

This section introduces a number of techniques that can be used to establish the scope of the domains making up a system in order that they may be developed concurrently by a number of teams. This includes the use of UML Sequence Diagrams.

Behavioural Models

This covers the process of defining operations and state charts for the classes in each domain. It emphasises the importance of establishing the overall interaction pattern using UML Communication Diagrams prior to construction of the individual state charts.

Use Case Models

This section explains how use case analysis can be used to draw out and organise system requirements.

Interaction Models

This shows how sequence diagrams form the basis for linking use cases to a set of domains making up a system. It illustrates use of communication models to understand and document the interactions between classes within each domain.

Modelling Patterns

This provides illustrations of a number of common patterns used in platform independent models. In each case, students are given guidelines about when to apply the pattern, and the benefits.

This section also shows how to apply patterns to optimise system performance in specific areas. Students practice applying these patterns during a number of exercises.

The MDA Process

This brings out the benefits of executable modelling using the Model Driven Architecture Strategy. It introduces the MDA terminology, and contrasts this approach with the more traditional elaborative methodologies.

Domain Integration

This explains how to integrate a system of domains. It illustrates specification of domain interfaces (ports) and connectors.


Brings together the key aspects of MDA and UML, and provides references to additional information.

Abstract Solutions is proud to work with the following companies