Book contents
- Frontmatter
- Contents
- List of illustrations
- List of tables
- Foreword
- Preface
- 1 Introduction and overview
- 2 Sequential programming with Ada
- 3 Task basics
- 4 Communication and synchronization based on shared objects
- 5 Communication and synchronization based on direct interaction
- 6 Distributed systems with Ada
- 7 Real-time systems and scheduling concepts
- 8 Real-time programming with Ada
- 9 Tools for building and verifying real-time applications
- References
- Index
9 - Tools for building and verifying real-time applications
Published online by Cambridge University Press: 01 June 2011
- Frontmatter
- Contents
- List of illustrations
- List of tables
- Foreword
- Preface
- 1 Introduction and overview
- 2 Sequential programming with Ada
- 3 Task basics
- 4 Communication and synchronization based on shared objects
- 5 Communication and synchronization based on direct interaction
- 6 Distributed systems with Ada
- 7 Real-time systems and scheduling concepts
- 8 Real-time programming with Ada
- 9 Tools for building and verifying real-time applications
- References
- Index
Summary
In the previous chapters, we introduced both Ada concurrency features (tasks, protected objects, and rendezvous) and advanced features to support real-time constructs (notion of priority, protocols to bound priority inversion, and task dispatching policies). Our Ada applications do not run alone. They execute within a run-time configuration. A run-time configuration consists of the processor that executes our application and the environment in which that application operates. This environment includes memory systems, input/output devices, and operating systems.
An important early design goal of Ada was to provide a compilation system that can create from one Ada program different executables that run in an equivalent way within a wide variety of run-time configurations. With little or no modifications to the Ada code, the same program should run on a variety of platforms — from small embedded platforms, such as those based on 8-bit micro-controllers and PDAs, to single processor microcomputers, multi-core processors, and multiprocessor systems. The run-time configuration may include no operating system; may include an RTOS (real-time operating system) like VxWorksTM, LynxOSTM, ORK+, MaRTE OS, and RTEMS; or may include a complete general purpose operating system such as Linux, WindowsTM, and Mac OSTM.
In this chapter, we detail how Ada concurrency constructs are supported by the Ada run-time environment. We first introduce a generic architecture for mapping Ada constructs onto an operating system. Then, we examine three different run-times for the open-source Ada compiler GNAT.
- Type
- Chapter
- Information
- Building Parallel, Embedded, and Real-Time Applications with Ada , pp. 333 - 358Publisher: Cambridge University PressPrint publication year: 2011