Real Time Software Analysis and Design Using UML2

Course

Inhouse

Price on request

Description

  • Type

    Course

  • Methodology

    Inhouse

  • Duration

    4 Days

On completing the course delegates will. be able to use UML2 in the design of practical embedded and real time applications. understand how to apply UML to embedded and real time projects in such a way that. the work of several analysts ande designers forms an integrated and consistent whole. the path from requirement gathering, via Use Case Analysis and. Suitable for: The course will be useful to requirements analysts, systems analysts, system designers, system architects, programmers, project managers, code and design test developers as well as technical support staff who need an in depth understanding of UML2 for real time and embedded systems. Attendees are expected to have some familiarity with UML2 notations as well as some experience of working on embedded systems and, also, to have some familiarity with embedded and real.

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Overview
The purpose of this course is to cover UML2 including the various real time extensions that it supports. As opposed to UML2 for IT and business applications there is considerable emphasis on architecture aspects of modeling real time and embedded systems. An architecture ,here, ( following the convention introduced by Bruce Powell Douglass ) is a set of strategic decisions that affect the behaviour or functionality of the system as a whole. The architecture aspects considered are
  • subsystem/component
  • resource and concurrency
  • distribution
  • system and reliability
  • deployment

Key Skills
On completing the course delegates will
  • be able to use UML2 in the design of practical embedded and real time applications
  • understand how to apply UML to embedded and real time projects in such a way that
    • the work of several analysts ande designers forms an integrated and consistent whole
    • the path from requirement gathering, via Use Case Analysis and then on to the final design and, finally, to development and testing is fully traceable
  • be able to recognise common design patterns and idioms
  • be able to use UML2 to explain, explore, and illustrate timing and inter-process communication issues
  • be able to structure complex system designs using packages

Course Contents
Real Time and Embedded Systems Concepts
  • Characteristics of embedded systems
  • Distinction between hard and soft real time
  • Multi-tasking with and without an operating system
  • pre-emptive vs. non-pr-emptive multitasking
  • systems engineering vs. software engineering
  • reactive, event driven systems
Object Orientation
  • Objects, classes, interfaces, messaging
  • Relations
    • associations
    • aggregation
    • composition
    • generalisation
  • mapping object to code
    • an object oriented design does not have to be implemented in an object oriented programming language
  • an overview of strategies and idioms for realising object oriented design in C
  • Strategies for dealing with large systems and frameworks
    • organising the model into packages
    • creating complex structures from simpler ones
    • ports and connectors
    • interfaces, components and sub-systems
Object Orientation approach to describing and dynamic aspects of embedded and real time systems
  • behaviour types - simple, state, continuous
  • actions and activities
  • the importance of statecharts in modeling real time and embedded systems object behaviour
    • and-states
    • pseudostates
    • protocol state machines
  • activity diagrams
  • sequence diagrams
  • timing diagrams
  • UML profiles for schedulability, performance and time
Requirements analysis for real time and embedded systems
  • use cases and scenarios
    • textual description
    • actors
    • relationships between use cases
    • identification of use cases
    • detailing use cases using statecharts, activity diagrams and timing diagrams
Defining system and software requirements
  • system use case and interaction model
  • system scope model
  • system dynamic model
  • software use case model
Moving from Use Case Analysis to an Initial Design Model
  • Carrying out a robustness analysis
  • Boundary class identification
  • Entity class identification
  • Control class identification
Developing an Initial Design Model
  • more detailed object domain analysis
  • more detailed definition of object behaviour
  • architaectural design issues
  • mechanistic design issues and patterns
    • Observer pattern
    • Proxy pattern
    • Reliable transaction pattern
    • Smart pointer pattern
    • Guarded call pattern
    • Container pattern
    • Rendezvous pattern
  • distributed and multi-processoor systems
  • mapping software onto hardware
  • from UML2 to C code
  • from UML2 to C++ code

Real Time Software Analysis and Design Using UML2

Price on request