You are on page 1of 6

Architectural Design of Real-Time Software

Number of days: 3 Price: 21 500 Upcoming course dates

......................................................
Learn to do high-level design for real-time and embedded computer systems using a real-time operating system
Architectural Design of Real-Time Software is a foundation course for embedded and real-time embedded software developers and designers. You will learn how to plan and structure embedded application software using a realtime operating system. The course examines the activities of high-level design of realtime and embedded systems software thats to be developed using a real-time operating system (RTOS).

The class begins with a quick examination of some fundamental issues in real-time multitasking embedded application software design and development, and briefly reviews several modern techniques for real-time and embedded software requirements specification. It then quickly focuses on how to structure a software system that must execute within strict deadline and resource limits. Emphasis is placed on multitasking and timing behaviors, rather than object orientation. The class continues with a detailed examination of a broad spectrum of intertask communication and synchronization options including mutexes of several varieties. Liveness issues such as deadly embrace, lockout, memory starvation and CPU starvation are discussed in detail. Students learn how to correctly configure queue lengths, and examine design dangers such as excessive interrupt latency and interrupt overflow. The next major subject area of the class is the evaluation of timing performance and quality of a real-time or embedded software design. A large variety of application examples reinforce the concepts that are learned. Design patterns for realtime software are presented in depth, as are a variety of design skunks (design schemes that are to be avoided). This course is not a general course about software design theory, but rather it is highly focused on the design of deeply-embedded, time-constrained, resource-constrained multitasking software that will run under the control of a modern RTOS.

Who should attend


This course is intended for practicing real-time and embedded systems software system architects, project managers and technical consultants who have responsibility for designing, structuring and implementing thesoftware for real-time and embedded computer systems using an RTOS. This course focuses on design for single-CPU systems. Course participants are expected to have thorough familiarity with at least one RTOS.

www.xdin.com

Objectives
The primary goal of this course is to give the participant the skills necessary to do highlevel design of software for single-CPU real-time and embedded computer systems using a real-time operating system. This is a very practical, results-oriented course that will provide knowledge and skills that can be applied immediately.

Previous Knowledge
Course participants are expected to be familiar with general embedded and real-time software design.

Course Material
All documentation and manuals are written in English.

David Kalinsky

The Instructor
The instructor,David Kalinsky,Ph D has more than thirty years of experience in the design and construction of real-time and embedded computer systems software. He is a popular lecturer and seminar leader on technologies for embedded software development, appearing before audiences of professional engineers in North America, Europe and Israel. David regularly presents classes at the Embedded Systems Conferences on topics such as Architectural Design of Device Drivers and Principles of High Availability Embedded Systems Design.

Course Content
Day 1 morning: Definitions / Real-Time Requirements

www.xdin.com

Embedded / Real-Time Systems: Definitions and Issues Requirements Analysis: Context Diagram and Usage Scenarios Quick Overview of Entity-Relationship Diagrams, State Transition Diagrams and StateCharts What You Get in an RTOS, and What You Dont Get Day 1 Afternoon: Identifying Tasks and Objects High-Level Software Architecture: Concurrency The Gomaa Guidelines for Decomposition into Tasks Exercise: Heart Rhythm Monitor Design Partitioning Object Orientation for Embedded/Real-Time Software? Day 2 Morning: 16 Methods for Intertask Communication The Correctness Killers: Deadlock, Lockout, Starvation Software Architecture: Intertask Data Communication Software Architecture: Intertask Synchronization Day 2 Afternoon: Fine-Tuning of Intertask Communication Mutexes: Priority Inheritance and Priority Ceiling Modeling of Message Queues Exercise: Queuing Calculations for Medical Device Day 3 Morning: A Plethora of Design Examples Standard Circuits for Real-Time and Multitasking Software Design Design Patterns for Embedded Software Optional: Design Patterns for Secure Software Optional: Extended Example: Aircraft Fly-by-Wire Day 3 Afternoon: Evaluating the Quality of a Multitasking Software Design Evaluating Real-Time and Multitasking Software Designs Some Design Skunks in Real-Time Software Performance Analysis: Individual Scenarios Performance Analysis: Task Scheduling Theory and Calculations Exercise: Medical System Performance Calculations

www.xdin.com

Erik Rosenqvist
Manager, Gothenburg

031 722 13 61 Skicka e-post

Mikaela Holmlund
Manager, Stockholm

073 441 86 05 Skicka e-post

www.xdin.com

Erik Rosenqvist

Mikaela Holmlund

Manager, Gothenburg 031 722 13 61 erik.rosenqvist@alten.se

Manager, Stockholm 073 441 86 05 Mikaela.Holmlund@alten.se

www.xdin.com

You might also like