A compositional approach for constructing connectors

Increasingly, systems are composed from independently developed parts, and mechanisms that allow those parts to interact (connectors). In many situations, specialized forms of interaction are needed to bridge component mismatches or to achieve extra-functional properties (e.g., security, performance, reliability), making the design and implementation of these interaction mechanisms a critical issue. Unfortunately, system developers have few options: they must live with available, but often inadequate, generic support for interaction (such as RPC), or they must handcraft specialized mechanisms at great cost. The authors describe a partial solution to this problem, whereby interaction mechanisms are constructed compositionally. Specifically, we describe a set of operators that can transform generic communication mechanisms (such as RPC and publish-subscribe) to incrementally add new capabilities. We show how these transformations can be used to realize complex interactions (such as Kerberized RPC) and to generate implementations of the new connector types at relatively low cost.

[1]  Robbert van Renesse,et al.  Building adaptive systems using ensemble , 1998 .

[2]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[3]  David R. Cheriton,et al.  Specializing Object-Oriented RPC for Performance and Functionality , 1996, ICDCS.

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[5]  Mary Shaw,et al.  Abstractions and implementations for architectural connections , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[6]  Robert DeLine,et al.  Resolving packaging mismatch , 1999 .

[7]  Theodore Y. Ts'o,et al.  Kerberos: an authentication service for computer networks , 1994, IEEE Communications Magazine.

[8]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[9]  David Garlan,et al.  Formal modeling and analysis of the HLA component integration standard , 1998, SIGSOFT '98/FSE-6.

[10]  Ralph Johnson,et al.  A framework for network protocol software , 1995, OOPSLA.

[11]  Willem P. de Roever,et al.  Designing Distributed Algorithms by Means of Formal Sequentially Phased Reasoning (Extended Abstract) , 1989, WDAG.

[12]  Gurdip Singh,et al.  Structured design of communication protocols , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[13]  Mary Shaw,et al.  Architectural issues in software reuse: it's not just the functionality, it's the packaging , 1995, SSR '95.

[14]  David R. Cheriton,et al.  Specializing object-oriented RPC for functionality and performance , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[15]  Daniel M. Yellin,et al.  Interfaces, protocols, and the semi-automatic construction of software adaptors , 1994, OOPSLA '94.

[16]  Larry L. Peterson,et al.  A dynamic network architecture , 1992, TOCS.

[17]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[18]  Matti A. Hiltunen,et al.  Constructing a configurable group RPC service , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[19]  Mary Shaw Procedure Calls Are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status , 1993, ICSE Workshop on Studies of Software Design.