Algorithms for translating Ada multitasking

Algorithms are presented for translating the multitasking constructs of Ada into the language Ada-M. The purpose of the translation is to study various implementations of Ada tasking and their relative problems, merits, and efficiencies. The multiprocessing constructs of Ada-M are lower level than those of Ada and, hence, flexible enough to permit development of a variety of compilation techniques for Ada tasking. Ada-M is sufficiently high-level, however, to permit the implementations to be developed quickly and Understandably. Requirements for data structures, scheduling, and other pertinant elements of Ada tasking compilation are identified by the translation.