Abstract
The integration of COTS components into a system under development entails architectural mismatches. These have been tackled, so far, at the component level, through component adaptation techniques, but they also must be tackled at an architectural level of abstraction. In this paper we propose an approach for resolving architectural mismatches, with the aid of architectural reconciliation. The approach consists of designing and subsequently reconciling two architectural models, one that is forward-engineered from the requirements and another that is reverse-engineered from the COTS-based implementation. The final reconciled model is optimally adapted both to the requirements and to the actual COTS-based implementation. The contribution of this paper lies in the application of architectural reconciliation in the context of COTS-based software development. Architectural modeling is based upon the UML 2.0 standard, while the reconciliation is performed by transforming the two models, with the help of architectural design decisions.
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
Albert, C., Brownsword, L.: Evolutionary Process for Integrating COTS-Based Systems (EPIC). SEI Technical Report CMU/SEI-2002-TR-005. Software Engineering Institute, Carnegie Mellon University (2002)
Avgeriou, P., Guelfi, N., Perrouin, G.: Evolution Through Architectural Reconciliation. In: Workshop on Software Evolution Through Transformations (SETra) 2004, Rome, Italy. Electronic Notes in Theoretical Computer Science, Elsevier, Amsterdam (2004)
Bosch, J.: Superimposition: A component adaptation technique. Information and Software Technology 41, 257–273 (1999)
Bosch, J.: Design and Use of Software Architectures. Addison-Wesley, Reading (2000)
Clements, P., Kazman, R., Clein, M.: Evaluating Software Architecture. Addison-Wesley, Reading (2002)
Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Reading (2002)
Ganesha web site, http://www.anemalab.org/ganesha/
Garlan, D., Allen, R., Ockerbloom, J.: Architectural Mismatch: or Why It’s Hard to Build Systems Out of Existing Parts. In: Proceedings of the International Conference on Software Engineering, Seattle (1995)
Grunbacher, P., Egyed, A., Medvidovic, N.: Reconciling Software Requirements and Architectures with Intermediate Models. Journal of Software and Systems Modeling (So-SyM),(to appear)
Guelfi, N., Ries, B., Sterges, P.: MEDAL: A CASE Tool Extension for Model-driven Software Engineering. In: SwSTE 2003, IEEE International Conference on Software - Science, Technology & Engineering, Hertzeliyah, Israel (2003)
Guo, G.Y., Atlee, J.M., Kazman, R.: A Software Architecture Reconstruction Method. WICSA-1, San Antonio (February 1999)
Heineman, G.: A model for designing adaptable software components. In: Twenty-second International Conference on Computer Software and Applications Conference (COMPSAC), Vienna, Austria, August 1998, pp. 121–127 (1998)
Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley, Reading (1999)
IEEE, Recommended Practice for Architectural Description of Software-Intensive Systems, IEEE std. 1471-2000 (2000)
Keller, R., Hölze, U.: Binary component adaptation, Technical report TRCS97-20, University of California, Santa Barbara (December 1997)
Kiczales, G., Lamping, J., Lopes, C., Maeda, C., Mendhekar, A., Murphy, G.: Open implementation design guidelines. In: Proceedings of the 19th international conference on Software engineering, Boston, Massachusetts, United States, May 17-23, pp. 481–490 (1997)
Kruchten, P.: The 4+1 view model of architecture. IEEE Software (November 1995)
Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)
Medvidovic, N., Egyed, A., Gruenbacher, P.: Stemming Architectural Erosion by Coupling Architectural Discovery and Recovery. In: Proceedings of the Second International Requirements to Architecture Workshop (STRAW 2003), Portland, Oregon, May 3-11 (2003)
Mikic-Rakic, M., Mehta, N.R., Medvidovic, N.: Architectural Style Requirements for Self-Healing Systems. In: 1st Workshop on Self-Healing Systems, Charleston (November 2002)
Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architectures. Software Engineering Notes (October 1992)
Portable Bookshelf website, http://www.swag.uwaterloo.ca/pbs/
SHriMP web site, http://shrimp.cs.uvic.ca/
Szyperski, C.: Component Software – Beyond Object-Oriented Programming. ACM Press, New York (1999)
Tran, J., Holt., R.: Forward and Reverse Architecture Repair. In: Proc. of CASCON 1999, Toronto, November 1999, pp. 15–24 (1999)
Tran, J., Godfrey, M., Lee, E., Holt, R.: Architecture repair of open source software. In: Proc. of 2000 Intl. Workshop on Program Comprehension (IWPC 2000), Limerick, Ireland (2000)
Tzerpos, V., Holt, R.C.: A Hybrid Process for Recovering Software Architecture. In: CASCON 1996, Toronto (November 1996)
Tu, Q., Godfrey, M.: An Integrated Approach for Studying Software Architectural Evolution. In: Proc. of 2002 Intl. Workshop on Program Comprehension (IWPC 2002), Paris (June 2002)
Welch, I., Stroud, R.: Adaptation of connectors in software architectures. In: Third International Workshop on Component-Oriented Programming, Brussels, Belgium (July 1998)
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
Avgeriou, P., Guelfi, N. (2005). Resolving Architectural Mismatches of COTS Through Architectural Reconciliation. In: Franch, X., Port, D. (eds) COTS-Based Software Systems. ICCBSS 2005. Lecture Notes in Computer Science, vol 3412. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30587-3_34
Download citation
DOI: https://doi.org/10.1007/978-3-540-30587-3_34
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24548-3
Online ISBN: 978-3-540-30587-3
eBook Packages: Computer ScienceComputer Science (R0)