Abstract
In existing component models, control originates in components, and connectors are channels for passing on the control to other components. This provides a mechanism for message passing, which allows components to invoke one another’s operations by method calls (or remote procedure calls) either directly or indirectly via a channel such as a bus. Thus components in these models mix computation with control, since in performing their computation they also initiate method calls and manage their returns, via connectors. Consequently, in terms of control, components are not loosely coupled. In this paper, we propose exogenous connectors, and demonstrate their use in a small example. In contrast to connectors in existing component models, exogenous connectors initiate calls and manage their returns, and are used to encapsulate control in a component model we are working on. In the example, we demonstrate the feasibility of exogenous connectors, and compare them with connectors in closely related architecture description languages.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
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
Aldrich, J., Chambers, C., Notkin, D.: Architectural reasoning in ArchJava. In: Proc. 16th European Conference on Object-Oriented Programming, pp. 334–367. Springer, Heidelberg (2002)
Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting software architecture to implimentation. In: Proc. 24th International Conference on Software Engineering, pp. 187–197. ACM Press, New York (2002)
Arbab, F.: The IWIM model for coordination of concurrent activities. In: Hankin, C., Ciancarini, P. (eds.) COORDINATION 1996. LNCS, vol. 1061, pp. 34–56. Springer, Heidelberg (1996)
ArchJava web page, http://archjava.fluid.cs.cmu.edu/index.html
ArchStudio 3 web page, http://www.isr.uci.edu/projects/archstudio/index.html
Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wüst, J., Zettel, J.: Component-based Product Line Engineering with UML. Addison-Wesley, Reading (2001)
Barnes, J.: High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley, Reading (2003)
Box, D.: Essential COM. Addison-Wesley, Reading (1998)
Englander, R.: Developing Java Beans. O’Reilly & Associates, Sebastopol (1997)
Extended Static Checking for Java Home Page, http://research.compaq.com/SRC/esc/
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: The courier pattern. Dr. Dobb’s Journal, Feburary (1996)
Garlan, D., Monroe, R.T., Wile, D.: ACME: Architectural description of component-based systems. In: Sitaraman, M., Leavens, G.T. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)
Haefel, R.M.: Enterprise JavaBeans, 3rd edn. O’Reilly & Associates, Sebastopol (2001)
Inverardi, P., Tivoli, M.: Software architecture for correct components assembly. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 92–111. Springer, Heidelberg (2003)
Ivers, J., Sinha, N., Wallnau, K.C.: A basis for composition language CL. Technical Report CMU/SEI-2002-TN-026, CMU SEI (2002)
Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: Proc. 22nd International Conference on Software Engineering, pp. 178–187. ACM Press, New York (2000)
Meyer, B.: Applying design by contract. IEEE Computer 25(10), 40–51 (1992)
Nierstrasz, O., Arévalo, G., Ducasse, S., Wuyts, R., Black, A., Müller, P., Zeidler, C., Genssler, T., van den Born, R.: A component model for field devices. In: Proc. 1st International IFIP/ACM Working Conference on Component Deployment, Berlin, Germany (2002)
OMG, UML 2.0 Superstructure Specification, http://www.omg.org/cgi-bin/doc?ptc/2003-08-02
OMG, CORBA Component Model, V3.0 (2002), http://www.omg.org/technology/documents/formal/components.htm
Schneider, J.G., Nierstrasz, O.: Components, scripts and glue. In: Barroca, L., Hall, J., Hall, P. (eds.) Software Architectures – Advances and Applications, pp. 13–25. Springer, Heidelberg (1999)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)
Software Engineering Institute, Carnegie-Mellon University. Predictable assembly from certifiable components, http://www.sei.cmu.edu/pacc/
Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)
Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead Jr., E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A component- and message-based architectural style for GUI software. Software Engineering 22(6), 390–406 (1996)
van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. IEEE Computer, 78–85 (March 2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lau, KK., Velasco Elizondo, P., Wang, Z. (2005). Exogenous Connectors for Software Components. In: Heineman, G.T., Crnkovic, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds) Component-Based Software Engineering. CBSE 2005. Lecture Notes in Computer Science, vol 3489. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11424529_7
Download citation
DOI: https://doi.org/10.1007/11424529_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25877-3
Online ISBN: 978-3-540-32049-4
eBook Packages: Computer ScienceComputer Science (R0)