A major feature of the Ada programming language is the facilities it provides for concurrent programming. In this book, Alan Burns and Andy Wellings provide a thorough and self-contained account of concurrent programming in Ada, and show users how to harness the full power of the language. Starting with an overview of the nonconcurrent features of Ada, the authors examine in detail the uses of concurrent programming and the inherent difficulties in providing interprocess communication. They introduce the Ada tasking model, and explain system programming, real-time issues, distribution, object-oriented programming, and reuse. This is the first book to deal with concurrent features in the new Ada standard, and it offers practical advice to both programmers working with embedded systems and those interested more broadly in the development of programming languages. Many otherwise inaccessible issues are probed in depth, making this book invaluable to professional software engineers and advanced students of programming alike. Every Ada programmer will find it essential reading and a primary reference work.
The Ada language/ The nature and uses of concurrent programming/ Inter-process communication/ Ada task types and objects/ The Rendezvous/ The Select statement and the Rendezvous/ Protected objects and data-oriented communication/ Avoidance synchronisation and requeue facility/ Using protected objects as building blocks/ Exceptions, Abort and asynchronous transfer of control/ Tasking and systems programming/ Real-time programming/ Object-oriented programming and tasking/ Distributed systems
An Errata for the book.