Real-Time Scheduling Theory and Ada
Computer
Concurrency in Ada
Optimal Mutex policy in Ada 95
ACM SIGAda Ada Letters
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Journal of the ACM (JACM)
Integrating object-oriented programming and protected objects in Ada 95
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications
Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications
Real-Time Systems and Programming Languages: ADA 95, Real-Time Java, and Real-Time POSIX
Real-Time Systems and Programming Languages: ADA 95, Real-Time Java, and Real-Time POSIX
Priority Inheritance Protocols: An Approach to Real-Time Synchronization
IEEE Transactions on Computers
Concurrent and Real-Time Programming in Java
Concurrent and Real-Time Programming in Java
Real-time synchronization on distributed architecture with Ada-2005
Proceedings of the 2008 ACM annual international conference on SIGAda annual international conference
Dynamic hinting: Collaborative real-time resource management for reactive embedded systems
Journal of Systems Architecture: the EUROMICRO Journal
Priority inversion with fungible resources
ACM SIGAda Ada Letters
Non-blocking inter-partition communication with wait-free pair transactions
Proceedings of the 11th International Workshop on Java Technologies for Real-time and Embedded Systems
Hi-index | 0.00 |
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.