Real-time systems have to respond to externally generated input stimuli
within a finite and predictable time. Their correctness depends not
only on the logical results of the computations, but also on the time
at which those results are produced.
When Java emerged as a serious programming language
in 1994, it was treated with disdain by much of the real-time
community. Although the language was interesting from a number of
perspectives ? not least the fact that it had an integrated concurrent
object-oriented programming model ? the whole notion of Java as a
real-time programming language was laughable. "Java and Real-time" was
considered, by many, an oxymoron. What we failed to appreciate was the
determination of the Java community to propagate the language into
every conceivable application area.
Just over 10 years since its first conception, Java, augmented by the
Real-Time Specification for Java, is one of the most exciting
developments in real-time systems so far this century. The approach has
been to extend the concurrency model so that it supports real-time
programming abstractions and to provide a complementary approach to
memory management that removes the temporal uncertainties of garbage
collection.
Table of Contents
Concurrent and Real-Time Programming in Java Preface
Chapter 1 - Introduction Chapter 2 - Concurrent Programming in Java Chapter 3 - Communication and Synchronization Chapter 4 - Completing the Java Concurrency Model Chapter 5 - Implementing Communication Paradigms in Java Chapter 6 - Case Study: Concurrent Maze Search Chapter 7 - The Real-time Specification for Java Chapter 8 - Memory Management Chapter 9 - Clocks and Time Chapter 10 - Scheduling and Schedulable Objects Chapter 11 - Asynchronous Events and Their Handlers Chapter 12 - Real-Time Threads Chapter 13 - Asynchronous Transfer of Control Chapter 14 - Resource Sharing Chapter 15 - Physical and Raw Memory Chapter 16 - Case Study?Automobile Cruise Control System Chapter 17 - High-Integrity Real-Time Systems Chapter 18 - Conclusions Appendix - Java Class and Interface Specifications