ABSTRACT

The advanced features of the programming language Ada at the time of its introduction included its tasking constructs. These gave software engineers the opportunity to structure a program into communicating entities, each of which has an independent thread of control. Together with this ability came the responsibil­ ity of avoiding tasking-related errors such as deadlocks. A specific problem in this case is coping with the nondeterminism introduced by the Ada tasking constructs. One of the suggested solutions to help meet this responsibility was to apply a suit­ able static analysis to the Ada tasking programs.