Concurrent and Real-Time Programming in Java

  • 5h 52m
  • Andy Wellings
  • John Wiley & Sons (UK)
  • 2004

Real-time and embedded 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.

Just over 10 years since its first conception, Java augmented by the Real-Time Specification for Java (RTSJ), is one of the most exciting developments in real-time systems. The approach has been to extend the concurrency model to sup-port real-time programming abstractions, and to provide a complementary approach to memory management that removes the temporal uncertainties of garbage collection.

The book starts with an introduction to concurrent and real-time programming. It then describes the concurrency model of Java, summarizing both its strengths and weaknesses. Examples abound, and a case study of concurrent searching is presented. The book then provides a detailed introduction to and examination of the RTSJ.

Topics include:

  • the new memory management model,
  • the augmented clock and time facilities,
  • scheduling,
  • asynchronous event handlers,
  • real-time threads,
  • asynchronous transfer of control,
  • resource control,
  • access to physical and access to raw memory.

A standard real-time case study - that of an automobile cruise control system - is given which demonstrates the efficacy of many of the new facilities. Before concluding, the book considers the use of Java and the RTSJ for high-integrity systems programming.

About the Author

Andy Wellings is Professor of Real-Time Systems at the University of York, UK. He has published over 150 technical papers and reports, has written 5 textbooks and edits the Wiley Journal Software Practice and Experience. He is a member of the Technical Interpretation Committee for the Real-Time Specification of Java. He teaches courses in Operating Systems, Real-Time Systems and Networks and Distributed Systems.

In this Book

  • Introduction
  • Concurrent Programming in Java
  • Communication and Synchronization
  • Completing the Java Concurrency Model
  • Implementing Communication Paradigms in Java
  • Case Study: Concurrent Maze Search
  • The Real-time Specification for Java
  • Memory Management
  • Clocks and Time
  • Scheduling and Schedulable Objects
  • Asynchronous Events and Their Handlers
  • Real-Time Threads
  • Asynchronous Transfer of Control
  • Resource Sharing
  • Physical and Raw Memory
  • Case Study—Automobile Cruise Control System
  • High-Integrity Real-Time Systems
  • Conclusions
  • References
SHOW MORE
FREE ACCESS

YOU MIGHT ALSO LIKE