Multi-object cooperation in distributed object bases

Abstract

It is an emerging trend to build large information systems in a component-based fashion where the components follow the concept of object. Applications are constructed by organizing pre-built objects such that they cooperate with each other to perform some task. However, considerable programming effort is required to express multi-object constraints in terms of the traditional message-passing mechanism. This observation lead many authors to suggest communication abstractions in object models. One promising approach is to separate multi-object constraints from the objects and collect them into a separate construct. We call this construct an alliance. Unlike other approaches we allow alliances to involve large sets of long-lived objects which may dynamically vary during the - also potentially long - life-time of the alliance. Alliances are not only visible at the specification level but are also computational entities which enforce multi-object constraints at run-time. They do so in an unreliable world, i.e., we do not assume that objects will always meet their obligations in a cooperation. Since objects may often be distributed across a network, we demonstrate that alliances are an ideal place to deal with aspects of distribution in an application-specific manner. We illustrate our thesis by one of the key questions of distributed object management: where shall objects be located and when shall they migrate to which node? We show that alliances allow for customized distribution policies which are neither "hardwired" into the objects nor necessitate a centralized distribution control

    Similar works