Abstract
Assembling software components into an architecture is a difficult task because of its combinatorial complexity. There is thus a need for automating this building process, either to assist architects at design time or to manage the self-assembly of components at runtime. This paper proposes an automatic architecture building process that uses ports, and more precisely composite ports, to manage the connection of components. Our solution extends the Fractal component model. It has been implemented and experiments have been run to verify its good time performance, thanks to several optimization heuristics and strategies.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Crnkovic, I.: Component-based software engineering - new challenges in software development. Software Focus (2001)
Garlan, D.: Software Architecture: a Roadmap. In: The Future of Software Engineering, pp. 91–101. ACM Press, New York (2000)
Brown, A.W., Wallnau, K.C.: The current state of CBSE. IEEE Software 15(5), 37–46 (1998)
OMG: Unified modeling language: Superstructure, version 2.0 (2002), http://www.omg.org/uml/
OMG: Corba components, version 3.0 (2002), http://www.omg.org/docs/formal/02-06-65.pdf
Traverson, B.: Abstract model of contract-based component assembly, ACCORD RNTL project number 4 deliverable (in french) (2003)
Bruneton, E., Coupaye, T., Stefani, J.: Fractal specification - v 2.0.3 (2004), http://fractal.objectweb.org/specification/index.html
Plásil, F., Balek, D., Janecek, R.: SOFA/DCUP: Architecture for component trading and dynamic updating. In: Proceedings of the Int. Conf. on Configurable Distributed Systems, Washington, DC, USA, pp. 43–52. IEEE Computer Society, Los Alamitos (1998)
Plásil, F., Visnovsky, S.: Behavior protocols for software components. IEEE Trans. Softw. Eng. 28(11), 1056–1076 (2002)
Hacklinger, F.: Java/A - Taking Components into Java. In: IASSE, pp. 163–168 (2004)
Farías, A., Sudholt, M.: On components with explicit protocols satisfying a notion of correctness by construction. In: Meersman, R., Tari, Z., et al. (eds.) CoopIS 2002, DOA 2002, and ODBASE 2002. LNCS, vol. 2519, pp. 995–1012. Springer, Heidelberg (2002)
de Boer, F.S., Jacob, J.F., Bonsangue, M.M.: The OMEGA component model. Deliverable of the IST-2001-33522 OMEGA project (2002)
Inverardi, P., Wolf, A.L., Yankelevich, D.: Static checking of system behaviors using derived component assumptions. ACM Trans. Softw. Eng. Methodol. 9(3), 239–272 (2000)
Aldrich, J., Chambers, C., Notkin, D.: Archjava: connecting software architecture to implementation. In: Proceedings of ICSE, Orlando, Florida, USA, pp. 187–197. ACM Press, New York (2002)
Dijkman, R.M., Almeida, J.P.A., Quartel, D.A.: Verifying the correctness of component-based applications that support business processes. In: Crnkovic, I., Schmidt, H., Stafford, J., Wallnau, K. (eds.) Proc. of the 6th Workshop on CBSE: Automated Reasoning and Prediction, Portland, Oregon, USA, pp. 43–48 (2003)
Inverardi, P., Tivoli, M.: Software Architecture for Correct Components Assembly. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 92–121. Springer, Heidelberg (2003)
Cechich, A., Piattini, M., Vallecillo, A. (eds.): Component-Based Software Quality. LNCS, vol. 2693. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Desnos, N., Vauttier, S., Urtado, C., Huchard, M. (2006). Automating the Building of Software Component Architectures. In: Gruhn, V., Oquendo, F. (eds) Software Architecture. EWSA 2006. Lecture Notes in Computer Science, vol 4344. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11966104_18
Download citation
DOI: https://doi.org/10.1007/11966104_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69271-3
Online ISBN: 978-3-540-69272-0
eBook Packages: Computer ScienceComputer Science (R0)