Replacing passive tasks with Ada9X protected records

@article{Locke1993ReplacingPT,
  title={Replacing passive tasks with Ada9X protected records},
  author={C. Douglas Locke and T. J. Mesler and David R. Vogel},
  journal={ACM Sigada Ada Letters},
  year={1993},
  pages={91-96}
}
Ada 83 has often been criticized for its lack of a lightweight data synchronization primitive. Compiler vendors have responded to this criticism by implementing the Haberman-Nassi algorithm with a construct called a passive task. The Ada 9X Project has proposed a change to the Ada language adding a protected record construct to support lightweight synchronization. In this paper, we illustrate the changes in coding required to convert an application originally designed to exploit passive tasking… 

Tables from this paper

Transforming Ada serving tasks into protected objects

TLDR
The semantics of rendezvous and protected objects are examined, a group of hypotheses are developed, an algorithm that transforms serving tasks written in Ada 83 into protected objects in Ada 95 is presented, and an example is given to demonstrate applications of this algorithm.

Automatic compiler recognition of monitor tasks

TLDR
This paper describes an alternate approach, whereby the compiler automatically recognizes and optimizes monitor tasks, without need of a pragma, compiler option, or any other user action.

Qthreads: An API for programming with millions of lightweight threads

TLDR
The qthread API and its Unix implementation is introduced, resource management is discussed, and performance results from the HPCCG benchmark are presented.

Schedulability Analysis for the Abort-and-Restart (AR) Model

TLDR
The paper develops a priority assignment heuristic than is demonstrated to perform better than existing schemes and shows that exact analysis of the AR model is intractable.

A Bibliography of Ada User and Ada User Journal

2 [41]. 2001 [250, 260, 268, 276]. 2002 [300, 309, 282, 293, 317, 324]. 2003 [331]. 2004 [346, 356, 365, 373, 380]. 2005 [389, 399, 409, 417, 330, 372, 386, 406, 396, 379, 405, 387, 395, 415, 487,

Building more powerful less expensive supercomputers using Processing-In-Memory (PIM) LDRD final report.

TLDR
This work examines the potential of PIM-based architectures to support mission critical Sandia applications and an emerging class of more data intensive informatics applications, and has the potential to impact future supercomputer design and construction, reducing power and increasing performance.

References

SHOWING 1-10 OF 10 REFERENCES

In support of the Ada 9X real-time facilities

TLDR
This report considers the proposed changes which affect the programming of real-time single processor and multiprocessor systems and argues that protected records, select waiting, asynchronous transfer of control, nested asynchronousTransfer of control are all essential core facilities, and if any of these are omitted the success of Ada 9x in addressing the needs of the real- time community would be in serious jeopardy.

Real-time features for Ada 9X

  • T. BakerO. Pazy
  • Computer Science
    [1991] Proceedings Twelfth Real-Time Systems Symposium
  • 1991
TLDR
The authors address changes to the Ada priority scheduling model and discuss a mechanism for improving responsiveness to asynchronous events that deserve critical evaluation and refinement before they become part of a new standard.

Improving Ada tasking performance

For Ada to really fulfill its potential for embedded systems, its model of concurrency — the tasking model — mus t be sufficiently fast to meet the timing needs of those systems . Typically, those

Asynchronous communication in Ada

TLDR
It is shown that, for a number of independent reasons, the potential for allowing Ada tasks to communicate in this manner by extension of the existing purely synchronous rendezvous has significant benefits.

Asynchronism in Ada 9X

The title of this session was chosen to identify two distinct user needs : asynchronous communicatio n between tasks, and asynchronous transfer of control within a single task. fire constructs the

Prioritized asynchronism in Ada 9X

TLDR
The semantics for asynchronous message passing between prioritized tasks including the case where the messages may themselves be given explicit priority is discussed, a highly flexible scheme that is applicable to a wide range of scheduling algorithms.

Predictable real-time avionics design using Ada tasks and Rendezvous study

TLDR
This paper presents the avionics problem considered, as well as a high-level overview of an Ada solution to the problem which uses Ada tasking and rendezvous, resulting in a solution fully capable of predictably meeting its time constraints.

Real-time scheduling theory and Ada

TLDR
Rate monotonic scheduling theory puts real-time software engineering on a sound analytical footing and its implications for Ada are reviewed.

Opening up Ada-tasking

Lightweight Task Synchronization: The Protected Record Mechanism in Ada 9X

  • TRI-Ada `91 Conference Proceedings, October 1991 . Attachment to Proceedings . pp . 172-180, December 1991, ACM Ada Letters, Mar/Apr, 1993 Page 96 Volume XIII, Number 2
  • 1991