- Home
- Training
- Course List
- Graduate Training
- Mentoring
- Company Profile
- Our Blog
- Resources
- News
- Contact Us
Applying Real-Time UML
The Unified Modelling Language (UML) is actually just a design notation, in order to develop software using UML you must adhere to a process which describes how to implement and work with this notation.
This course describes a process for designing real-time embedded systems (RTES) using UML 2.0 as the notation. It is assumed that delegates are already familiar with the UML notation as this course teaches its effective application.
By using comprehensive real-world examples this course also identifies the areas where UML 2.0 improves on UML 1.5, but also still identifies its weaknesses (areas such as concurrency, multi-processing and distributed systems). The course is backed up by a comprehensive ‘real-world’ CASE study demonstrating how to apply UML 2.0 to RTES.
This course has been developed by the leading author Dr. J. E. Cooling.
Dates:
9 -
11 May 2012
24 -
26 Sep 2012
Course Outline
Analysing and Formalising System Requirements:
- Scenarios and use cases
- System scope and direct and indirect actors.
- Modelling actor-system interactions graphically
Defining System and Software Requirements:
- The system use case model
- The system interaction model
- The system scope model
- The system dynamic model
- The software use case model
Developing Larger Systems:
- Developing the subsystem model
- Packages and components
- Interfacing to the real-world; device-software interactions
Developing the Ideal Object model:
- Object relationships, communication and control in an ideal environment
Developing the Specification Model:
- Mismatches between the ideal and the implementation models
- Composite structures, ports and provided/required interfaces
Concurrent Systems and Task-based Design:
- Problems with abstract software design
- Fundamentals of multitasking design
Implementation Modelling - The Tasking Model:
- Mapping the specification model to the implementation one
- Issues of inter-task communication
Implementation Modelling - The Practical Sequential Model:
- Controlling the collective behaviour of objects in sequential code: the coordinator object
- Specifying algorithmic (processing) operations using activity diagrams
Code-related Issues:
- Logical and physical models
- Software - constructs and artefacts
- Structuring and packaging of software
- Implementation modelling.
Distributed and Multi-computer Systems:
- Multi-computer architectures for real-time systems
- Criteria for mapping software onto hardware
- A practical design technique
Case Study:
- The case study, which is an integral part of the course, is based on developing software for an embedded application.
Course Overview
Course Objectives:
- To demonstrate how to develop real-time software in a rigorous and systematic manner using UML 2.0 modelling techniques.
- To enable delegates to develop their practical design skills.
Delegates Will Learn:
- How to develop practical designs for real-time applications using UML 2.0 modelling techniques.
- How to apply these ideas in the framework of an integrated, traceable and consistent software design process.
- What diagrammatic and modelling underpinnings are provided by UML 2.0 for developing RTES.
Pre-requisites:
- A notational knowledge of UML.
- An understanding of the basics of OO design principles and methods.
- Some understanding of technical software development methods and some knowledge of a high-level programming language.
Who Should Attend:
- Ideal for engineers who have attended vendor tool training but now need to learn practical application of UML.
- Designers looking to improve the way they apply UML.
- Designers who are new to the area of real-time software design.
- Developers with notational UML knowledge who are embarking on projects using UML-based techniques for the first time.
Duration:
- Three days.
Course Materials:
- Delegate handbook
- All worked examples and solutions
Related courses:
- OO-503 Real-Time Software Design with UML 2.0
- OO-101 An Overview of UML for Real-Time Embedded Systems
- SE-501 Real-Time Software Engineering
- SE-401 Systems Engineering using SysML
Course Workshop:
Approximately 50% of the course involves practical application of the techniques. Delegates work in small groups dealing with problems based on real-world systems.

