A Unified Vision of Configurable Software

R​ÉSUMÉ​. En pratique, la configuration logicielle est une tâche difficile et sujette à erreurs en raison du grand nombre d’exigences et de contraintes à satisfaire simultanément. Les parties prenantes se trouvent confrontés à des problèmes de rigueur et de passage à l'échelle lors de la configuration de logiciels: les méthodes employées pour spécifier les systèmes à configurer ne permettent pas de maîtriser de manière formelle et systématique un nombre important de décisions complexes. Cependant, des approches visant à surmonter ces verrous existent et ont été publiées, mais dans certains domaines; peuvent-elles être adaptées pour toute sorte de logiciels configurables? Les défis scientifiques de la configuration logicielle peuvent ils ainsi être transposés? Cet article aborde ces questions à travers un cadre unificateur de configuration identique et adaptée à différents cas d'utilisation et contextes. A​BSTRACT​. In practice, software configuration is error-prone due to the plethora of requirements and constraints to satisfy at the same time. Practitioners face awkward scalability issues when configuring large variability-based software. Indeed, standard variability modeling methods such as feature and even decision models fail in mastering a suitable configuration process implying a huge panel of complex decisions. ​However, published solutions, aiming to overcome these obstacles, exist but they have been designed in separate ways; can they be adapted for all sorts of configurable software? Can the scientific challenges of software configuration be transposed? This paper addresses these issues through a unified framework of configuration encompassing different use cases and contexts.

[1]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[2]  Philipp Leitner,et al.  Continuous Experimentation: Challenges, Implementation Techniques, and Current Research , 2018, IEEE Software.

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

[4]  Sanjay Mittal,et al.  Towards a Generic Model of Configuraton Tasks , 1989, IJCAI.

[5]  Hélène Fargier,et al.  Constraint-based Vehicle Configuration: A Case Study , 2010, 2010 22nd IEEE International Conference on Tools with Artificial Intelligence.

[6]  Camille Salinesi,et al.  Product Line Configuration Meets Process Mining , 2019, CENTERIS/ProjMAN/HCist.

[7]  Camille Salinesi,et al.  Using Software Product Line to improve ERP Engineering: Literature Review and Analysis , 2014 .

[8]  Camille Salinesi,et al.  Bridging the gap between product lines and systems engineering: an experience in variability management for automotive model based systems engineering , 2013, SPLC '13.

[9]  J. Ross Quinlan,et al.  Decision trees and decision-making , 1990, IEEE Trans. Syst. Man Cybern..

[10]  Camille Salinesi,et al.  Three strategies to specify multi-instantiation in product lines , 2015, 2015 IEEE 9th International Conference on Research Challenges in Information Science (RCIS).

[11]  J M Harackiewicz,et al.  Achievement goals and optimal motivation: testing multiple goal models. , 2001, Journal of personality and social psychology.

[12]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[13]  Kevin M. Leander,et al.  Ethnographic Studies of Positioning and Subjectivity: An Introduction , 2004 .

[14]  Kenneth E. Barron,et al.  Achievement goals and optimal motivation , 2000 .

[15]  Camille Salinesi,et al.  Product Line Requirements Matching and Deriving : the RED-PL Guidance Approach , 2007 .

[16]  Jacques M. Chevalier,et al.  Participatory Action Research: Theory and Methods for Engaged Inquiry , 2013 .

[17]  Camille Salinesi,et al.  Matching ERP Functionalities with the Logistic Requirements of French Railways: A Similarity Approach , 2004, ICEIS.

[18]  Holger Giese,et al.  Component-Based Hazard Analysis: Optimal Designs, Product Lines, and Online-Reconfiguration , 2006, SAFECOMP.