Abstract
The goal of the Clouds project at Georgia Tech is the implementation of a fault-tolerant distributed operating system based on the notions of objects, actions, and processes, to provide an environment for the construction of reliable applications. The Aeolus programming language developed from the need for an implementation language for those portions of the Clouds system above the kernel level. Aeolus has evolved with these purposes:
*to provide the power needed for systems programming without sacrificing readability or maintainability;
*to provide abstractions of the Clouds notions of objects, actions, and processes as features within the language;
*to provide access to the recoverability and synchronization features of the Clouds system; and
*to serve as a testbed for the study of programming methodologies for action-object systems such as Clouds.
In this paper, the features provided by the language for the support of readability and maintainability in systems programming are described briefly, as is the rationale underlying their design. Considerably more detail is devoted to features provided for support of object and action programming. Finally , an example making use of advanced fatures for action programming is presented, and the current status of the langauge and its use in the Clouds project is described.