Abstract
The real-time object model is a methodology for describing real-time systems. RTC++ is a programming language that extends C++ based on this model. 66 he demand for real-time systems increases with the demand for timecritical applications such as multimedia, robotics, factory automation, telecommunication, and air traffic control. Traditional programming languages do not support real-time systems development. They have neither the analytical techniques for modeling systems accurately nor the explicit specifications for timing constraints. By providing high-level abstractions of program modules, the object-oriented paradigm makes it easier to design and develop applications. However, the objectoriented model and its implementing languages typically offer no more support for real-time programming than traditional languages do. We have developed an extended object-oriented model-the real-time object model. It encapsulates rigid timing constraints in an object. We have also designed and implemented RTC++, a programming language that extends C++ on the basis of the real-time object model. Basic issues Schedulability analysis. A system is said to be schedulahle if it meets all deadlines of a task set. One major difficulty in building a real-time system is the lack of good techniques for analyzing schedulability. Schedulability analysis lets a program designer predict (under certain conditions) whether given real-time tasks can meet their timing constraints. It requires a bound on the execution time of each task. To meet this requirement, the system must avoid priority inversion problems that occur when a higher priority task must wait while a lower priority task executes.' For example. under priority-based scheduling. a low-priority task that holds a computational resource, such as a shared lock, blocks a higher priority task from this resource until the low-priority task completes. If several tasks of intermediate priority lie between the lower and higher priority tasks. the blocked high-priority task must wait for a period bounded only by the number of medium-priority tasks. This problem makes it very difficult to put an accurate bound on task execution times. Specifying rigid timing constraints. Conventional real-time programs do not explicitly describe timing constraints in the program text. Instead, they describe
References (10)
- L. Sha, R. Rajkumar, and J.P. Lehoczky, "Priority Inheritance Protocols: An Ap- proach to Real-Time Synchronization," IEEE Trans. Computers, Vol. 39, No. 9, Sept. 1990, pp. 1,1751,185.
- T. Baker and 0. Pazy, "Real-Time Fea- tures for Ada 9X," P&c. 12th IEEE Real- Time Svstems Svmn.. IEEE CS Press. Los Alamitos, Calif.; Order No. 2450, 1991, pp. 172-180.
- T.P. Baker and A. Shaw, "The Cyclic Executive Model and Ada," Proc. Ninth IEEE Real-Time Systems Symp., IEEE CS Press, Los Alamitos, Calif., Order No. 894 (microfiche only), 1988, pp. 120- 129.
- C.L. Liu and J.W. Layland, "Scheduling Algorithms for Multiprogramming in a Hard Real Time Environment,"J. ACM. Vol. 20, No. 1, 1973. pp. 46-61.
- L. Shaand J.B. Goodenough, "Real-Time Scheduling Theory and Ada," Compur- er, Vol. 23, No. 4, Apr. 1990. pp. 53-62.
- Object-Oriented Concurrent Program- ming, A. Yonezawa and M. Tokoro, eds..
- H. Tokuda and T. Nakajima, "Evalua- tion of Real-Time Synchronization in Real-Time Mach," Proc. Second Mach Symp.. Usenix. Berkeley, Calif.. 1991. pp. 213-221.
- C.W.MercerandH.Tokuda,"TheARTS Real-Time Object Model," Proc. Zlth IEEE Real-Time Systems Symp., IEEE CS Press, Los Alamitos, Calif., Order No. 2112, 1990, pp. 2-10.
- Y. Ishikawa, H. Tokuda, and C.W. Mer- cer, "Object-Oriented Real-Time Lan- guage Design: Constructs for Timing Constraints," Proc. Object-Oriented Pro- gramming Systems, Languages, and Ap- plications, ACM Press, New York, 1990, pp. 289-298.
- H. Tokuda and C.W. Mercer, "ARTS: A Distributed Real-Time Kernel," Operat- ing Systems Rev.. Vol. 23. No. 3, July 1989, pp. 29-53.