Priority inversion and priority inheritance protocols for bounding blocking time are well-understood topics in real-time systems research. The two most commonly used priority inheritance protocols are basic priority inheritance and priority ceiling emulation. Although both are supported in POSIX, Ada and the Real-Time Specification for Java (RTSJ), little has been written about the consequences of using both protocols concurrently in the same program. The assumption is usually that only one is in force at any particular time. For large real-time systems, this assumption may not be valid. This paper provides motivation for why a mixture of the two can occur and illustrates that this can result in the raising of unwanted asynchronous exception. This has led the Technical Interpretation Committee for the RTSJ to propose a new version of the priority ceiling emulation protocol that will enable it to work in harmony with basic priority inheritance. The protocol is described and we use the UPPAAL tool to explore formal properties using model checking.
Download Not Available

BibTex Entry

@techreport{Wellings2007f,
 address = {UK},
 author = {A. Wellings and A. Burns and O. M. Santos and B. M. Brosgol},
 institution = {University of York - Computer Science Department},
 number = {YCS 412},
 title = {Integrating Priority Inheritance Algorithms in the Real-Time Specification for Java},
 year = {2007}
}