Abstract
In recent software developments, applications are made up of a collection of reusable software entities (components) and mechanisms that permit their interaction (connectors). These latter mechanisms have many forms. On the one hand, industrial approaches use simple connectors that are mainly point-to-point connections.On the other hand, academic approaches, like Architecture Description Languages (ADL), recognize complex connectors as first class design entities.However, these concepts are restricted to the architectural level since they have almost no implementation. The current application developments use simple connectors, and high level specifications are under exploited.
In this article, we propose a means to fill the gap between connector specification and implementation. For a better reuse of design effort, and to avoid using only simple connectors when realizing applications, we propose to define connectors as complex communication and coordination abstractions and to implement them as a family of generators. We illustrate the development and use of such generators through a full example.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: The 22nd International Conference on Software Engineering (ICSE 2000), pp. 178–187 (2000)
OMG: CORBA Component Model RFP (1997), http://www.omg.org/docs/orbos/97-05-22.pdf
Inc., S.M.: Enterprise java beans technology, http://java.sun.com/products/ejb/
Shaw, M.: Procedure calls are the assembly language of software interconnection: Connectors deserve first-class status. Technical Report CS-94-107, Carnegie Mellon University, School of Computer Science (1994)
Ducasse, S., Richner, T.: Executable connectors: Towards reusable design elements. In: Jazayeri, M. (ed.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301, pp. 483–500. Springer, Heidelberg (1997)
Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languges. IEEE Transaction on Software Engineering, 70–93 (2000)
Show, M.: Procedure calls are the assembly language of system interconnection: Connectors deserve first-class status. In: Workshop on Studies of Software Design (1993)
Shaw, M., DeLine, R., Zelesnik, G.: Abstractions and implementations for architectural connections. In: Third Int’l Conf. Configurable Distributed Systems (1996)
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Software Eng. and Methodology 6, 213–249 (1997)
Luckham, D., Kenney, J., Augustin, L., Vera, J., Bryan, D., Mann, W.: Specification and analysis of system architecture using rapide. IEEE Trans. Software Eng. 21, 336–355 (1995)
Abowd, G.D., Allen, R., Garlan, D.: Using style to understand descriptions of software architectures. ACM Software Engineering Notes 18, 9–20 (1993)
Putman, J.: Architecting with RM-ODP. Prentice Hall, Englewood Cliffs (2001)
Coulouris, G., Dollimore, J., Kindberg, T.: Distributed systems: Concepts and design (2001)
Cisco Systems Inc.: High availability web services (2000), http://www.cisco.com/warp/public/cc/so/neso/ibso/ibm/s390/mnibm_wp.htm
Objectweb Open Source Middleware: Jonathan: An Open Distributed Objects Platform, http://jonathan.objectweb.org/
Sanchez, F.J.I., Matougui, S., Beugnard, A.: Conception et implémentation de connecteurs logiciels: Une expérimentation pour le calcul de performance sur une application de répartition de charge. Technical report, ENST-Bretagne, Brest France (2004)
Spitznagel, B., Garlan, D.: A compositional approach for constructing connectors. In: The Working IEEE/IFIP Conference on Software Architecture (WICSA 2001), pp. 148–157 (2001)
Aldrich, J., Sazawal, V., Chambers, C., Notkin, D.: Language support for connector abstractions. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 IFIP International Federation for Information Processing
About this paper
Cite this paper
Matougui, S., Beugnard, A. (2005). How to Implement Software Connectors? A Reusable, Abstract and Adaptable Connector. In: Kutvonen, L., Alonistioti, N. (eds) Distributed Applications and Interoperable Systems. DAIS 2005. Lecture Notes in Computer Science, vol 3543. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11498094_8
Download citation
DOI: https://doi.org/10.1007/11498094_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26262-6
Online ISBN: 978-3-540-31582-7
eBook Packages: Computer ScienceComputer Science (R0)