Model-Based Automated and Guided Configuration of Embedded Software Systems

Configuring Integrated Control Systems (ICSs) is largely manual, time-consuming and error-prone. In this paper, we propose a model-based configuration approach that interactively guides engineers to configure software embedded in ICSs. Our approach verifies engineers' decisions at each configuration iteration, and further, automates some of the decisions. We use a constraint solver, SICStus Prolog, to automatically infer configuration decisions and to ensure the consistency of configuration data. We evaluated our approach by applying it to a real subsea oil production system. Specifically, we rebuilt a number of existing verified product configurations of our industry partner. Our experience shows that our approach successfully enforces consistency of configurations, can automatically infer up to 50% of the configuration decisions, and reduces the complexity of making configuration decisions.

[1]  Mats Carlsson,et al.  SICStus Prolog—The first 25 years , 2010, Theory and Practice of Logic Programming.

[2]  Pascal Van Hentenryck,et al.  Design, Implementation, and Evaluation of the Constraint Language cc(FD) , 1994, Constraint Programming.

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

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

[5]  Pascal Van Hentenryck,et al.  CPBPV: a constraint-programming framework for bounded program verification , 2009, Constraints.

[6]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

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

[8]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .

[9]  Pieter H. Hartel,et al.  Programming Languages: Implementations, Logics, and Programs , 1996, Lecture Notes in Computer Science.

[10]  Jordi Cabot Sagrera,et al.  Verification of UML/OCL Class Diagrams Using Constraint Programming , 2008 .

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

[12]  Ákos Horváth,et al.  Dynamic constraint satisfaction problems over models , 2011, Software & Systems Modeling.

[13]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[14]  Alexander Egyed,et al.  Detecting Inconsistencies in Multi-View Models with Variability , 2010, ECMFA.

[15]  Andreas Podelski Selected Papers from Constraint Programming: Basics and Trends , 1994 .

[16]  Sandeep Neema,et al.  DesertFD: a finite-domain constraint based tool for design space exploration , 2010, Des. Autom. Embed. Syst..

[17]  Mats Carlsson,et al.  An Open-Ended Finite Domain Constraint Solver , 1997, PLILP.

[18]  Camille Salinesi,et al.  Transforming Attribute and Clone-enabled Feature Models into Constraint Programs over Finite Domains , 2011, ENASE.

[19]  Bran Selic,et al.  SimPL: A product-line modeling methodology for families of integrated control systems , 2013, Inf. Softw. Technol..