Customization and composition of distributed objects: middleware abstractions for policy management

Current middleware solutions such as CORBA and Java's RMI emphasize compositional design by separating functional aspects of a system (e.g. objects) from the mechanisms used for interaction (e.g. remote procedure call through stubs and skeletons). While this is an effective solution for handling distributed interactions, higher-level requirements such as heterogeneity, availability, and adaptability require policies for resource management as well as interaction. We describe the Distributed Connection Language (dcl): an architecture description language based on the Actor model of distributed objects. System components and the policies which govern an architecture are specified as encapsulated groups of actors. Composition operators are used to build connections between components as well as customize their behavior. This customization is realized using a meta-architecture. We describe the syntax and semantics of dcl, and illustrate the language by way of several examples.

[1]  Larry L. Peterson,et al.  The x-Kernel: An Architecture for Implementing Network Protocols , 1991, IEEE Trans. Software Eng..

[2]  David Garlan,et al.  Formalizing Architectural Connection , 1994, ICSE.

[3]  David Garlan,et al.  Formalizing architectural connection , 1994, Proceedings of 16th International Conference on Software Engineering.

[4]  Gul A. Agha,et al.  Abstraction and modularity mechanisms for concurrent computing , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[5]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[6]  Roy Friedman,et al.  A framework for protocol composition in Horus , 1995, PODC '95.

[7]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[8]  Carolyn L. Talcott,et al.  Interaction Semantics for Components of Distributed Systems , 1997 .

[9]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[10]  Carolyn L. Talcott,et al.  An actor rewriting theory , 1996, WRLA.

[11]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[12]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[13]  Gul Agha,et al.  Modular specification of interaction policies in distributed computing , 1996 .

[14]  Philip Cannata,et al.  The extensible services switch in Carnot , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[15]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..