Object-oriented real-time concurrency

  • Authors:
  • Peter A. Buhr;Ashif S. Harji;Philipp E. Lim;Jiongxiong Chen

  • Affiliations:
  • University of Waterloo, Waterloo, Ontario, CANADA N2L 3G1;University of Waterloo, Waterloo, Ontario, CANADA N2L 3G1;University of Waterloo, Waterloo, Ontario, CANADA N2L 3G1;University of Waterloo, Waterloo, Ontario, CANADA N2L 3G1

  • Venue:
  • OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

The primary goal of a real-time system is predictability. Achieving this goal requires all levels of the system to work in concert to provide fixed worst-case execution-times. Un-fortunately, many real-time systems are overly restrictive, providing only ad-hoc scheduling facilities and basic concurrent functionality. Ad-hoc scheduling makes developing, verifying, and maintaining a real-time system extremely difficult and time consuming. Basic concurrent functionality forces programmers to develop complex concurrent programs without the aid of high-level concurrency features.Encouraging the use of sophisticated real-time theory and methodology, in conjunction with high-level concurrency features, requires flexibility and extensibility. Giving real-time programmers access to the underlying system data-structures makes it possible to interact with the system to incorporate new ideas and fine-tune specific applications. This paper explores this approach by examining its effect on a selection of crucial real-time issues: real-time monitors, timeouts, dynamic-priority scheduling and basic priority inheritance. The approach is implemented in μC++.