Concurrent and Real-Time Programming in Ada

Front Cover
Cambridge University Press, Jul 5, 2007 - Computers
Ada is the only ISO-standard, object-oriented, concurrent, real-time programming language. It is intended for use in large, long-lived applications where reliability and efficiency are essential, particularly real-time and embedded systems. In this book, Alan Burns and Andy Wellings give a thorough, self-contained account of how the Ada tasking model can be used to construct a wide range of concurrent and real-time systems. This is the only book that focuses on an in-depth discussion of the Ada tasking model. Following on from the authors' earlier title Concurrency in Ada, this book brings the discussion up to date to include the new Ada 2005 language and the recent advances in real-time programming techniques. It will be of value to software professionals and advanced students of programming alike: indeed every Ada programmer will find it essential reading and a primary reference work that will sit alongside the language reference manual.
 

Contents

The nature and uses of concurrent programming
15
Interprocess communication
31
3
77
6
97
9
119
7
156
Avoidance synchronisation and the requeue facility
163
Exceptions abort and asynchronous transfer of control
195
Tasking and systems programming
293
Scheduling realtime systems fixed priority dispatching
317
129
325
Scheduling realtime systems other dispatching facilities
331
2
352
Timing events and executiontime control
361
Realtime utilities
391
Restrictions metrics and the Ravenscar profile
433

Objectoriented programming and tasking
223
Concurrency utilities
247
BURNS 2007427 2022 PAGE vii
277
Conclusion
451
Index
457
Copyright

Common terms and phrases

Popular passages

Page 7 - Duration range 0.0 .. 86_400.0; function Clock return Time; function Year (Date : Time) return Year_Number ; function Month (Date : Time) return Month_Number ; function Day (Date : Time) return Day_Number; function Seconds (Date : Time) return Day_Duration; procedure Split (Date : in Time; Year : out...
Page 7 - ... CLOCK return TIME; function YEAR (DATE : TIME) return YEAR_NUMBER; function MONTH ( DATE : TIME) return MONTH_NUMBER; function DAY (DATE : TIME) return DAY_NUMBER; function SECONDS (DATE : TIME) return DAY_DURATION; procedure SPLIT ( DATE : in TIME; YEAR : out YEAR_NUMBER; MONTH : out...
Page 4 - Soft real-time systems are those where response times are important but the system will still function correctly if deadlines are occasionally missed.
Page 4 - For this reason real-time systems are usually constructed using processors with considerable spare capacity, thereby ensuring that 'worst-case behaviour' does not produce any unwelcome delays during critical periods of the system's operation. Given adequate processing power, language and run-time support is required to enable the programmer to: • Specify times at which actions are to be performed. • Specify times at which actions are to be completed. • Respond to situations where all the timing...
Page xiii - Real-time Systems Research at York Alan Burns and Andy Wellings are members of the Real-Time Systems Research Group in the Department of Computer Science at the University of York (UK). This group undertakes research into all aspects of the design, implementation and analysis of real-time systems. Specifically, the group is addressing: formal and structured methods for development, scheduling theories, reuse, language design, kernel design, communication protocols, distributed and...

About the author (2007)

Alan Burns is a Professor in Computer Science and the Head of the Computer Science Department at the University of York. His research activities have covered a number of aspects of real-time and safety critical systems including the assessment of languages for use in the real-time safety critical domain, distributed operating systems, the formal specification of scheduling algorithms and implementation strategies, and the design of dependable user interfaces to safety critical applications. His teaching activities include courses in Operating Systems, Scheduling and Real-time Systems. He has authored over 350 papers and reports and 8 books, including Real-time Systems and Programming Languages, 3rd edition and Concurrency in Ada, 2nd edition.

Andy Wellings is a Professor of Real-Time Systems in the Computer Science Department at University of York. He is interested in most aspects of the design and implementation of real-time dependable computer systems and, in particular, real-time programming languages and operating systems. He is European Editor-in-Chief for the Computer Science journal Software-Practice and Experience and a member of the International Expert Groups currently developing extensions to the Java platform for real-time, safety critical and distributed programming. He has authored over 200 papers and several books, including Real-time Systems and Programming Languages, 3rd edition and Concurrency in Ada, 2nd edition.

Bibliographic information