| Duration | 3 days. |
| Objective | To provide students with a broad and deep understanding of the principles and process for building Platform-Independent Models using Executable UML. To allow students to perform large-scale integration of such models to form a coherent set of components suitable for translation onto specialised platform-specific implementations. |
| Audience | Modelers, System Designers, Implementers, Testers. |
| Prerequisites | A basic understanding of Executable UML is required. Ideally students will have attended the 5 day class entitled “Implementing the OMG’s Model Driven Architecture with Executable UML”, but a working knowledge of UML will suffice. |
| Benefits | The course content is informed by the practical experiences of the Kennedy Carter consultants, and embodies their understanding of the risks involved in large-scale, distributed projects, and the ways in which those risks can be mitigated. The course is completely up to date, and the students will spend a large amount of time enhancing their modeling skills by conducting a series of practical exercises. |
Full Synopsis
| MDA Process Overview | This briefly revisits the key aspects of MDA-based development, namely domain partitioning, executable modeling, bridging and code generation, to provide the context for the rest of the course. |
| The xUML Formalism | This provides a succinct summary of all aspects of the xUML formalism, and outlines the rules governing the organization and execution of xUML models. |
| Patterns in xUML | This provides illustrations of the most common patterns used in xUML PIMs. In each case, students are given guidelines about when to apply the pattern, and the benefits it will deliver. |
| Advanced xUML | This addresses a number of key areas of the xUML formalism, specifically:
|
| Execution Rules of xUML | This explains the levels of concurrency provided by objects with state machines in platform-independent xUML models, and how signals passed between the state machines are processed. It then explains how to achieve mapping to different levels of concurrency in the platform-specific implementation. |
| Advanced Bridging | This covers all aspects of defining bridge mappings between domains, including:
|
| Code Generation | This explains the key aspects of the TA-5 and TA-5M code generators from the modelers’ viewpoint. It will explain how to minimise the re-translation overhead when changing the PIM, and provide examples of xUML to C++ mappings to help modelers understand how they can relate the generated C++ back to the source xUML when using a C++ debugger. |
| Case Study | The students’ understanding will be reinforced by use of a case study that allows them incrementally to build a small but executable system of domains, which embodies all the key aspects covered in the course. Most of the above sections will incorporate construction of a related part of the case study system. |
