Abstract
The idea of building software systems from semi-autonomous components that can be reused in numerous applications is intuitively appealing. However, simply organizing software systems in terms of components does not by itself ensure that the components will be reusable, or that significant levels of reuse will actually occur. In practice, to achieve meaningful levels of reuse the scope and generality of components must be carefully analyzed and optimized. In this paper we make the case that one of the most effective and systematic ways of achieving this is to complement component-based development with product line engineering techniques. Product line engineering not only provides concrete criteria for maximizing the reusability of components, but also provides enhanced mechanisms for reusing them within new applications. After first outlining the pertinent features of component-based development and product line engineering, the paper explains how they can be integrated under the umbrella of a model-driven architecture (MDA) approach to software development.
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
Kruchten, P. B., The Rational Unified Process. An Introduction, Addison-Wesley, 2000.
D’Souza, D. F. and Wills A. C., Objects, Components and Frameworks with UML: The Catalysis Approach, Addison-Wesley, 1998
C. Atkinson, J. Bayer, C. Bunse, O. Laitenberger, R. Laqua, E. Kamsties, D. Muthig, B. Paech, J. Wüst, and J. Zettel. Component-based Product Line Engineering with UML, Component Series, Addison-Wesley, 2001
J. Cheesman and J. Daniels. UML Components: A Simple Process for Specifying Component-Based Software, Addison-Wesley, 2000
Cooks, S., and Daniels, J., Designing Object Systems, Prentice Hall, England 1992
Forsell, M., Halttunen, V., and Ahonen, J. Use and Identification of Components in Component-Based Software Development Methods. In Software Reuse. Advances in Software Reusability. 6th International Conference, ICSR-6. Lecture Notes in Computer Science, 1844, Springer-Verlag, 2000.
W. C. Lim. Managing Software Reuse — A Comprehensive Guide to Strategically Reengineering the Organization for Reusable Components, Upper Saddle River: Prentice Hall PTR, 1998
Bayer, J., Flege, O., Knauber, P., Laqua, R., Muthig, D., Schmid. K., Widen, T, and Debaud, J.-M., PuLSE: A Methodology to develop Software Product Lines, Proceedings of the Symposium on Software Reuse(SSR’99), May 1999
C. Atkinson, J. Bayer, and D. Muthig. Component-Based Product Line Development: The KobrA Approach, in [12]
S. Bailin, M. Simos, L. Levin, and D. Creps. Learning and Inquiry Based Reuse Adoption (LIBRA)-A Field Guide to Reuse Adoption through Organizational Learning, Version 1.1, Software Technology for Adaptable, Reliable Systems (STARS), Informal Technical Report STARS-PA33-AG01/001/02, February1996
J. Bayer, D. Muthig, and B. Göpfert. The Library System Product Line — A KobrA Case Study, Technical Report, Fraunhofer IESE-Report No. 024.01/E, IESE, 2001
P. Donohoe. Software Product Lines-Experience and Research Directions, Kluwer Academic Publi/subjectshers, 2000
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Atkinson, C., Muthig, D. (2002). Enhancing Component Reusability through Product Line Technology. In: Gacek, C. (eds) Software Reuse: Methods, Techniques, and Tools. ICSR 2002. Lecture Notes in Computer Science, vol 2319. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46020-9_7
Download citation
DOI: https://doi.org/10.1007/3-540-46020-9_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43483-2
Online ISBN: 978-3-540-46020-6
eBook Packages: Springer Book Archive