{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,26]],"date-time":"2026-10-26T15:47:14Z","timestamp":1793029634483,"version":"4.5.0"},"reference-count":51,"publisher":"IGI Global Scientific Publishing","issue":"2","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012,4,1]]},"abstract":"<p>Drawing from an analogy between features based Product Line (PL) models and Constraint Programming (CP), this paper explores the use of CP in the Domain Engineering and Application Engineering activities that are put in motion in a Product Line Engineering strategy. Specifying a PL as a constraint program instead of a feature model carries out two important qualities of CP: expressiveness and direct automation. On the one hand, variables in CP can take values over boolean, integer, real or even complex domains and not only boolean values as in most PL languages such as the Feature-Oriented Domain Analysis (FODA). Specifying boolean, arithmetic, symbolic and reified constraint, provides a power of expression that spans beyond that provided by the boolean dependencies in FODA models. On the other hand, PL models expressed as constraint programs can directly be executed and analyzed by off-the-shelf solvers. This paper explores the issues of (a) how to specify a PL model using CP, including in the presence of multi-model representation, (b) how to verify PL specifications, (c) how to specify configuration requirements, and (d) how to support the product configuration activity. Tests performed on a benchmark of 50 PL models show that the approach is efficient and scales up easily to very large and complex PL specifications.<\/p>","DOI":"10.4018\/jismd.2012040102","type":"journal-article","created":{"date-parts":[[2012,3,29]],"date-time":"2012-03-29T09:34:42Z","timestamp":1333013682000},"page":"33-68","source":"Crossref","is-referenced-by-count":37,"title":["Constraints"],"prefix":"10.4018","volume":"3","author":[{"given":"Ra\u00fal","family":"Mazo","sequence":"first","affiliation":[{"name":"University of Antioquia & CRI Panth\u00e9on Sorbonne University, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Camille","family":"Salinesi","sequence":"additional","affiliation":[{"name":"CRI Panth\u00e9on Sorbonne University, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Daniel","family":"Diaz","sequence":"additional","affiliation":[{"name":"CRI Panth\u00e9on Sorbonne University, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Olfa","family":"Djebbi","sequence":"additional","affiliation":[{"name":"CRI Panth\u00e9on Sorbonne University, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Alberto","family":"Lora-Michiels","sequence":"additional","affiliation":[{"name":"Baxter International Inc, Belgium"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"2432","reference":[{"key":"jismd.2012040102-0","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1978.1675141"},{"key":"jismd.2012040102-1","author":"K. R.Apt","year":"2006","journal-title":"Constraint logic programming using ECLiPSe"},{"key":"jismd.2012040102-2","doi-asserted-by":"crossref","unstructured":"Batory, D. (2005). Feature models, grammars, and propositional formulas. In H. Obbink & K. Pohl (Eds.), Proceedings of the 9th International Conference on Software Product Lines (LNCS 3714, pp. 7-17).","DOI":"10.1007\/11554844_3"},{"key":"jismd.2012040102-3","unstructured":"Benavides, D. (2007). On the automated analysis of software product lines using feature models. A framework for developing automated tool support (Unpublished doctoral dissertation). University of Seville, Seville, Spain."},{"key":"jismd.2012040102-4","unstructured":"Benavides, D., Ruiz-Cort\u00e9s, A., & Trinidad, P. (2005). Using constraint programming to reason on feature models. In Proceedings of the Seventeenth International Conference on Software Engineering and Knowledge Engineering (pp. 677-682)."},{"issue":"6","key":"jismd.2012040102-5","article-title":"Automated analysis of feature models 20 years later: A literature review.","volume":"35","author":"D.Benavides","year":"2010","journal-title":"Journal of Information Systems"},{"key":"jismd.2012040102-6","doi-asserted-by":"crossref","unstructured":"Benavides, D., Segura, S., Trinidad, P., & Ruiz-Cort\u00e9s, A. (2006). Using Java CSP solvers in the automated analyses of feature models. In R. L\u00e4mmel, J. Saraiva, & J. Visser (Eds.), Post-Proceedings of the Summer School on Generative and Transformational Techniques in Software Engineering (LNCS 4143, pp. 399-408).","DOI":"10.1007\/11877028_16"},{"key":"jismd.2012040102-7","unstructured":"Boucher, Q., Classen, A., Faber, P., & Heymans, P. (2010). Introducing TVL, a text-based feature modelling. In Proceedings of the International Workshop on Variability Modelling of Software-intensive Systems, Linz, Austria."},{"key":"jismd.2012040102-8","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2010.10.005"},{"key":"jismd.2012040102-9","author":"P.Clements","year":"2001","journal-title":"Software product lines: Practices and patterns"},{"key":"jismd.2012040102-10","doi-asserted-by":"crossref","unstructured":"Collavizza, H., & Rueher, M. (2006). Exploration of the capabilities of constraint programming for software verification. In Proceedings of the International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Vienna, Austria (pp. 182-196).","DOI":"10.1007\/11691372_12"},{"key":"jismd.2012040102-11","doi-asserted-by":"publisher","DOI":"10.1145\/79204.79210"},{"key":"jismd.2012040102-12","doi-asserted-by":"publisher","DOI":"10.1002\/spip.213"},{"key":"jismd.2012040102-13","doi-asserted-by":"publisher","DOI":"10.1002\/spip.225"},{"key":"jismd.2012040102-14","doi-asserted-by":"crossref","unstructured":"de Boer, F. S., & Palamidessi, C. (1991). A fully abstract model for concurrent constraint programming. In Proceedings of the International Joint Conference on Theory and Practice of Software Development on Colloquium on Trees in Algebra and Programming (Vol. 1, pp. 296-319).","DOI":"10.1007\/3-540-53982-4_17"},{"issue":"6","key":"jismd.2012040102-15","article-title":"Design and implementation of the GNU prolog system.","volume":"2001","author":"D.Diaz","year":"2001","journal-title":"Journal of Functional and Logic Programming"},{"key":"jismd.2012040102-16","doi-asserted-by":"crossref","unstructured":"Djebbi, O., & Salinesi, C. (2007). RED-PL, a method for deriving product requirements from a product line requirements model. In J. Krogstie, G. Sindre, & A. Opdahl (Eds.), Proceedings of the 19th International Conference on Advances in Information Systems Engineering (LNCS 4495, pp. 279-293).","DOI":"10.1007\/978-3-540-72988-4_20"},{"key":"jismd.2012040102-17","unstructured":"Djebbi, O., & Salinesi, C. (2008). Towards an automatic PL requirements configuration through constraints reasoning. In Proceedings of the International Workshop on Variability Modelling of Software-intensive Systems, Essen, Germany."},{"key":"jismd.2012040102-18","doi-asserted-by":"crossref","unstructured":"Djebbi, O., Salinesi, C., & Diaz, D. (2007). Deriving product line requirements: the RED-PL guidance approach. In Proceedings of the Asian Pacific Software Engineering Conference, Nagoya, Japan","DOI":"10.1109\/ASPEC.2007.63"},{"key":"jismd.2012040102-19","unstructured":"Djebbi, O., Salinesi, C., & Rolland, C. (2008). Product line requirements configuration in the context of multiple models. INSIGHT - Journal of International Council on Systems Engineering, 11(3), 19-20."},{"key":"jismd.2012040102-20","unstructured":"Ecole de Mines de Nantes. (2010). CHOCO solver. Retrieved March 1, 2010, from http:\/\/www.emn.fr\/z-info\/choco-solver\/index.html"},{"key":"jismd.2012040102-21","doi-asserted-by":"publisher","DOI":"10.1142\/S0218194092000038"},{"key":"jismd.2012040102-22","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-69073-3_2"},{"key":"jismd.2012040102-23","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(94)90033-7"},{"key":"jismd.2012040102-24","doi-asserted-by":"crossref","unstructured":"Jaffar, J., Michaylov, S., Stuckey, P., & Yap, R. (1992). The CLP(R) language and system. ACM Transactions on Programming Languages and Systems, 14(3).","DOI":"10.1145\/129393.129398"},{"key":"jismd.2012040102-25","doi-asserted-by":"crossref","unstructured":"Kang, K., Cohen, S., Hess, J., Novak, W., & Peterson, S. (1990). Feature- Oriented Domain Analysis (FODA) feasibility study (Tech. Rep. No. CMU\/SEI-90-TR-21). Pittsburgh, PA: Carnegie Mellon University, Software Engineering Institute.","DOI":"10.21236\/ADA235785"},{"key":"jismd.2012040102-26","doi-asserted-by":"crossref","unstructured":"Karata\u015f, A., O\u011fuzt\u00fcz\u00fcn, H., & Do\u011fru, A. (2010). Mapping extended feature models to constraint logic programming over finite domains. In J. Bosch & J. Lee (Eds.), Proceedings of the 14th International Conference on Software Product Lines: Going Beyond, Jeju Island, Korea (LNCS 6287, pp. 286-299).","DOI":"10.1007\/978-3-642-15579-6_20"},{"key":"jismd.2012040102-27","doi-asserted-by":"crossref","unstructured":"Korherr, B., & List, B. (2007). A UML 2 profile for variability models and their dependency to business processes. In Proceedings of the 1st International Workshop on Enterprise Information Systems Engineering, Regensburg, Germany (pp. 829-834).","DOI":"10.1109\/DEXA.2007.96"},{"key":"jismd.2012040102-28","unstructured":"Le Berre, D. (2010). SAT4J solver. Retrieved March 1, 2010, from http:\/\/www.sat4j.org"},{"key":"jismd.2012040102-29","unstructured":"Lora-Michiels, A., Salinesi, C., & Mazo, R. (2010). A method based on association rules to construct product line model. In Proceedings of the 4th International Workshop on Variability Modelling of Software-intensive Systems, Linz, Austria."},{"key":"jismd.2012040102-30","doi-asserted-by":"crossref","unstructured":"Mannion, M. (2002). Using first-order logic for product line model validation. In G. J. Chastek (Ed.), Proceedings of the Second International Conference on Software Product Lines, San Diego, CA (LNCS 2379, pp. 176-187).","DOI":"10.1007\/3-540-45652-X_11"},{"key":"jismd.2012040102-31","unstructured":"Mazo, R. (2010). VariaMos tool. Retrieved March 1, 2010, from https:\/\/sites.google.com\/site\/raulmazo\/"},{"key":"jismd.2012040102-32","doi-asserted-by":"crossref","unstructured":"Mazo, R., Gr\u00fcnbacher, P., Heider, W., Rabiser, R., Salinesi, C., & Diaz, D. (2011). Using constraint programming to verify DOPLER variability models. In Proceedings of the Workshop on Variability Modelling of Software-intensive Systems, Namur, Belgium.","DOI":"10.1145\/1944892.1944904"},{"key":"jismd.2012040102-33","unstructured":"Mazo, R., Lopez-Herrejon, R., Salinesi, C., Diaz, D., & Egyed, A. (2011). A constraint programming approach for checking conformance in feature models. In Proceedings of the 35th Annual International Computer Software and Applications Conference, Munich, Germany."},{"key":"jismd.2012040102-34","author":"R.Mazo","year":"2011","journal-title":"Abstract constraints: A general framework for solver-independent reasoning on product line models. Accepted on"},{"key":"jismd.2012040102-35","doi-asserted-by":"crossref","unstructured":"Mazo, R., Salinesi, C., Diaz, D., & Lora-Michiels, A. (2011). Transforming attribute and clone-enabled feature models into constraint programs over finite domains. In Proceedings of the 6th International Conference on Evaluation of Novel Approaches to Software Engineering, Beijing, China.","DOI":"10.5220\/0003509301880199"},{"key":"jismd.2012040102-36","unstructured":"Mendon\u00e7a, M., Wasowski, A., & Czarnecki, K. (2009). SAT\u2013based analysis of feature models is easy. In Proceedings of the 13th Software Product Line Conference, San Francisco, CA."},{"key":"jismd.2012040102-37","doi-asserted-by":"crossref","DOI":"10.1007\/3-540-28901-1","author":"K.Pohl","year":"2005","journal-title":"Software product line engineering: Foundations, principles and techniques"},{"key":"jismd.2012040102-38","unstructured":"Salinesi, C., Mazo, R., & Diaz, D. (2010). Criteria for the verification of feature models. In Proceedings of the 28th INFORSID Conference, Marseille, France (pp. 80-96)."},{"key":"jismd.2012040102-39","doi-asserted-by":"crossref","unstructured":"Salinesi, C., Mazo, R., Diaz, D., & Djebbi, O. (2010). Solving integer constraint in reuse based requirements engineering. In Proceedings of the 18th IEEE International Conference on Requirements Engineering, Sydney, Australia.","DOI":"10.1109\/RE.2010.36"},{"key":"jismd.2012040102-40","doi-asserted-by":"crossref","unstructured":"Salinesi, C., Mazo, R., Djebbi, O., Diaz, D., & Lora-Michiels, A. (2011). Constraints: the core of product line engineering. In Proceedings of the Fifth IEEE International Conference on Research Challenges in Information Science, Guadeloupe-French West Indies, France (pp. 29-38).","DOI":"10.1109\/RCIS.2011.6006825"},{"key":"jismd.2012040102-41","unstructured":"Salinesi, C., Rolland, C., & Mazo, R. (2009). VMWare: Tool support for automatic verification of structural and semantic correctness in product line models. In Proceedings of the International Workshop on Variability Modelling of Software-intensive Systems, Sevilla, Spain (pp. 85-90)."},{"key":"jismd.2012040102-42","doi-asserted-by":"crossref","unstructured":"Saraswat, V. (1992). The category of constraint systems is Cartesian-closed. In Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science (pp. 341-345).","DOI":"10.1109\/LICS.1992.185546"},{"key":"jismd.2012040102-43","doi-asserted-by":"crossref","unstructured":"Segura, S., Benavides, D., Ruiz-Cort\u00e9s, A., & Trinidad, P. (2008). Automated merging of feature models using graph transformations. In R. L\u00e4mmel, J. Visser, & J. Saraiva (Eds.), Proceedings of the International Summer Schools on Generative and Transformational Techniques in Software Engineering (LNCS 5235, pp. 489-505).","DOI":"10.1007\/978-3-540-88643-3_15"},{"key":"jismd.2012040102-44","unstructured":"Specification and Verification Center at CM University. (2010). SMV system. Retrieved March 1, 2010, from http:\/\/www.cs.cmu.edu\/~modelcheck"},{"key":"jismd.2012040102-45","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2007.10.030"},{"key":"jismd.2012040102-46","unstructured":"Van der Ma\u00dfen, T., & Lichter, H. (2002). Modeling variability by UML use case diagrams. In Proceedings of the International Workshop on Requirements Engineering for Product Lines, Essen, Germany (pp. 18-26)."},{"key":"jismd.2012040102-47","unstructured":"White, J., Doughtery, B., Schmidt, D., & Benavides, D. (2009). Automated reasoning for multi-step software product line configuration problems. In Proceedings of the 13th International Conference on Software Product Lines, San Francisco, CA (pp. 11-20)."},{"key":"jismd.2012040102-48","doi-asserted-by":"crossref","unstructured":"White, J., Schmidt, D., Benavides, D., Trinidad, P., & Ruiz-Cortes, A. (2008). Automated diagnosis of product-line configuration errors in feature models. In Proceedings of the Software Product Line Conference, Limerick, Ireland.","DOI":"10.1109\/SPLC.2008.16"},{"key":"jismd.2012040102-49","doi-asserted-by":"crossref","unstructured":"Zhang, W., Zhao, H., & Mei, H. (2004). A propositional logic-based method for verification of feature models. In J. Davies, W. Schulte, & M. Barnett (Eds.), Proceedings of the International Conference on Formal Engineering Methods and Software Engineering, Seattle, WA (LNCS 3308, pp. 115-130).","DOI":"10.1007\/978-3-540-30482-1_16"},{"key":"jismd.2012040102-50","doi-asserted-by":"crossref","unstructured":"Ziadi, T. (2004). Manipulation de Lignes de Produits en UML (Unpublished doctoral dissertation). IRISA-TRISKELL, Universit\u00e9 de Rennes 1, Resses Cedex, France.","DOI":"10.3166\/objet.9.1-2.227-240"}],"container-title":["International Journal of Information System Modeling and Design"],"original-title":[],"language":"ng","link":[{"URL":"https:\/\/www.igi-global.com\/viewtitle.aspx?TitleId=65561","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,6,1]],"date-time":"2022-06-01T14:52:08Z","timestamp":1654095128000},"score":1,"resource":{"primary":{"URL":"https:\/\/services.igi-global.com\/resolvedoi\/resolve.aspx?doi=10.4018\/jismd.2012040102"}},"subtitle":["The Heart of Domain and Application Engineering in the Product Lines Engineering Strategy"],"short-title":[],"issued":{"date-parts":[[2012,4,1]]},"references-count":51,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2012,4]]}},"URL":"https:\/\/doi.org\/10.4018\/jismd.2012040102","relation":{},"ISSN":["1947-8186","1947-8194"],"issn-type":[{"value":"1947-8186","type":"print"},{"value":"1947-8194","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,4,1]]}}}