Skip to main content

Engineering Configuration Graphical User Interfaces from Variability Models

  • Chapter
  • First Online:
Human Centered Software Product Lines

Part of the book series: Human–Computer Interaction Series ((HCIS))

Abstract

In the past, companies produced large amounts of products through mass production lines. Advantages of such an approach are reduced production costs and time-to-market. While it is (still) appropriate for some goods like food or household items, customer preferences evolve to customised products. In a more and more competitive environment, product customisation is taken to the extreme by companies in order to gain market share. Companies provide customisation tools, more commonly called product configurators, to assist their staff and customers in deciding upon the characteristics of the product to be delivered.

Our experience reveals that some existing configurators are implemented in an ad-hoc fashion. This is especially cumbersome when numerous and non-trivial constraints have to be dealt with. For instance, we have observed in two industrial cases that relationships between configuration options are hard-coded and mixed with GUI code. As constraints are scattered in the source code, severe maintenance issues occur.

In this chapter, we present a pragmatic and model-driven way to generate configuration GUIs. We rely on feature models to represent and reason about the configuration options and their complex relationships. Once feature models have been elaborated, there is still a need to produce a GUI, including the integration with underlying reasoning mechanisms to control and update the GUI elements. We present a model-view-presenter architecture to design configurators, which separates concerns between a feature model (configuration option modelling), its associated solver (automated reasoning support) and the presentation of the GUI. To fill the gap between feature models and configuration GUIs, the various constructs of the feature model formalism are rendered as GUI elements through model transformations. Those transformations can be parametrised through beautification and view languages to derive specific configuration GUIs. We illustrate our approach on an IPv6 addressing plan configurator.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    See https://www.oasis-open.org/

  2. 2.

    Unfortunately, these cases could not be reported here for confidentiality reasons.

