BIB-VERSION:: CS-TR-v2.0 ID:: STAN//CS-TR-81-867 ENTRY:: June 05, 1995 ORGANIZATION:: Stanford University, Department of Computer Science TITLE:: ADAM - an Ada based language for multi-processing TYPE:: Technical Report AUTHOR:: Luckham, David C. AUTHOR:: Larsen, Howard J. AUTHOR:: Stevenson, David R. AUTHOR:: Henke, Friedrich W. von DATE:: July 1981 PAGES:: 76 ABSTRACT:: Adam is an experimental language derived from Ada. It was developed to facilitate study of issues in Ada implementation. The two primary objectives which motivated the development of Adam were: to program supervisory packages for multitask scheduling, and to formulate algorithms for compilation of Ada tasking. Adam is a subset of the sequential program constructs of Ada combined wlth a set of parallel processing constructs which are lower level than Ada tasking. In addition, Adam places strong restrictions on sharing of global objects between processes. Import declarations and propagate declarations are included. A compiler has been implemented in Maclisp on a DEC PDP-10. It produces assembly code for a PDP-10. It supports separate compilatlon, generics, exceptions, and parallel processes. Algorithms translating Ada tasking into Adam parallel processing have been developed and implemented. An experimental compiler for most of the final Ada language design, including task types and task rendezvous constructs, based on the Adam compiler, is presently available on PDP-10's. This compiler uses a procedure call implementation of task rendezvous, but wlll be used to develop and study alternate implementatlons. NOTES:: [Adminitrivia V1/Prg/19950605] END:: STAN//CS-TR-81-867