Abstract
Configuration in the domain of Integrated Control Systems (ICS) is largely manual, laborious, and error prone. In this article, we propose a model-based configuration approach that provides automation support for reducing configuration effort and the likelihood of configuration errors in the ICS domain. We ground our approach on component-based specifications of ICS families. We then develop a configuration algorithm using constraint satisfaction techniques over finite domains to generate products that are consistent with respect to their ICS family specifications. We reason about the termination and consistency of our configuration algorithm analytically. We evaluate the effectiveness of our configuration approach by applying it to a real subsea oil production system. Specifically, we have rebuilt a number of existing verified product configurations of our industry partner. Our experience shows that our approach can automatically infer up to 50% of the configuration decisions, and reduces the complexity of making configuration decisions.
- D. Batory. 2005. Feature models, grammars, and propositional formulas. In Proceedings of the 9th International Conference on Software Product Lines (SPLC'05). 7--20. Google ScholarDigital Library
- R. Behjati, S. Nejati, T. Yue, A. Gotlieb, and L. C. Briand. 2012a. Model-based automated and guided configuration of embedded software systems. In Proceedings of the 8th European Conference on Modelling Foundations and Applications (ECMFA'12). 226--243. Google ScholarDigital Library
- R. Behjati, T. Yue, and L. C. Briand. 2012b. A modeling approach to support the similarity-based reuse of configuration data. In Proceedings of the 15th International Conference on Model Driven Engineering Languages and Systems (MoDELS'12). 497--513. Google ScholarDigital Library
- R. Behjati, T. Yue, L. C. Briand, and B. Selic. 2013. SimPL: A product-line modeling methodology for families of integrated control systems. Inf. Softw. Technol. 55, 3, 607--629. Google ScholarDigital Library
- C. Bessiere. 2006. Constraint propagation. Tech. rep. http://www.math.unipd.it/∼frossi/bessiere.Google Scholar
- Y. Bontemps, P. Heymans, P. Y. Schobbens, and J. C. Trigaux. 2004. Semantics of foda feature diagrams. In Proceedings of the SPLC Workshop on Software Variability Management for Product Derivation -- Towards Tool Support. 48--58.Google Scholar
- P. Borba, L. Teixeira, and R. Gheyi. 2010. A theory of software product line refinement. In Proceedings of the 7th International Colloquium on Theoretical Aspects of Computing (ICTAC'10). 15--43. Google ScholarDigital Library
- J. Cabot, R. Clarisó, and D. Riera. 2007. UMLtoCSP: A tool for the formal verification of uml/ocl models using constraint programming. In Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE'07). 547--548. Google ScholarDigital Library
- J. Cabot, R. Clarisó, and D. Riera. 2008. Verification of uml/ocl class diagrams using constraint programming. In Proceedings of the IEEE International Software Testing Verification and Validation Workshop (ICSTW'08). 73--80. Google ScholarDigital Library
- M. Carlsson and P. Mildner. 2010. SICStus prolog -- The first 25 years. Theory Pract. Logic Program. 12, 1--2. 35--66. Google ScholarDigital Library
- M. Carlsson, G. Ottosson, and B. Carlson. 1997. An open-ended finite domain constraint solver. In Proceedings of the 9th International Symposium on Programming Languages: Implementations, Logics and Programs (PLILP'97). 191--206. Google ScholarDigital Library
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. 2001. Introduction to Algorithms 2nd Ed. McGraw-Hill Science/Engineering/Math. Google ScholarDigital Library
- K. Czarnecki, T. Bednasch, P. Unger, and U. W. Eisenecker. 2002. Generative programming for embedded software: An industrial experience report. In Proceedings of the 1st ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE'02). 156--172. Google ScholarDigital Library
- K. Czarnecki and U. W. Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing. Google ScholarDigital Library
- K. Czarnecki, S. Helsen, and U. Eisenecker. 2004. Staged configuration using feature models. In Proceedings of the 3rd International Conference on Software Product Lines (SPLC'04). 266--283.Google Scholar
- K. Czarnecki, S. Helsen, and U. Eisenecker. 2005. Formalizing cardinality-based feature models and their specialization. Softw. Process. Improv. Pract. 10, 1, 7--29.Google ScholarCross Ref
- K. Czarnecki and P. Kim. 2005. Cardinality-based feature modeling and constraints: A progress report. In Proceedings of Workshop on Software Factories at OOPSLA.Google Scholar
- R. Dechter and D. Frost. 2002. Backjump-based backtracking for constraint satisfaction problems. Artif. Intell. 136, 2. Google ScholarDigital Library
- S. Deelstra, M. Sinnema, and J. Bosch. 2005. Product derivation in software product families: A case study. J. Syst. Softw. 74, 2. Google ScholarDigital Library
- A. Egyed. 2006. Instant consistency checking for the uml. In Proceedings of the 28th International Conference on Software Engineering (ICSE'06). 381--390. Google ScholarDigital Library
- M. L. Griss, J. Favaro, and M. Alessandro. 1998. Integrating feature modeling with the rseb. In Proceedings of the 5th International Conference on Software Reuse (ICSR'98). 76. Google ScholarDigital Library
- T. Hadzic, S. Subbarayan, R. M. Jensen, H. R. Andersen, J. Møller, and H. Hulgaard. 2004. Fast backtrack-free product configuration using a precompiled solution space representation. In Proceedings of the PETO Conference. 131--138.Google Scholar
- P. V. Hentenryck, V. A. Saraswat, and Y. Deville. 1995. Design, implementation, and evaluation of the constraint language cc(fd). In Proceedings of the Selected Papers from Constraint Programming: Basics and Trends. 293--316. Google ScholarDigital Library
- P. Heymans, P. Y. Schobbens, J. C. Trigaux, Y. Bontemps, R. Matulevicius, and A. Classen. 2008. Evaluating formal properties of feature diagram languages. IET Softw. 2, 3.Google ScholarCross Ref
- A. Hubaux. 2012. Feature-based configuration: Collaborative, dependable, and controlled. Ph.D. dissertation, University of Namur, Belgium.Google Scholar
- H. Hussmann, B. Demuth, and F. Finger. 2002. Modular architecture for a toolset supporting ocl. Sci. Comput. Program. 44, 1. Google ScholarDigital Library
- M. Janota, G. Botterweck, R. Grigore, and J. Marques-Silva. 2010. How to complete an interactive configuration process? In Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM'10). 528--539. Google ScholarDigital Library
- M. Janota and J. Kiniry. 2007. Reasoning about feature models in higher-order logic. In Proceedings of the 11th International Software Product Line Conference (SPLC'07). 13--22. Google ScholarDigital Library
- K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. 1990. Feature-oriented domain analysis (foda) feasibility study. Tech. rep. CMU/SEI-90-TR-21. http://www.sei.cmu.edu/reports/90tr021.pdf.Google Scholar
- K. C. Kang, S. Kim, J. Lee, K. Kim, G. J. Kim, and E. Shin. 1998. FORM: A feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Engin. 5, 143--168. Google ScholarDigital Library
- C. W. Krueger. 1992. Software reuse. ACM Comput. Surv. 24, 2. Google ScholarDigital Library
- K. Lano. 2009. UML 2 Semantics and Applications. John Wiley and Sons. Google ScholarDigital Library
- F. J. Linden, K. Schmid, and E. Rommes. 2007. Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer. Google ScholarDigital Library
- A. Mackworth. 1977. Consistency in networks of relations. Artif. Intell. 8, 1.Google ScholarDigital Library
- R. Mazo, C. Salinesi, D. Diaz, and A. Lora-Michiels. 2011. Transforming attribute and clone-enabled feature odels into constraint programs over finite domains. In Proceedings of the 6th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE'11).Google Scholar
- V. Myllärniemi, T. Asikainen, T. Männistö, and T. Soininen. 2005. Kumbang configurator--A configuration tool for software product families. http://www.soberit.hut.fi/pdmg/papers/myll05kum.pdf.Google Scholar
- OMG. 2009. UML profile for marte: Modeling and analysis of real-time embedded systems. http://www.omgmarte.org/.Google Scholar
- OMG. 2010. OMG unified modeling language (omg uml), superstructure specification, v2.3. http://www.cs.colostate.edu/∼france/CS517/Slides/CurrentSlides/UML2.3-10-05-05.pdf.Google Scholar
- OMG. 2012. OMG object constraint language (omg ocl), version 2.3.1. http://www.omg.org/spec/OCL/2.3.1/.Google Scholar
- D. L. Parnas. 1976. On the design and development of program families. IEEE Trans. Softw. Engin. 2, 1. Google ScholarDigital Library
- G. Perrouin, J. Klein, N. Guelfi, and J. Jézéquel. 2008. Reconciling automation and flexibility in product derivation. In Proceedings of the 12th International Software Product Line Conference (SPLC'08). 339--348. Google ScholarDigital Library
- C. J. Petrie. 2012. Automated Configuration Problem Solving. Springer. Google ScholarDigital Library
- K. Pohl, G. Böckle, and F. J. Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer. Google ScholarDigital Library
- M. Richters. 2001. A precise approach to validating uml models and ocl constraints. Master's thesis, Universität Bremen.Google Scholar
- M. Riebisch, K. Böllert, D. Streitferdt, and I. Philippow. 2002. Extending feature diagrams with uml multiplicities. http://citeseerx.ist.psu.edu/viewdoc/download?doi= 10.1.1.15.1653&rep== rep1&type==pdf.Google Scholar
- F. Rossi, P. van Beek, and T. Walsh. 2006. Handbook of Constraint Programming. Elsevier Science. Google ScholarDigital Library
- P. Y. Schobbens, P. Heymans, and J. C. Trigaux. 2006. Feature diagrams: A survey and a formal semantics. In Proceedings of the 14th International Conference on Requirements Engineering (RE'06). 139--148. Google ScholarDigital Library
- P. Y. Schobbens, P. Heymans, J. C. Trigaux, and Y. Bontemps. 2007. Generic semantics of feature diagrams. Comput. Netw. 51, 2. Google ScholarDigital Library
- SICStus. 2012. SICStus Prolog. www.sics.se/sicstus/.Google Scholar
- M. Sinnema, S. Deelstra, J. Nijhuis, and J. Bosch. 2004. COVAMOF: A framework for modeling variability in software product families. In Proceedings of the 3rd International Conference on Software Product Lines (SPLC'04). 197--213.Google Scholar
- M. Stephan and M. Antkiewicz. 2008. Ecore.fmp: A tool for editing and instantiating class models as feature models. Tech. rep. University of Waterloo, Ontario, Canada.Google Scholar
- E. R. van der Meer, A. Wasowski, and H. R. Andersen. 2006. Efficient interactive configuration of unbounded modular systems. In Proceedings of the ACM Symposium on Applied Computing (SAC'06). 409--414. Google ScholarDigital Library
- J. Van Gurp, J. Bosch, and M. Svahnberg. 2001. On the notion of variability in software product lines. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA'01). 45. Google ScholarDigital Library
- D. M. Weiss and R. Lai. 1999. Software Product-Line Engineering: A Family-Based Software Development Process. Addison-Wesley Longman Publishing. Google ScholarDigital Library
- Y. Xiong, A. Hubaux, S. She, and K. Czarnecki. 2012. Generating range fixes for software configuration. In Proceedings of the 34th International Conference on Software Engineering (ICSE'12). Google ScholarDigital Library
- L. Xu and B. Y. Choueiry. 2001. A comparative study of arc-consistency algorithms. http://www.cs.ubc.ca/∼xulin730/mypaper/LXu-ACvsMAC.pdf.Google Scholar
Index Terms
- Architecture-Level Configuration of Large-Scale Embedded Software Systems
Recommendations
Model-based automated and guided configuration of embedded software systems
ECMFA'12: Proceedings of the 8th European conference on Modelling Foundations and ApplicationsConfiguring 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 ...
Efficient Architecture-Level Configuration of Large-Scale Embedded Software Systems
Fundamentals of Software EngineeringAbstractConfiguration is a recurring problem in many domains. In our earlier work, we focused on architecture-level configuration of largescale embedded software systems and proposed a methodology that enables engineers to configure products by ...
A modeling approach to support the similarity-based reuse of configuration data
MODELS'12: Proceedings of the 15th international conference on Model Driven Engineering Languages and SystemsProduct configuration in families of Integrated Control Systems (ICSs) involves resolving thousands of configurable parameters and is, therefore, time-consuming and error-prone. Typically, these systems consist of highly similar components that need to ...
Comments