Ada and GNAT Pro Training
Course 7 - Hard Real-Time and Embedded Systems Programming with Ada 2005
- Target Audience
- Developers interested in learning or perfecting their real-time and embedded programming skills with this state-of-the-art language. This course is intended for developers familiar with some of the more advanced features of Ada, including tasking and access types.
- Course Duration
- 4 Days
- Workshop
- Hands-on exercises using the GNAT Pro Ada 2005 toolset for an embedded
target
- Course Description
- Although the terms are often used interchangeably, real-time systems
need not be embedded, and embedded systems need not have deadlines.
However, applications in both domains are expensive and labor-intensive,
especially because developers typically have only low-level tools
available and must use techniques that are more ad hoc than analytical.
Ada 2005 represents the state-of-the-art in real-time programming
languages and offers a high-level model for low-level programming that
is unsurpassed in expressive power. This intensive course covers the
modern analytical techniques for determining whether deadlines will be
met, the Ada language facilities required to support those analyses, and
the high-level model Ada provides for embedded systems development. In
addition, the issues involved in storage management are covered so that,
in addition to time, equally important storage resources are available
when required.
- Summary of Topics Covered
- Low-Level Programming
- - Querying Implementation Limits
- - Querying Representation Choices
- - Specifying Representation
- - Unchecked Programming
- - Machine Code Insertions (MCI)
- - When Ada Is Not the Main Language
- - Interacting with Memory-Mapped Devices
- - Handling Interrupts
- Schedulability Analysis
- - Cyclic Executives
- - Preference Scheduling
- - Rate Monotonic Analysis
- - Response Time Analysis
- - Transient Overloads
- - Period Transformations
- - Bandwidth-Preserving Algorithms
- - Priority Inversion
- - Priority Inheritance
- - Ceiling Protocols
- Schedulability Analysis Support in Ada
- - The Real-Time Systems Annex
- - Dispatching Policies
- - Priority Ceiling Locking
- - Entry Queuing Policies
- - Preemptive Abort
- Language-defined Tasking Facilities
- - High-Resolution Clock
- - Dynamic Ceilings for Mode Changes
- - Timing Events
- - Entry Queuing Policies
- - Monitoring Execution Time
- - Execution Time Events
- - Group Time Budgets
- - Partition Elaboration Control
- - Entry Queuing Policies
- - Task Termination
- - Synchronous Task Control
- - Asynchronous Task Control
- - Type-Independent Task Identification
- - Per-Task Data
- - Dynamic Priorities
- - User-defined Schedulers
- - The Ravenscar Profile
- Reliable Storage Management
- - Storage Management Policies
- - Using Access Types
- - Reserving Storage
- - Handling Storage_Error
- - Allocating Values
- - Deallocating Values
- - Tuning the Run Time Library for Storage Conservation
- - User-Defined Storage Management
- Performance Issues
- - Distributed Costs
- - Potential Hot Spots
- - Tuning the Run Time Library for Performance
- - Comparison of Ada with the POSIX Real-Time Extensions
All Courses
- Course 4 - Ada Programming with GNAT Pro: Advanced Topics
- View Details »
- Course 5 - Ada Programming with GNAT Pro: Beyond Ada 83
- View Details »
- Course 6 - Object-Oriented Programming (OOP) with Ada 2005
- View Details »
- Course 7 - Hard Real-Time and Embedded Systems Programming with Ada 2005
- View Details »
- Course 8 - GNATbench for Eclipse and Wind River Systems Workbench
- View Details »
Training sessions can be given on-site or at AdaCore’s New York City headquarters. For information regarding scheduling, pricing or custom training sessions, please conact sales@adacore.com