This gives an overall picture of the MDA process and Executable UML notation to provide a context for the rest of the course.
This deals with all aspects of modelling classes, associations, generalisations and attributes, using a variety of exercises. The UML Class Diagram is the primary notation used.
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 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 Interaction Diagrams prior to construction of the individual state charts.
xUML Execution Semantics
This section also explains the UML action semantics (the xUML virtual machine) that underpins executable UML. It explains the various levels of concurrency that can be exhibited by an xUML model, and provides guidance on the issues to be addressed by the modellers to ensure a reliable implementation.
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.
This describes how to specify state actions and operations using the Action Specification Language (ASL). This language is at an appropriate level of abstraction for the object models and enables the execution of the models.
This covers various strategies for integrating a system of domains (or Platform Independent Models). It introduces domain interfaces and bridges within the context of a build set.
This provides an overview of the basic principles used for generation of platform-specific implementations from platform independent models. It also illustrates the steps involved in generating a system from a set of platform independent models using the iCCG Code Generator.
Use Case Analysis
This section explains how use case analysis can be used to draw out and organise system requirements. It shows how use cases can then form the basis of an incremental and iterative development process.
This section introduces 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 section provides common techniques to ensure that the PIM, and the generated system, deliver the required runtime performance.
This section provides a guide to the essential features and capabilities of the iUML Modeller and iSIM Simulator, to enable students to quickly gain proficiency with the tools. If desired, students can use these tools during exercises and case study work.