In order to facilitate the reading of the book for teaching, each
chapter is structured in two parts. The first part has a brief summary
of the Ada concepts described in the chapter (I used the excellent
book Concurrency in Ada [BW98] as a reference to write
these summaries). The second part of the chapter describes GNAT
implementation of the concepts presented in the first part. Currently
the book has the following chapters:
- The GNAT project. Brief introduction to the GNAT project,
and the overall architecture of the compiler and run-time.
- Task types and objects. This chapter describes the main
aspects of the life-cycle of Ada tasks: task creation, task
activation, task termination, and task identification.
- The Rendezvous. This chapter deals with the handling of
the entry call parameters, the rendez-vous queues and the basic
rendezvous modes (simple, conditional and selective).
- Protected Objects. The Ada95 eggshell model for protected
objects and its implementation is presented here. Several alternative
implemen-tations are also described and discussed.
- Time and clocks. This chapter covers the Ada timed
sentences: timed entry call and timed selective accept.
- Interrupts. The Ada model of interrupts and its
implementation is presented here.
- Exceptions. Data types used to identify the exceptions,
and hash table used by GNAT to handle the exceptions are presented
- Abort and Asynchronous Transfer of Control. Ada tasks
abortion and the implementation of the Ada95 asynchronous transfer of
control are discussed in this chapter.
- Bibliography. This chapter provides the bibliography used
to write the book.
(c) Javier Miranda. Canary Islands (Spain), 2002. Version 1.0