Abstract
The Ravenscar profile defined by Ada prevents deadlock and starvation of conforming Ada programs on monoprocessor systems, allowing for better reasoning about real-time behavior. While defined in terms of mutual exclusion, we show Ada's protected types are general enough to allow an enhanced compiler to automatically generate appropriate lock-free synchronization code even on multiprocessors for some basic datastructures. In the context of real-time systems this allows for a more deterministic real-time response and improves the ability to statically analyze generated code.
- H.-J. Boehm. Transactional memory should be an implementation technique, not a programming interface. In Proceedings of the First USENIX conference on Hot topics in parallelism, HotPar'09, pages 15--15, Berkeley, CA, USA, 2009. USENIX Association. Google Scholar
Digital Library
- P. B. Hansen. History of programming languages--ii. chapter Monitors and Concurrent Pascal: a personal history, pages 121--172. ACM, New York, NY, USA, 1996. Google Scholar
Digital Library
- M. Herlihy. Wait-free synchronization. ACM Trans. Program. Lang. Syst., 13(1):124--149, Jan. 1991. Google Scholar
Digital Library
- M. Herlihy and J. E. B. Moss. Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News, 21(2):289--300, May 1993. Google Scholar
Digital Library
- K.-b. Yue, S. Davari, and T. Leibfried. Priority ceiling protocol in ada. In Proceedings of the conference on TRI-Ada '96: disciplined software development with Ada, TRI-Ada '96, pages 3--9, New York, NY, USA, 1996. ACM. Google Scholar
Digital Library
Recommendations
Protected kernels and Ada 9X real-time facilities
Many of the Ada 9X mappings will have a dramatic impact on current implementations of Ada run-time executives. This impact is particularly severe for the case of run-time systems that are implemented with protected kernels, often required in real-time ...
Object-oriented programming with protected types in Ada 95
WPDRTS '95: Proceedings of the 3rd Workshop on Parallel and Distributed Real-Time SystemsIntegrating concurrent and object-oriented language facilities is currently an active research area. There are a few experimental languages which attempt to combine various models of concurrency within an OOP framework. Most of these suffer from the so ...
Embedded, hard, real-time systems with Ada
SIGAda '09: Proceedings of the ACM SIGAda annual international conference on Ada and related technologiesDevelopment of real-time systems is expensive and difficult, in part because of low-level languages that force developers to use facilities that are ad hoc, incomplete, and not portable. The Real-Time Systems Annex of Ada 2005 (along with the language ...






Comments