Real Time Software Analysis and Design Using UML2
Course
Inhouse
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.
Reviews
Course programme
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
- 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
- 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
- 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
- system use case and interaction model
- system scope model
- system dynamic model
- software use case model
- Carrying out a robustness analysis
- Boundary class identification
- Entity class identification
- Control class identification
- 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