Support for multiweight objects, invocations and atomicity in real-time systems
暂无分享,去创建一个
We are interested in operating system and language constructs for programming large-grain parallel computations. We emphasize real-time systems as an application domain because it provides a wide spectrum of performance and functionality requirements. Specifically, typical real-time systems (1) have stringent timing constraints on their execution, (2) interact heavily with the external environment and (3) have critical and/or long missions to accomplish. Failure of the system to meet its requirements often leads to catastrophic losses.
We introduce a new approach to programming real-time systems--Real-time Atomic Computations--in which an application is structured as a number of autonomous objects which interact by invoking each other. Atomic computations represent activities in the system (e.g. groups of related invocations) for which certain properties are guaranteed to hold.
In order to support the specification of application domain specific properties (e.g. timing constraints for atomic computations), we augment the object model with two new abstractions: policies and attributes. Attributes are generic name-value pairs that can be associated with system components. Policies are programmer defined classes that define, interpret and enforce attributes. The COLD-ARC language provides the constructs required to specify attribute values as well as define new ones.
Finally, we discuss CHAOS-ARC, an extensible object-based kernel implemented on the BBN Butterfly parallel processor. CHAOS-ARC supports the basic notion of classes, objects and invocations. It is extensible in the sense that programmers can provide their own policies which define and enforce new object flavors, attributes and invocation semantics.