Skip to main content

Executable connectors: Towards reusable design elements

  • Regular Sessions
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1301))

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

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Allen and D. Garlan. Formal connectors. Cmu-cs-94-115, Carnegie Mellon University, Mar. 1994.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. S. Chiba. A Metaobject Protocol for C++. In OOPSLA'95, pp. 285–299, 1995.

    Google Scholar 

  4. P. Cointe. Metaclasses are first Class: The ObjVlisp Model. In OOPSLA'87 Proceedings, pp. 156–165, October 1987.

    Google Scholar 

  5. S. Ducasse, M. Blay-Fornarino, and A. Pinna. A Reflective Model for First Class Dependencies. In OOPSLA'95, pp. 265–280, 1995.

    Google Scholar 

  6. Message Passing Abstractions as Elementary Bricks for Design Pattern Implementation, 1997. Language Support for Design Patterns and Frameworks ECOOP'97 Int. Workshop.

    Google Scholar 

  7. S. Ducasse. Intégration réflexive de dépendances dans un modéle á classes. PhD thesis, Université de Nice-Sophia Antipolis, 1997.

    Google Scholar 

  8. S. Frølund and G. Agha. A Language Framework for Multi-Object Coordination. In ECOOP'93, LNCS 707, pp. 346–360, 1993.

    Google Scholar 

  9. S. Frølund. Constraint-Based Synchronization of Distributed Activities. PhD thesis, University of Illinois at Urban a-Champaign, 1994.

    Google Scholar 

  10. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.

    Google Scholar 

  11. M. Golm. Design and implementation of a meta architecture for java. Master's thesis, IMMD at F.A. University, Erlangen-Nuernberg, 1997.

    Google Scholar 

  12. A. Goldberg and D. Robson. Smalltalk-80: The Language. Addison-Wesley, 1989.

    Google Scholar 

  13. R. Helm, I. Holland, and D. Gangopadhyay. Contracts: Specifying compositions in object-oriented systems. In OOPSLA'90, pp. 169–180, 1990.

    Google Scholar 

  14. G. Kiczales, J. des Rivieres, and D. G. Bobrow. The Art of the Metaobject Protocol. MIT Press, 1991.

    Google Scholar 

  15. G. Krasner and S. T. Pope. A cookbook for using the Model-View-Controller user interface paradigm in Smalltalk-80. JOOP, Aug. 1988.

    Google Scholar 

  16. J. Magee, N. Dulay, S. Eisenbach, and J. Kramer. Specifying distributed software architectures. In Proc. ESEC'95, LNCS 989, pp. 137–153, 1995.

    Google Scholar 

  17. O. Nierstrasz and L. Dami. Component-oriented software technology. In Object-Oriented Software Composition, pp. 3–28. Prentice Hall, 1995.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. OMG. The common object request broker: architecture and specification, 1995. Revision 2.0.

    Google Scholar 

  20. X. Pintado. Gluons: a support for software component cooperation. In Proc. ISOTAS'93, LNCS 742, pp. 43–60, 1993.

    Google Scholar 

  21. M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996.

    Google Scholar 

  22. K. Sullivan and D. Notkin. Reconciling environment integration and software evolution. Trans. on Software Engineering and Methodology, 1(3):228–268, July 1992.

    Google Scholar 

  23. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mehdi Jazayeri Helmut Schauer

Rights and permissions

Reprints 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

Publish with us

Policies and ethics