search menu icon-carat-right cmu-wordmark

Real-Time Software Engineering in ADA: Observations and Guidelines

September 1989 Technical Report
Mark W. Borger, Mark H. Klein, Robert Veltre

This 1989 report presents techniques for controlling devices with Ada and several Ada tasking paradigms for managing concurrency.

Publisher:

Software Engineering Institute

CMU/SEI Report Number

CMU/SEI-89-TR-022

Abstract

Two important aspects of developing a real-time system are controlling devices and managing concurrency. In this report, we present several techniques for controlling devices with ADA and several ADA tasking paradigms for managing concurrency. The material presented in this report is taken from our experiences in developing a real-time embedded system in ADA, and we use examples from this system to illustrate the various methods we present. We begin by describing our experiences using ADA to control devices. Specifically, we identify issues related to accessing device registers and handling interrupts, and present techniques for dealing with such issues. We then recount our experiences using ADA to manage concurrency. Specifically, we present coding paradigms for implementing periodicity and constructing synchronization mechanisms. We illustrate analytical methods for determining the schedulability of a task set. We then discuss the effect of aperiodic processing requirements on the schedulability of a task set.