Based on experience from the hardware industry, product families have entered the software development process as well, since software developers often prefer not to build a single product but rather a family of similar products that share at least one common functionality while having well-identified variabilities. Such shared commonalities, also called features, reach from common hardware parts to software artefacts such as requirements, architectural properties, components, middleware, or code. We use idempotent semirings as the basis for a feature algebra that allows a formal treatment of the above notions as well as calculations with them. In particular models of feature algebra the elements are sets of products, i.e. product families. We extend the algebra to cover product lines, refinement, product development and product classification. Finally we briefly describe a prototype implementation of one particular model.
KeywordsProduct Line Product Family Software Product Line Software Development Process Feature Diagram
Unable to display preview. Download preview PDF.
- 1.Batory, D.: The road to utopia: A future for generative programming. Keynote presentation at the Dagstuhl Seminar for Domain Specific Program Generation (March 2003)Google Scholar
- 2.Batory, D.: Feature models, grammars, and propositional formulas. In: Proceedings of the 9th International Software Product Line Conference (SPLC-EUROPE 2005), September 26-29 (2005)Google Scholar
- 3.Batory, D., Lopez-Herrejon, R., Martin, J.-P.: Generating product-lines of product-families. In: Conference on Automated-Software Engineering (September 2002)Google Scholar
- 5.Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison Wesley Professional, Reading (2002)Google Scholar
- 6.Czarnecki, K., Eisenecker, U.: Generative Programming, Methods, Tools and Applications. Addison-Wesley, Reading (2000)Google Scholar
- 8.Griss, M.L., Favaro, J., d’Alessandro, M.: Integrating feature modeling with the RSEB. In: Devanbu, P., Poulin, J. (eds.) Proceedings of the 5th International Conference on Software Reuse, pp. 76–85. IEEE Computer Society, Los Alamitos (1998)Google Scholar
- 9.Höfner, P., Khedri, R., Möller, B.: Feature algebra. Technical Report 2006-04, Institut für Informatik, Universität Augsburg (February 2006)Google Scholar
- 10.Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (foda) feasibility study. Technical Report CMU/SEI-90-TR-021, Carnegie Mellon Software Engineering Institute, Carnegie Mellon University (1990)Google Scholar
- 12.Nilsson, N.J.: Principles of Artificial Intelligence. Tioga Publishing Co. (1980)Google Scholar
- 15.Roback, S., Pieczynski, A.: Employing fuzzy logic in feature diagrams to model variability in software product-lines. In: 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2003), pp. 305–311. IEEE Computer Society, Los Alamitos (2003)CrossRefGoogle Scholar
- 16.Thompson, J.M., Heimdahl, M.P.: Structuring product family requirements for n-dimensional and hierarchical product lines. Requirements Engineering Journal (2002)Google Scholar
- 17.Thompson, J.M., Heimdahl, M.P., Erickson, D.M.: Structuring formal control systems specifications for reuse: Surviving hardware changes. Technical Report TR 00-004, Department of Computer Science and Engineering, University of Minnesota (February 2000)Google Scholar