Abstract
Ada 2005 is an even safer and more agile language than its predecessors, with all of the efficiency that is a hallmark of the Ada language design. It still has a strong focus on real-time response, multi-tasking, and sound engineering. It is the only international standard for object-oriented real-time distributed programming. High-integrity systems rarely make use of high-level language features such as Ada Protected Objects. Protected Types provide a passive mechanism for communication and synchronization between tasks. In this paper, we present some of these features, which are implemented using the Priority Ceiling Protocol (PCP). PCP is an extension of the Priority Inheritance Protocol (PIP), with the added features of preventing deadlocks and priority inversions. Priority inversion occurs when a high priority task is blocked for an unbounded time by lower priority tasks. Unfortunately though, PCP is not known to be supported by any operating systems. This article describes an implementation of PCP in Ada-2005. A detailed discussion of this protocol, and other related issues, are presented.
- A. Burns and A. J. Wellings, Real-Time Systems and Programming Languages, 3rd. ed: Addison-Wesley, 2001. Google Scholar
Digital Library
- Aburas, Jim. "Optimal Mutex Policy in Ada 95", Dec. 1995, ACM Press, vol. XV, issue 6, pp. 46--56. Google Scholar
Digital Library
- ACM Ada Letters, Proceedings of the 8* International Real-Time Ada Workshop: Tasking Profiles (September 1997).Google Scholar
- Burns, A. and Wellings, A. J. Concurrency in Ada, Cambridge University Press (1995) Google Scholar
Digital Library
- Buttazzo, G. C. 1997. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Kluwer. Google Scholar
Digital Library
- Liu, C. & Layland, J., Scheduling algorithms for multiprogramming in hard real-tie environments. Journal of the ACM, Vol.20, N0.1, 1973. Google Scholar
Digital Library
- Miranda, J., GNAT and Ada 2005, Reference Manual, January 2005.Google Scholar
- Mok, A. "Fundamental design problems of distributed systems for the hard real-time environment," PhD thesis, 1983.Google Scholar
- Sha, L., Rajkumar, R. & Lehoczky, J., Priority Inheritance Protocols: An Approach to Real-Time Synchronization. IEEE Transactions on Computer, September 1990. Google Scholar
Digital Library
- Sha, L. & Goodenough, J., Real-time scheduling theory and Ada. IEEE Transactions on Computer, Vol. 23, No. 4, April 1990. Google Scholar
Digital Library
- Sha, L., Rajkumar, R. & Lehoczky, J., Generalized rate-monotonic scheduling theory: a framework for developing real-time systems. Proceedings of the IEEE, Volume 82, Issue 1, Jan. 1994.Google Scholar
- Wellings, A. J., R. W. Johnson, B. I. Sanden, J. Kienzle, T. Wolf, and S. Michell. "Integrating Object-Oriented Programming and Protected Objects in Ada 95." ACM 2000: 506--539. Google Scholar
Digital Library
- Wellings, A. J. Concurrent and Real-Time Programming in Java. John Wiley & Sons, 2004. Google Scholar
Digital Library
Index Terms
The implementation of the Priority Ceiling Protocol in Ada-2005
Recommendations
Dynamic ceiling priorities and Ada 95
IRTAW '99: Proceedings of the ninth international workshop on Real-time AdaAda 95 provides dynamic priorities for tasks but ceiling priorities for protected objects are statically assigned by means of a pragma. The semantic complexity as well as the potential inefficiency of any resulting implementation seem to have been the ...
Dynamic ceiling priorities and Ada 95
Ada 95 provides dynamic priorities for tasks but ceiling priorities for protected objects are statically assigned by means of a pragma. The semantic complexity as well as the potential inefficiency of any resulting implementation seem to have been the ...
The implementation of ada 2005 interface types in the GNAT compiler
Ada-Europe'05: Proceedings of the 10th Ada-Europe international conference on Reliable Software TechnologiesOne of the most important object-oriented features of the new revision of the Ada Programming Language is the introduction of Abstract Interfaces to provide a form of multiple inheritance. Ada 2005 Abstract Interface Types are based on Java interfaces, ...






Comments