Replacing passive tasks with Ada9X protected records

  • Authors:
  • C. Douglass Locke;Thomas J. Mesler;David R. Vogel

  • Affiliations:
  • -;-;-

  • Venue:
  • ACM SIGAda Ada Letters
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 to use the protected record construct instead. The resulting software engineering effects of using passive tasks and protected recordsre then compared for this sample task set. We conclude by discussing some protected recorded semantics that may require further clarification and/or modification, and some of the trade-offs that result.