Abstract
The decomposition of a software application into components and connectors at the design stage has been promoted as a way to describe and reason about complex software architectures. There is, however, surprisingly little language support for this decomposition at implementation level. Interaction relationships which are identified at design time are lost as they get spread out into the participating entities at implementation. In this paper, we propose first-class connectors in an object-oriented language as a first step towards making software architecture more explicit at implementation level. Our connectors are run-time entities which control the interaction of components and can express a rich repertoire of interaction relationships. We show how connectors can be reused and how they enhance the reuse of components.
This research is supported by the Swiss National Science Foundation, grant MHV 21-41671.94 (to T.R.) and project grant 2000-46947.96
Preview
Unable to display preview. Download preview PDF.
References
R. Allen and D. Garlan. Formal connectors. Cmu-cs-94-115, Carnegie Mellon University, Mar. 1994.
M. Aksit, K. Wakita, J. Bosch, L. Bergmans, and A. Yonezawa. Abstracting object interactions using composition filters. In Object-Based Distributed Programming (ECOOP'93 workshop), LNCS 791, pp. 152–184, 1994.
S. Chiba. A Metaobject Protocol for C++. In OOPSLA'95, pp. 285–299, 1995.
P. Cointe. Metaclasses are first Class: The ObjVlisp Model. In OOPSLA'87 Proceedings, pp. 156–165, October 1987.
S. Ducasse, M. Blay-Fornarino, and A. Pinna. A Reflective Model for First Class Dependencies. In OOPSLA'95, pp. 265–280, 1995.
Message Passing Abstractions as Elementary Bricks for Design Pattern Implementation, 1997. Language Support for Design Patterns and Frameworks ECOOP'97 Int. Workshop.
S. Ducasse. Intégration réflexive de dépendances dans un modéle á classes. PhD thesis, Université de Nice-Sophia Antipolis, 1997.
S. Frølund and G. Agha. A Language Framework for Multi-Object Coordination. In ECOOP'93, LNCS 707, pp. 346–360, 1993.
S. Frølund. Constraint-Based Synchronization of Distributed Activities. PhD thesis, University of Illinois at Urban a-Champaign, 1994.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
M. Golm. Design and implementation of a meta architecture for java. Master's thesis, IMMD at F.A. University, Erlangen-Nuernberg, 1997.
A. Goldberg and D. Robson. Smalltalk-80: The Language. Addison-Wesley, 1989.
R. Helm, I. Holland, and D. Gangopadhyay. Contracts: Specifying compositions in object-oriented systems. In OOPSLA'90, pp. 169–180, 1990.
G. Kiczales, J. des Rivieres, and D. G. Bobrow. The Art of the Metaobject Protocol. MIT Press, 1991.
G. Krasner and S. T. Pope. A cookbook for using the Model-View-Controller user interface paradigm in Smalltalk-80. JOOP, Aug. 1988.
J. Magee, N. Dulay, S. Eisenbach, and J. Kramer. Specifying distributed software architectures. In Proc. ESEC'95, LNCS 989, pp. 137–153, 1995.
O. Nierstrasz and L. Dami. Component-oriented software technology. In Object-Oriented Software Composition, pp. 3–28. Prentice Hall, 1995.
D. Notkin, D. Garlan, W. G. Griswold, and K. Sullivan. Adding Implicit Invocation to Languages: Three Approaches. In Proc. ISOTAS'93, LNCS 742, pp. 487–510, 1993.
OMG. The common object request broker: architecture and specification, 1995. Revision 2.0.
X. Pintado. Gluons: a support for software component cooperation. In Proc. ISOTAS'93, LNCS 742, pp. 43–60, 1993.
M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996.
K. Sullivan and D. Notkin. Reconciling environment integration and software evolution. Trans. on Software Engineering and Methodology, 1(3):228–268, July 1992.
D. M. Yellin and R. E. Strom. Interfaces, Protocols, and the Semi-Automatic Construction of Software Adaptors. In Proc. of OOPSLA'94, pp. 176–190, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ducasse, S., Richner, T. (1997). Executable connectors: Towards reusable design elements. In: Jazayeri, M., Schauer, H. (eds) Software Engineering — ESEC/FSE'97. ESEC SIGSOFT FSE 1997 1997. Lecture Notes in Computer Science, vol 1301. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63531-9_32
Download citation
DOI: https://doi.org/10.1007/3-540-63531-9_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63531-4
Online ISBN: 978-3-540-69592-9
eBook Packages: Springer Book Archive