Sela

Architectural Design of Real-Time Software

Description
This course examines the activities of high-level design of real-time and embedded systems software that's 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 intertask communication and synchronization options including mutexes of several varieties. The next major subject area of the class is the evaluation of timing performance and quality of a real-time or embedded software design. The final (optional) subject of this class is the design of highly-available and safety-critical embedded systems, from an integrated software-hardware system-level perspective. 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.
Intended audience
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 the software for real-time and embedded computer systems using an RTOS.

Topics

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 Don't Get
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?
The Correctness Killers: Deadlock, Lockout, Starvation
Software Architecture: Intertask Data Communication
Software Architecture: Intertask Synchronization
Mutexes: Priority Inheritance and Priority Ceiling
Modeling of Message Queues
Exercise: Queuing Calculations for Medical Device
Standard Circuits" for Real-Time and Multitasking Software Design
Design Patterns for Embedded Software
Extended Example: Aircraft Fly-by-Wire
Evaluating Real-Time and Multitasking Software Designs
Performance Analysis: Individual Scenarios
Performance Analysis: Task Scheduling Theory and Calculations
Exercise: Medical System Performance Calculations

רוצה לדבר עם יועץ?

האם אתה בטוח שאתה רוצה לסגור את הטופס ולאבד את כל השינויים?