Modern real-time programming languages and operating systems provide support for monitoring the amount of CPU time a thread consumes. However, no system in widespread use fully integrates this monitoring with the scheduling facilities. The Real-Time Specification for Java (RTSJ) provides an integrated approach to scheduling periodic threads and monitoring their CPU execution time. It supports a cost enforcement model whereby a periodic thread is suspended when it consumes more time than it requested. Version 1.0 of the RTSJ is under specified and it is difficult to understand the full model. This paper clarifies the position and defines the conditions under which a real-time thread is resumed. The model presented is the one that will be fully defined in version 1.0.1 of the RTSJ. Unfortunately, version 1.0.1 of the specification will not have a general model for handling cost enforcement and deadline monitoring for all schedulable objects. This paper proposes extensions to the RTSJ that allow the cost enforcement model and deadline monitoring model to be consistently applied across all schedulable objects, and for it to be fully integrated with scheduling.

BibTex Entry

@inproceedings{Wellings2004a,
 author = {A.J. Wellings and G. Bollella and P. Dibble and D. Holmes},
 booktitle = {Proceedings of the 7th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing ISORC-2004},
 month = {May},
 organization = {Computer Society, IEEE},
 pages = {78-85},
 publisher = {IEEE},
 title = {Cost Enforcement and Deadline Monitoring in The Real-Time Specification for Java},
 year = {2004}
}