Constraints: The core of product line engineering

Product line engineering is a reuse-driven development paradigm based on the management of variability, which was successfully applied in information systems engineering and other domains. A common way to represent variability is with variability models that describe artefacts, and the dependencies between their various inflexions. Constraint programming, and in particular Boolean constraint programming, has been used so far to support analysis of variability models such as Feature-Oriented Domain Analysis (FODA) and the like. This paper goes a step further by using constraint programming to specify product lines. The focus on variability, variation points or dependencies is switched to the concept of constraints that apply to variables. The paper shows that this approach is richer than the one based on dependencies. For instance, many constraints that were needed in the cases we explored cannot be specified with dependencies of existing product line modelling languages. The approach was implemented in a prototype tool, and its scalability explored with industry case studies. These experiments show that constraint programming encompasses existing product line modelling languages such as FODA or OVM (Orthogonal Variability Model) and opens way to new possibilities such as reasoning simultaneously with different models during domain or application engineering.

[1]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[2]  Robert S. Kaplan,et al.  Conceptual Foundations of the Balanced Scorecard , 2010 .

[3]  R. Kaplan,et al.  The Balanced Scorecard: Translating Strategy into Action , 1996 .

[4]  R. Kaplan,et al.  Having trouble with your strategy? Then map it. , 2000, Harvard business review.

[5]  Colette Rolland,et al.  A strategy driven business process modelling approach , 2005, Bus. Process. Manag. J..

[6]  Daniel Diaz,et al.  Using Integer Constraint Solving in Reuse Based Requirements Engineering , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[7]  Miguel Toro,et al.  Automated error analysis for the agilization of feature modeling , 2008, J. Syst. Softw..

[8]  Klaus Pohl,et al.  Modelling requirements variability across product lines , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[9]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[10]  T. Ziadi Manipulation de lignes de produits en UML , 2004 .

[11]  Ananda Edirisuriya,et al.  Design Support for e-Commerce Information Systems using Goal, Business and Process Modelling , 2009 .

[12]  Didar Zowghi,et al.  Using goals to model strategy map for business IT alignment , 2010 .

[13]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[14]  Jules White,et al.  Automated Reasoning for Multi-step Software Product-line Configuration Problems , 2009 .

[15]  Jaap Gordijn,et al.  Understanding Business Strategies of Networked Value Constellations Using Goal- and Value Modeling , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[16]  Kenneth L. McMillan,et al.  The SMV System , 1993 .

[17]  Geert-Jan Houben,et al.  An OWL-Based Approach for Integration in Collaborative Feature Modelling , 2008 .

[18]  R E Miles,et al.  Organizational strategy, structure, and process. , 1978, Academy of management review. Academy of Management.

[19]  W. DeSarbo,et al.  Revisiting the Miles and Snow Strategic Framework: Uncovering Interrelationships between Strategic Types, Capabilities, Environmental Uncertainty, and Firm Performance , 2005 .

[20]  Philippe Codognet,et al.  Design and Implementation of the GNU Prolog System , 2001, J. Funct. Log. Program..

[21]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[22]  Beate List,et al.  A UML 2 Profile for Variability Models and their Dependency to Business Processes , 2007 .

[23]  Bernhard Rumpe,et al.  Meaningful modeling: what's the semantics of "semantics"? , 2004, Computer.

[24]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[25]  Márcia Lucena,et al.  Towards a unified metamodel for i* , 2008, 2008 Second International Conference on Research Challenges in Information Science.

[26]  R. Kaplan,et al.  The strategy map: guide to aligning intangible assets , 2004 .

[27]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[28]  Daniel Diaz,et al.  Criteria for the verification of feature models , 2010, INFORSID.

[29]  Halit Oğuztüzün,et al.  Mapping Extended Feature Models to Constraint Logic Programming over Finite Domains , 2010, SPLC.

[30]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[31]  Antonio Ruiz Cortés,et al.  Using Constraint Programming to Reason on Feature Models , 2005, SEKE.

[32]  Saburo Muroga,et al.  Binary Decision Diagrams , 2000, The VLSI Handbook.

[33]  J. Barney Types of Competition and the Theory of Strategy: Toward an Integrative Framework , 1986 .

[34]  Horst Lichter,et al.  Modeling Variability by UML Use Case Diagrams , 2002 .

[35]  Camille Salinesi,et al.  RED-PL, a Method for Deriving Product Requirements from a Product Line Requirements Model , 2007, CAiSE.

[36]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[37]  Alain Colmerauer,et al.  An introduction to Prolog III , 1989, CACM.

[38]  Beate List,et al.  A UML 2 Profile for Variability Models and their Dependency to Business Processes , 2007, 18th International Workshop on Database and Expert Systems Applications (DEXA 2007).

[39]  Camille Salinesi,et al.  Solving Integer Constraint in Reuse Based Requirements Engineering , 2010 .

[40]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[41]  Michaël Petit,et al.  Towards a Unified Business Strategy Language: A Meta-model of Strategy Maps , 2010, PoEM.

[42]  Carson C. Woo,et al.  Investigating business-IT alignment through multi-disciplinary goal concepts , 2009, Requirements Engineering.

[43]  Camille Salinesi,et al.  Aligning IS to Organization's Strategy: The InStAlMethod , 2007, CAiSE.

[44]  Víctor Anaya,et al.  The Unified Enterprise Modelling Language – Overview and Further Work , 2008 .

[45]  Øystein D. Fjeldstad,et al.  CONFIGURING VALUE FOR COMPETITIVE ADVANTAGE: ON CHAINS, SHOPS, AND NETWORKS , 1998 .

[46]  R. Mauborgne,et al.  Blue Ocean Strategy: From Theory to Practice , 2005 .

[47]  Gavin Lawrie,et al.  The development of the Balanced Scorecard as a strategic management , 2003 .

[48]  Roland H. C. Yap,et al.  The CLP( R ) language and system , 1992, TOPL.

[49]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[50]  Daniel Diaz,et al.  Using constraint programming to verify DOPLER variability models , 2011, VaMoS.

[51]  Heinz Ahn,et al.  Applying the balanced scorecard concept : an experience report , 2001 .

[52]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[53]  Daniel Diaz,et al.  Deriving Product Line Requirements: the RED-PL Guidance Approach , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[54]  R. Kaplan,et al.  Mastering the management system. , 2008, Harvard business review.

[55]  Dominique Lenne,et al.  KoMIS: An Ontology-Based Knowledge Management System for Industrial Safety , 2007 .

[56]  Haiyan Zhao,et al.  A Propositional Logic-Based Method for Verification of Feature Models , 2004, ICFEM.

[57]  Bart Demoen,et al.  Heap Memory Management in Prolog with Tabling: Principles and Practice , 2001, J. Funct. Log. Program..

[58]  Birgit Geppert,et al.  International Workshop on Requirements Engineering for Product Lines , 2002 .

[59]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[60]  Karl Cox,et al.  Validating strategic alignment of organizational IT requirements using goal modeling and problem diagrams , 2006, J. Syst. Softw..