skip to main content
research-article

Architecture-Level Configuration of Large-Scale Embedded Software Systems

Published:02 June 2014Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Bessiere. 2006. Constraint propagation. Tech. rep. http://www.math.unipd.it/∼frossi/bessiere.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Carlsson and P. Mildner. 2010. SICStus prolog -- The first 25 years. Theory Pract. Logic Program. 12, 1--2. 35--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. 2001. Introduction to Algorithms 2nd Ed. McGraw-Hill Science/Engineering/Math. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. K. Czarnecki and U. W. Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarCross RefCross Ref
  17. 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 ScholarGoogle Scholar
  18. R. Dechter and D. Frost. 2002. Backjump-based backtracking for constraint satisfaction problems. Artif. Intell. 136, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. Deelstra, M. Sinnema, and J. Bosch. 2005. Product derivation in software product families: A case study. J. Syst. Softw. 74, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Egyed. 2006. Instant consistency checking for the uml. In Proceedings of the 28th International Conference on Software Engineering (ICSE'06). 381--390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarCross RefCross Ref
  25. A. Hubaux. 2012. Feature-based configuration: Collaborative, dependable, and controlled. Ph.D. dissertation, University of Namur, Belgium.Google ScholarGoogle Scholar
  26. H. Hussmann, B. Demuth, and F. Finger. 2002. Modular architecture for a toolset supporting ocl. Sci. Comput. Program. 44, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. C. W. Krueger. 1992. Software reuse. ACM Comput. Surv. 24, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. K. Lano. 2009. UML 2 Semantics and Applications. John Wiley and Sons. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. F. J. Linden, K. Schmid, and E. Rommes. 2007. Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. A. Mackworth. 1977. Consistency in networks of relations. Artif. Intell. 8, 1.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle Scholar
  37. OMG. 2009. UML profile for marte: Modeling and analysis of real-time embedded systems. http://www.omgmarte.org/.Google ScholarGoogle Scholar
  38. 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 ScholarGoogle Scholar
  39. OMG. 2012. OMG object constraint language (omg ocl), version 2.3.1. http://www.omg.org/spec/OCL/2.3.1/.Google ScholarGoogle Scholar
  40. D. L. Parnas. 1976. On the design and development of program families. IEEE Trans. Softw. Engin. 2, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. C. J. Petrie. 2012. Automated Configuration Problem Solving. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. K. Pohl, G. Böckle, and F. J. Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. M. Richters. 2001. A precise approach to validating uml models and ocl constraints. Master's thesis, Universität Bremen.Google ScholarGoogle Scholar
  45. 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 ScholarGoogle Scholar
  46. F. Rossi, P. van Beek, and T. Walsh. 2006. Handbook of Constraint Programming. Elsevier Science. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. P. Y. Schobbens, P. Heymans, J. C. Trigaux, and Y. Bontemps. 2007. Generic semantics of feature diagrams. Comput. Netw. 51, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. SICStus. 2012. SICStus Prolog. www.sics.se/sicstus/.Google ScholarGoogle Scholar
  50. 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 ScholarGoogle Scholar
  51. 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 ScholarGoogle Scholar
  52. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  53. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  54. D. M. Weiss and R. Lai. 1999. Software Product-Line Engineering: A Family-Based Software Development Process. Addison-Wesley Longman Publishing. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  56. 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 ScholarGoogle Scholar

Index Terms

  1. Architecture-Level Configuration of Large-Scale Embedded Software Systems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Software Engineering and Methodology
            ACM Transactions on Software Engineering and Methodology  Volume 23, Issue 3
            May 2014
            230 pages
            ISSN:1049-331X
            EISSN:1557-7392
            DOI:10.1145/2628068
            Issue’s Table of Contents

            Copyright © 2014 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 2 June 2014
            • Accepted: 1 February 2014
            • Revised: 1 December 2013
            • Received: 1 October 2012
            Published in tosem Volume 23, Issue 3

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader