MDA with UML for Embedded Systems
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.
The MDA Process
This gives an overall picture of the MDA process, and the primary artefacts produced during that process.
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.
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.
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.
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.
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.