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.

OO-301
3 days
£1435
pdf download

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:

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.