References

  1. Abbasi EK, Acher M, Heymans P, Cleve A. Reverse engineering web configurators. In: 2014 software evolution week-IEEE conference on software maintenance, reengineering and reverse engineering (CSMR-WCRE). IEEE; 2014. p. 264–273.

    Google Scholar 

  2. Abbasi EK, Hubaux A, Acher M, Boucher Q, Heymans P. The anatomy of a sales configurator: an empirical study of 111 cases. In: Salinesi C, Norrie MC, Pastor O, editors. Proceedings of the 25th international conference on advanced information systems engineering (CAiSE’13), vol 7908. Springer; 2013. p. 162–177.

    Google Scholar 

  3. Abele A, Papadopoulos Y, Servat D, Törngren M, Weber M. The CVM framework – a prototype tool for compositional variability management. In: Proceedings of the 4th international workshop on variability modelling of software-intensive systems (VaMoS’10) [12]. p. 101–106.

    Google Scholar 

  4. Acher M, Collet P, Lahire P, France R. Separation of concerns in feature modeling: support and applications. In: Proceedings of the 11th annual international conference on aspect-oriented software development (AOSD’12). ACM; 2012, to appear.

    Google Scholar 

  5. Acher M, Collet P, Lahire P, France R. Familiar: a domain-specific language for large scale management of feature models. Science of Computer Programming (SCP) Special issue on programming languages; 2013. p. 55. doi:http://dx.doi.org/10.1016/j.scico.2012.12.004

  6. Ali M, Pérez-Quiñones MA, Abrams M, Shell E. Building multi-platform user interfaces with UIML. In: Kolski C, Vanderdonckt J, editors. Computer-aided design of user interfaces III. Netherlands: Springer; 2002. p. 255–266.

    Chapter  Google Scholar 

  7. Antkiewicz M, Czarnecki K. FeaturePlugin: feature modeling plug-in for eclipse. In: Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange. 2004.

    Google Scholar 

  8. Batory DS. Feature models, grammars, and propositional formulas. In: Proceedings of the 9th international conference on software product lines (SPLC’05). 2005. p. 7–20.

    Google Scholar 

  9. Batory D, Geraci BJ. Validating component compositions in software system generators. In: Proceedings 4th international conference on software reuse (ICSR’96). 1996. p. 72–81.

    Google Scholar 

  10. Bécan G, Sannier N, Acher M, Barais O, Blouin A, Baudry B. Automating the formalization of product comparison matrices. In: 29th IEEE/ACM international conference on automated software engineering (ASE’14). Västerås, Suède. 2014. doi:10.1145/2642937.2643000. http://hal.inria.fr/hal-01058440.

  11. Benavides D, Batory DS, Grünbacher P, editors. Proceedings of the 4th international workshop on variability modelling of software-intensive systems, Linz.ICB-research report, vol 37. Universität Duisburg-Essen. 2010.

    Google Scholar 

  12. Benavides D, Segura S, Ruiz-Cortés A. Automated analysis of feature models 20 years later: a literature review. Inf Syst. 2010;35(6):615–36.

    Article  Google Scholar 

  13. Benavides D, Segura S, Trinidad P, Cortés AR. FAMA: tooling a framework for the automated analysis of feature models. In: Proceedings of the 1st international workshop on variability modelling of software-intensive systems (VaMoS’07), 2007. p. 129–134.

    Google Scholar 

  14. Beuche D. Modeling and building software product lines with pure::variants. In: Proceedings of the 12th international software product line conference (SPLC’08). Washington, DC: IEEE Computer Society; 2008. p. 358.

    Google Scholar 

  15. Blouin A, Morin B, Nain G, Beaudoux O, Albers P, Jézéquel JM. Combining aspect-oriented modeling with property-based reasoning to improve user interface adaptation. In: Proceedings of the 3rd ACM SIGCHI symposium on engineering interactive computing systems (EICS’11). ACM; 2011. p. 85–94.

    Google Scholar 

  16. Blumendorf M, Lehmann G, Albayrak S. Bridging models and systems at runtime to build adaptive user interfaces. In: Proceedings of the 2nd ACM SIGCHI symposium on engineering interactive computing systems (EICS’10). ACM; 2010. p. 9–18.

    Google Scholar 

  17. Botterweck G, Janota M, Schneeweiss D. A design of a configurable feature model configurator. In: Proceedings of the 3rd international workshop on variability modelling of software-intensive systems (VaMoS’09). 2009. p. 165–68.

    Google Scholar 

  18. Boucher Q. Engineering configuration graphical user interfaces from variability models. Ph.D. thesis, University of Namur (2014).

    Google Scholar 

  19. Boucher Q, Abbasi EK, Hubaux A, Perrouin G, Acher M, Heymans P. Towards more reliable configurators: a re-engineering perspective. In: Proceedings of the 3rd product LinE approaches in software engineering (PLEASE’12). 2012. p. 29–32.

    Google Scholar 

  20. Boucher Q, Classen A, Faber P, Heymans P. Introducing TVL, a text-based feature modelling language. In: Proceedings of the 4th international workshop on variability modelling of software-intensive systems (VaMoS’10). Universität Duisburg-Essen; 2010. p. 159–62.

    Google Scholar 

  21. Burbeck S. Applications programming in smalltalk-80: how to use model-view-controller (MVC). 1992. http://st-www.cs.illinois.edu/users/smarch/st-docs/mvc.html

    Google Scholar 

  22. Calvary G, Coutaz J, Thevenin D, Limbourg Q, Bouillon L, Vanderdonckt J. A unifying reference framework for multi-target user interfaces. Interact Comput. 2003;15:289–308.

    Article  Google Scholar 

  23. Chen L, Babar MA, Ali N. Variability management in software product lines: a systematic review. In: Proceedings of the 13th international software product line conference (SPLC’09). 2009. p. 81–90.

    Google Scholar 

  24. Classen A, Boucher Q, Heymans P. A text-based approach to feature modelling: syntax and semantics of TVL. Sci Comput Program. 2011;76:1130–1143.

    Article  Google Scholar 

  25. Classen A, Heymans P, Schobbens PY. What’s in a feature: a requirements engineering perspective. In: Proceedings of the 11th international conference on fundamental approaches to software engineering (FASE’08). 2008. p. 16–30.

    Google Scholar 

  26. Coutaz J. User interface plasticity: model driven engineering to the limit! In: Proceedings of the 2nd ACM SIGCHI symposium on engineering interactive computing systems (EICS’10). ACM; 2010. p. 1–8.

    Google Scholar 

  27. Cyledge. Cyledge configurator database. 2013. http://www.configurator-database.com. Last consulted: Aug 2013.

  28. Czarnecki K. Variability modeling: state of the art and future directions (keynote). In: Proceedings of the 4th international workshop on variability modelling of software-intensive systems (VaMoS’10) [12]. p. 11.

    Google Scholar 

  29. Czarnecki K, Eisenecker UW. Generative programming: methods, tools, and applications. Boston: Addison-Wesley; 2000.

    Google Scholar 

  30. Czarnecki K, Helsen S, Eisenecker UW. Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract. 2005;10(1):7–29

    Article  Google Scholar 

  31. Dellaert BG, Stremersch S. Marketing mass-customized products: striking a balance between utility and complexity. J Market Res. 2005;42(2):219–27.

    Article  Google Scholar 

  32. van Deursen A, Klint P. Domain-specific language design requires feature descriptions. J Comput Inf Technol 2002;10(1):1–18

    Article  MATH  Google Scholar 

  33. Eisenstein J, Vanderdonckt J, Puerta A. Applying model-based techniques to the development of UIs for mobile computers. In: Proceedings of the 6th international conference on intelligent user interfaces (IUI’01). New York: ACM; 2001. p. 69–76.

    Google Scholar 

  34. Falkner A, Felfernig A, Haag A. Recommendation technologies for configurable products. AI Mag. 2011;32(3):99–108.

    Article  Google Scholar 

  35. Felfernig A, Friedrich G, Jannach D, Zanker M. An integrated environment for the development of knowledge-based recommender applications. Int J Electron Commer. 2006;11(2):11–34.

    Article  Google Scholar 

  36. Felfernig A, Friedrich G, Jannach D, Zanker M. Constraint-based recommender systems. In: Ricci F, Rokach L, Shapira B, editor. Recommender systems handbook. New York: Springer; 2015. p. 161–90.

    Chapter  Google Scholar 

  37. Felfernig A, Mandl M, Tiihonen J, Schubert M, Leitner G. Personalized user interfaces for product configuration. In: Proceedings of the 15th international conference on intelligent user interfaces. ACM; 2010. p. 317–20.

    Google Scholar 

  38. Franke N, Schreier M. Why customers value self-designed products: the importance of process effort and enjoyment*. J Prod Innov Manag. 2010;27(7):1020–31.

    Article  Google Scholar 

  39. Gabillon Y, Biri N, Otjacques B. Methodology to integrate multi-context UI variations into a feature model. In: Proceedings of the 17th international software product line conference co-located workshops (SPLC’13). ACM; 2013. p. 74–81.

    Google Scholar 

  40. Gamma E, Helm R, Johnson R, Vlissides J. Design patterns: elements of reusable object-oriented software. Boston: Addison-Wesley; 1995.

    MATH  Google Scholar 

  41. García JG, González-Calleros JM, Vanderdonckt J, Arteaga JM. A theoretical survey of user interface description languages: preliminary results. In: Proceedings of the 2009 Latin American web congress (La-web 2009). 2009. p. 36–43.

    Google Scholar 

  42. Gomaa M, Salah A, Rahman S. Towards a better model based user interface development environment: a comprehensive survey. In: Proceedings of the 38th Midwest instruction and computing symposium (MICS’05). 2005.

    Google Scholar 

  43. Grechanik M, Batory DS, Perry DE. Design of large-scale polylingual systems. In: Proceedings of the 26th international conference on software engineering (ICSE’04). 2004. p. 357–66.

    Google Scholar 

  44. Griss ML, Favaro J, Alessandro MD. Integrating feature modeling with the RSEB. In: Proceedings of the 5th international conference on software reuse (ICSR’98). 1998. p. 76–85.

    Google Scholar 

  45. Helms J, Schaefer R, Luyten K, Vermeulen J, Abrams M, Coyette A, Vanderdonckt J. Human-centered engineering of interactive systems with the user interface markup language. In: Seffah A, Vanderdonckt J, Desmarais MC, editors, Human-centered software engineering. London: Springer; 2009. p. 139–71.

    Chapter  Google Scholar 

  46. Hubaux A, Boucher Q, Hartmann H, Michel R, Heymans P. Evaluating a textual feature modelling language: four industrial case studies. In: Proceedings of the 3rd international conference on software language engineering (SLE’10). 2010. p. 337–56.

    Google Scholar 

  47. Hubaux A, Classen A, Heymans P. Formal modelling of feature configuration workflows. In: Proceedings of the 13th international software product line conference (SPLC’09). 2009. p. 221–30.

    Google Scholar 

  48. Hubaux A, Classen A, Mendonca M, Heymans P. A preliminary review on the application of feature diagrams in practice. In: Proceedings of the 4th international workshop on variability modelling of software-intensive systems (VaMoS’10) [12]. p. 53–9. http://www.vamos-workshop.net/2010

  49. Hubaux A, Heymans P, Schobbens PY, Deridder D, Abbasi EK. Supporting multiple perspectives in feature-based configuration. Softw Syst Model. 2011;12:1–23.

    Google Scholar 

  50. Hubaux A, Heymans P, Schobbens PY, Deridder D, Abbasi EK. Supporting multiple perspectives in feature-based configuration. Softw Syst Model. 2013;12(3):641–63.

    Article  Google Scholar 

  51. Johnson PD, Parekh J. Multiple device markup language: a rule approach. Technical report, DePaul University. 2003.

    Google Scholar 

  52. Kang K, Cohen S, Hess J, Novak W, Peterson S. Feature-oriented domain analysis (FODA) feasibility study. Technical report, SEI, CMU. 1990.

    Book  Google Scholar 

  53. Kang KC, Kim S, Lee J, Kim K, Kim GJ, Shin E. FORM: a feature-oriented reuse method with domain-specific reference architectures. Ann Softw Eng. 1998;5:143–68.

    Article  Google Scholar 

  54. Kästner C, Thüm T, Saake G, Feigenspan J, Leich T, Wielgorz, F, Apel S. FeatureIDE: a tool framework for feature-oriented software development. In: Proceedings of the 31th international conference on software engineering (ICSE’09). 2009. p. 311–20.

    Google Scholar 

  55. Knuth DE. Semantics of context-free languages. Math Syst Theory. 1971;5(1):95–6.

    Article  MathSciNet  MATH  Google Scholar 

  56. Kost S. Dynamically generated multi-modal application interfaces. Ph.D. thesis, Dresden University of Technology. 2006.

    Google Scholar 

  57. Leclercq T, Davril JM, Cordy M, Heymans P. Beyond de-facto standards for designing human-computer interactions in configurators. In: Workshop on engineering computer-human interaction in recommender systems (EnCHIReS) co-located with EICS. 2016.

    Google Scholar 

  58. Limbourg Q, Vanderdonckt J, Michotte B, Bouillon L, López-Jaquero V. UsiXML: a language supporting multi-path development of user interfaces. In: Bastide R, Palanque P, Roth J, editors, Engineering human computer interaction and interactive systems. Lecture notes in computer science, vol 3425. Berlin/Heidelberg: Springer; 2005. p. 200–20.

    Chapter  Google Scholar 

  59. McSherry D. Incremental nearest neighbour with default preferences. In: Proceedings of the 16th Irish conference on artificial intelligence and cognitive science. 2005. p. 9–18.

    Google Scholar 

  60. Mendonca M. Efficient reasoning techniques for large scale feature models. Ph.D. thesis, University of Waterloo. 2009.

    Google Scholar 

  61. Michel R, Classen A, Hubaux A, Boucher Q. A formal semantics for feature cardinalities in feature diagrams. In: Proceedings of the 5th workshop on variability modeling of software-intensive systems (VaMoS’11). 2011. p. 82–9.

    Google Scholar 

  62. Mueller W, Schaefer R, Bleul S. Interactive multimodal user interfaces for mobile devices. In: Proceedings of the 37th annual Hawaii international conference on system sciences (HICSS’04). Washington, DC: IEEE Computer Society; 2004. p. 90286.1–.

    Google Scholar 

  63. Müller A, Forbrig P, Cap CH. Model-based user interface design using markup concepts. In: Proceedings of the 8th international workshop on interactive systems: design, specification, and verification-revised papers (DSV-IS’01). London: Springer; 2001. p. 16–27.

    Chapter  Google Scholar 

  64. Myers BA, Hudson SE, Pausch RF. Past, present, and future of user interface software tools. ACM Trans Comput-Hum Interact. 2000;7:3–28.

    Article  Google Scholar 

  65. Paterno’ F, Santoro C, Spano LD. MARIA: a universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments. ACM Trans Comput-Hum Interact. 2009;16(4):19:1–19:30.

    Google Scholar 

  66. Picard E, Fierstone J, Pinna-Déry AM, Riveill M. Atelier de composition d’IHM et évaluation du modèle de composants. Tech. Rep. Livrable 3, Réseau National des Technologies Logicielles. 2003.

    Google Scholar 

  67. Piller FT, Blazek P. Core capabilities of sustainable mass customization. Burlington, Massachusetts: Morgan Kauffman; 2014.

    Book  Google Scholar 

  68. Pleuss A, Botterweck G, Dhungana D. Integrating automated product derivation and individual user interface design. In: Proceedings of the 4th international workshop on variability modelling of software-intensive systems (VaMoS’10). 2010. p. 69–76.

    Google Scholar 

  69. Pleuss A, Rabiser R, Botterweck G. Visualization techniques for application in interactive product configuration. In: Proceedings of the 15th international software product line conference, (SPLC’11), vol 2. 2011. p. 22.

    Google Scholar 

  70. Pohl K, Böckle G, van der Linden FJ. Software product line engineering: foundations, principles and techniques. Berlin/Heidelberg: Springer; 2005.

    Book  MATH  Google Scholar 

  71. Potel M. MVP: model-view-presenter the taligent programming model for c++ and Java. Cupertino, California: Taligent Inc. 1996.

    Google Scholar 

  72. Puerta A, Eisenstein J. XIML: a common representation for interaction data. In: Proceedings of the 7th international conference on intelligent user interfaces (IUI’02). New York: ACM; 2002. p. 214–15.

    Google Scholar 

  73. Puerta A, Eisenstein J. Developing a multiple user interface representation framework for industry. In: Multiple user interfaces: engineering and application framework. Wiley; 2003. p. 119–48.

    Google Scholar 

  74. Pure-systems GmbH. Variant management with pure::variants. 2006. Technical White Paper. http://www.pure-systems.com/fileadmin/downloads/pv-whitepaper-en-04.pdf

  75. Quinton C, Parra CA, Mosser S, Duchien L. Using multiple feature models to design applications for mobile phones. In: Proceedings of the 15th international software product line conference (SPLC’11), vol 2. 2011. p. 23.

    Google Scholar 

  76. Rabiser R, Grünbacher P, Lehofer M. A qualitative study on user guidance capabilities in product configuration tools. In: Goedicke M, Menzies T, Saeki M, editors. IEEE/ACM international conference on automated software engineering, ASE’12, Essen, 3–7 Sept 2012. ACM; 2012. p. 110–19. doi:10.1145/2351676.2351693, http://doi.acm.org/10.1145/2351676.2351693

  77. Reenskaug T. Models-views-controllers. 1979. http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf

  78. Reiser MO. Core concepts of the compositional variability management framework (cvm). Technical report, Technische Universität Berlin. 2009.

    Google Scholar 

  79. Schlee M, Vanderdonckt J. Generative programming of GUIs. In: Proceedings of the 7th international working conference on advanced visual interfaces (AVI’04). ACM; 2004. p. 403–06.

    Google Scholar 

  80. Schobbens PY, Heymans P, Trigaux JC, Bontemps Y. Generic semantics of feature diagrams. Comput Netw. 2006;51(2):456–79.

    Article  MATH  Google Scholar 

  81. Souchon N, Vanderdonckt J. A review of XML-compliant user interface description languages. In: Jorge J, Jardim Nunes N, Falcão e Cunha J, editors. Interactive systems. Design, specification, and verification. Lecture notes in computer science, vol 2844. Berlin/Heidelberg: Springer; 2003. p. 377–91.

    Google Scholar 

  82. de Sousa LG, Leite JC. XICL: a language for the user’s interfaces development and its components. In: Proceedings of the Latin American conference on human-computer interaction (CLIHC’03). New York: ACM; 2003. p. 191–200.

    Chapter  Google Scholar 

  83. Tarr P, Ossher H, Harrison W, Sutton SMJ. N degrees of separation: multi-dimensional separation of concerns. In: Proceedings of the 21st international conference on software engineering (ICSE’99). 1999. p. 107–19. http://doi.ieeecomputersociety.org/10.1109/ICSE.1999.841000

  84. UsiXML Consortium. USer Interface eXtensible Markup Language (UsiXML). Submitted to the W3C Model-Based UI Working Group. 2012.

    Google Scholar 

  85. W3C: Cascading style sheets. 2008. http://www.w3.org/TR/REC-CSS1/. Last consulted: Oct 2013.

  86. W3C. XForms 1.1. 2009. http://www.w3.org/TR/2009/REC-xforms-20091020/

  87. W3C. Model-based UI XG final report. 2010. http://www.w3.org/2005/Incubator/model-based-ui/XGR-mbui-20100504/

  88. W3C. HTML5. 2014. http://www.w3.org/TR/html5/. Last consulted: Dec 2013.

  89. W3C. MBUI – abstract user interface models. 2014. http://www.w3.org/TR/abstract-ui/

  90. Wang Y, Tseng MM. Customized products recommendation based on probabilistic relevance model. J Intell Manuf. 2013;24(5):951–60.

    Article  Google Scholar 

  91. White J, Galindo JA, Saxena T, Dougherty B, Benavides D, Schmidt DC. Evolving feature model configurations in software product lines. J Syst Softw. 2014;87(0):119–136. doi:http://dx.doi.org/10.1016/j.jss.2013.10.010. http://www.sciencedirect.com/science/article/pii/S0164121213002434

Download references

Acknowledgements

This work was partly supported by the European Commission (FEDER IDEES/CO-INNOVATION). Jean-Marc Davril is supported by the FNRS under a FRIA doctoral grant.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Quentin Boucher .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Boucher, Q., Perrouin, G., Davril, JM., Heymans, P. (2017). Engineering Configuration Graphical User Interfaces from Variability Models. In: Sottet, JS., García Frey, A., Vanderdonckt, J. (eds) Human Centered Software Product Lines. Human–Computer Interaction Series. Springer, Cham. https://doi.org/10.1007/978-3-319-60947-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-60947-8_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-60945-4

  • Online ISBN: 978-3-319-60947-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics