Abstract
Experience from recent years has shown that it is often advantageous 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 product families are built from elementary features that reach from hardware parts to software artefacts such as requirements, architectural elements or patterns, components, middleware, or code. We use the well established mathematical structure of idempotent semirings as the basis for a product family algebra that allows a formal treatment of the above notions. A particular application of the algebra concerns the multi-view reconciliation problem that arises when complex systems are modelled. We use algebraic integration constraints linking features in one view to features in the same or a different view and show in several examples the suitability of this approach for a wide class of integration constraint formulations. Our approach is illustrated with a Haskell prototype implementation of one particular model of product family algebra.
Similar content being viewed by others
References
Avgeriou, P., Guelfi, N.: Resolving architectural mismatches of COTS through architectural reconciliation. In: Lecture Notes in Computer Science, vol. 3412, pp. 248–257. Springer, Berlin (2005)
Batory, D.: The road to utopia: A future for generative programming. Keynote presentation at the Dagstuhl Seminar for Domain Specific Program Generation, March (2003)
Batory, D.: Feature models, grammars, and propositional formulas. In: Proceedings of the 9th International Software Product Line Conference (SPLC-EUROPE 2005), pp. 26–29. September (2005)
Batory, D., Lopez-Herrejon, R., Martin, J.P.: Generating product-lines of product-families. In: Conference on Automated-Software Engineering. September (2002)
Bühne, S., Lauenroth, K., Pohl, K.: Modelling requirements variability across product lines. In: 13th IEEE International Requirements Engineering Conference, pp. 41–50. IEEE Computer Society, Los Alamitos, 29 August to 2 September (2005)
Clements P., Northrop L.M.: Software Product Lines: Practices and Patterns. Addison Wesley, Reading (2002)
Cysneiros L.M., do Prado Leite J.C.S.: Non-functional requirements: From elicitation to conceptual models. IEEE Trans. Softw. Eng. 30(5), 328–350 (2004)
Czarnecki K., Eisenecker U.: Generative programming, methods, tools and applications. Addison-Wesley, Reading (2000)
Desharnais J., Frappier M., Khedri R.: Integration of sequential scenarios. IEEE Trans. Softw. Eng. 24(9), 695–708 (1998)
Desharnais J., Möller B., Struth G.: Modal Kleene algebra and applications—a survey. J. Relat. Methods Comput. Sci. 1, 93–131 (2004)
Gilani, W., Naqvi, N.H., Spinczyk, O.: On adaptable middleware product lines. In: Proceedings of the 3rd workshop on Adaptive and reflective middleware (ARM ’04), pp 207–213. ACM, New York (2004)
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)
Hebisch U., Weinert H.J.: Semirings—Algebraic Theory and Applications in Computer Science. World Scientific, Singapore (1998)
Höfner, P.: Database for automated proofs (laws for product families). http://www.dcs.shef.ac.uk/~georg/k. Accessed 1 March 2009
Höfner P., Khedri R., Möller B.: Feature algebra. In: Misra, J., Nipkow, T., Sekerinski, E.(eds) Formal Methods. Lecture Notes in Computer Science, vol 4085., pp. 300–315. Springer, Berlin (2006)
Höfner, P., Khedri, R., Möller, B.: Feature algebra. Technical Report 2006–04, Institute of Computer Science, University of Augsburg (2006)
Höfner, P., Khedri, R., Möller, B.: Algebraic view reconciliation. Technical Report 2007-13, Institute of Computer Science, University of Augsburg (2007)
Höfner, P., Khedri, R., Möller, B.: Algebraic view reconciliation. In: Software Engineering and Formal Methods, pp. 85–94. IEEE Press (2008)
Höfner P., Struth G.: Automated reasoning in Kleene algebra. In: Pfennig, F.(eds) CADE 2007. Lecture Notes in Artificial Intelligence, vol 4603, pp. 279–294. Springer, Berlin (2007)
Höfner P., Struth G.: Can refinement be automated? Electron. Notes Theor. Comput. Sci. 201, 197–222 (2008)
Jacobs B.E.: Applied Database Logic: Fundamental Issues, volume I. Prentice-Hall, Inc., Englewood Cliffs (1985)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-021, Carnegie Mellon Software Engineering Institute, Carnegie Mellon University (1990)
Kang K.C., Kim S., Lee J., Kim K., Shin E., Huh M.: FORM: A feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5(1), 143–168 (1998)
Khedri, R.: Formal model driven approach to deal with requirements volatility. Computing and Software Technical Reports CAS-08-03-RK, Department of Computing and Software, McMaster University (2008)
McCune, W.: Prover9 and Mace4. http://www.prover9.org/. (accessed March 1, 2009)
Nace, W., Koopman, P.: A product family approach to graceful degradation. In: Proceedings of the IFIP WG10.3/WG10.4/WG10.5 International Workshop on Distributed and Parallel Embedded Systems: Architecture and Design of Distributed Embedded Systems, pp. 131–140. Kluwer, Deventer (2000)
Nilsson N.J.: Principles of Artificial Intelligence. Tioga, Palo Alto (1980)
Palkovics L.: Identification and control problems in vehicle system design. Knorr-Bremse, Munich (1991)
Parnas D.L.: On the design and development of program families. IEEE Trans. Softw. Eng. SE2(1), 1–9 (1976)
Riva, C., Del Rosso, C.: Experiences with software product family evolution. In: Sixth International Workshop on Principles of Software Evolution (IWPSE’03), pp. 161–169. IEEE Computer Society, Los Alamitos (2003)
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’03), pp. 305–311. IEEE Computer Society, Los Alamitos (2003)
Savolainen, J., Oliver, I., Mannion, M., Zuo, H.: Transitioning from product line requirements to product line architecture. In: Proceedings of the 29th Annual International Computer Software and Applications Conference (COMPSAC 2005), pp. 186–195. IEEE Computer Society, Los Alamitos, 26–28 July (2005)
Shelton, C.P.: Using architectural properties to model and measure system-wide graceful degradation. In: In Workshop on Architecting Dependable Systems, pp. 267–289. Springer, Berlin (2002)
Software Engineering Standards Committee of the IEEE Computer Society. IEEE recommended practice for software requirements specifications, IEEE Std 830-1998 (revision of IEEE std 830-1993). http://ieeexplore.ieee.org, 23 May 2007
Streitferdt, D.: Family-Oriented Requirements Engineering. PhD thesis, Technical University Ilmenau (2004)
Streitferdt, D., Riebisch, M., Philippow, I.: Details of formalized relations in feature models using OCL. In: The 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS’03), Huntsville, AL, USA, April 2003. IEEE Computer Society, Los Alamitos (2003)
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)
Thompson, J.M.: Heimdahl, Mats P.E.: Structuring product family requirements for n-dimensional and hierarchical product lines. Requir. Eng. J. (2002)
Uchitel S., Kramer J., Magee J.: Synthesis of behavioral models from scenarios. IEEE Trans. Softw. Eng. 29(2), 99–115 (2003)
Wang A.J.A., Qian K.: Component-Oriented Programming. Wiley, NY (2005)
Weiss D.M., Lai C.T.R.: Software Product-Line Engineering: A Family-Based Software Development Process. Addison Wesley Longman, Inc., New York (1999)
Wirsing, M., Knapp, A.: View consistency in software development. In: Lecture Notes in Computer Science, vol. 2941, pp. 341–357. Springer, Berlin (2004)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Antonio Cerone.
This article is a revised and enlarged version of Refs. [15,18].
Rights and permissions
About this article
Cite this article
Höfner, P., Khedri, R. & Möller, B. An algebra of product families. Softw Syst Model 10, 161–182 (2011). https://doi.org/10.1007/s10270-009-0127-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-009-0127-2