Supporting lock-based multiprocessor resource sharing protocols in real-time programming languages
Article first published online: 20 JUN 2012
Copyright © 2012 John Wiley & Sons, Ltd.
Concurrency and Computation: Practice and Experience
Special Issue: Combined Special Issues on Java technologies for real-time and embedded systems (JTRES2011) and Data management for eScience in Brazil (eScience/WCGA 2011)
Volume 25, Issue 16, pages 2227–2251, November 2013
How to Cite
Lin, S., Wellings, A. and Burns, A. (2013), Supporting lock-based multiprocessor resource sharing protocols in real-time programming languages. Concurrency Computat.: Pract. Exper., 25: 2227–2251. doi: 10.1002/cpe.2882
- Issue published online: 23 OCT 2013
- Article first published online: 20 JUN 2012
- Manuscript Accepted: 27 MAY 2012
- Manuscript Revised: 2 APR 2012
- Manuscript Received: 4 JAN 2012
- real-time programming;
- lock-based synchronization;
Lock-based resource sharing protocols for single processor systems are well understood and supported in programming languages such as Ada and the Real-Time Specification for Java, and in Real-Time Operating Systems, such as those that conform to the Real-Time POSIX standard. In contrast, multiprocessor resource sharing protocols are still in their infancy with no agreed best practices, and yet current real-time programming languages and operating systems claim to be suitable for multiprocessor applications. This paper reviews the currently available multiprocessor resource allocation policies and analyzes their applicability to the main industry standard real-time programming languages. It then proposes a framework that allows programmers to define and implement their own locking policy. A prototype implementation of the framework for Ada is presented and evaluated. Copyright © 2012 John Wiley & Sons, Ltd.