Abstract
Software variability is the capacity of software to satisfy variant requirements. Component based software engineering and reuseintense software development, such as software product line engineering, demand software components with high variability. Increased variability influences a component's utility as it can be reused in multiple applications. In this paper a review and analysis of variability implementation mechanisms is presented. It builds on earlier work on software variability by providing an analysis and a synthesis. The purpose of this work is to classify the available variability mechanisms in terms of type, scope, and the artefact to be targeted. Examples to illustrate the points under discussion are given in the form of Java code.
- Bosch, J. 2000. Design and use of software architectures: adopting and evolving a product-line approach. ACM Press/Addison-Wesley Publishing Co. Google ScholarDigital Library
- Czarnecki, K. and Eisenecker, U. 2000. Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional. Google ScholarDigital Library
- Deelstra, S., Sinnema, M. and Bosch, J. 2009. Variability assessment in software product families. Information and Software Technology 51, 195--218. Google ScholarDigital Library
- Fazal-E-Amin, Mahmood, A.K. and Oxley, A. 2010. A Review on Aspect Oriented Implementation of Software Product Lines Components. Information Technology Journal 9, 1262--1269.Google ScholarCross Ref
- Firesmith, D. 2003. Common Concepts Underlying Safety, Security, and Survivability Engineering Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, USA.Google Scholar
- Gacek, C. and Anastasopoules, M. 2001. Implementing product line variabilities. SIGSOFT Softw. Eng. Notes 26, 109--117. Google ScholarDigital Library
- Her, J.S., Kim, J.H., Oh, S.H., Rhew, S.Y. and Kim, S.D. 2007. A framework for evaluating reusability of core asset in product line engineering. Information and Software Technology 49, 740--760. Google ScholarDigital Library
- IEEE 1990. IEEE Standard Glossary of Software Engineering Terminology, NY, USA.Google Scholar
- Kang, K., Cohen, S., Hess, J., Novak, W. and Peterson, A.S. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. In Technical Report CMU/SEI-90-TR-21 Software Engineering Institute, Carnegie Mellon University.Google Scholar
- Kettemann, S., Muthig, D. and Anastasopoulos, M. 2003. Product line implementation technologies. Component technology view Fraunhofer IESE.Google Scholar
- Kim, S.D., Her, J.S. and Chang, S.H. 2005. A theoretical foundation of variability in component-based development. Information and Software Technology 47, 663--673. Google ScholarDigital Library
- Krueger, C.W. 1992. Software reuse. ACM Comput. Surv. 24, 131--183. Google ScholarDigital Library
- Mohagheghi, P. and Conradi, R. 2007. Quality, productivity and economic benefits of software reuse: a review of industrial studies. Empirical Softw. Engg. 12, 471--516. Google ScholarDigital Library
- Pohl, C., Rummler, A., Gasiunas, V., Loughran, N., Arboleda, H., Fernandes, F.D.A., Noyé, J., Núñez, A., Passama, R., Royer, J.-C. and Südholt, M. 2007. Survey of existing implementation techniques with respect to their support for the practices currently in use at industrial partners. In AMPLE Project deliverableD3.1.Google Scholar
- Sharp, D.C. 2000. Containing and facilitating change via object oriented tailoring techniques. In First Software Product Line Conference, Denver, Colorado.Google Scholar
Index Terms
- An analysis of object oriented variability implementation mechanisms
Recommendations
Viewpoint-Oriented Variability Modeling
COMPSAC '09: Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference - Volume 01Software product lines have emerged as the main method achieving reuse. Traditionally, a product line has a single feature model shared by all the products. For large and evolving product lines with numerous stakeholders, the feature model becomes ...
Software Variability Management
ICSE '04: Proceedings of the 26th International Conference on Software EngineeringDuring recent years, the amount of variability that hasto be supported by a software artefact is growingconsiderably and its management is evolving into amajor challenge during development, usage, andevolution of software artefacts. Successful ...
CASE Tool Support for Variability Management in Software Product Lines
Software product lines (SPL) aim at reducing time-to-market and increasing software quality through extensive, planned reuse of artifacts. An essential activity in SPL is variability management, i.e., defining and managing commonality and variability ...
Comments