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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Unfortunately, these cases could not be reported here for confidentiality reasons.
References
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.
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.
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.
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.
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
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.
Antkiewicz M, Czarnecki K. FeaturePlugin: feature modeling plug-in for eclipse. In: Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange. 2004.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Boucher Q. Engineering configuration graphical user interfaces from variability models. Ph.D. thesis, University of Namur (2014).
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.
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.
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
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.
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.
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.
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.
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.
Cyledge. Cyledge configurator database. 2013. http://www.configurator-database.com. Last consulted: Aug 2013.
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.
Czarnecki K, Eisenecker UW. Generative programming: methods, tools, and applications. Boston: Addison-Wesley; 2000.
Czarnecki K, Helsen S, Eisenecker UW. Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract. 2005;10(1):7–29
Dellaert BG, Stremersch S. Marketing mass-customized products: striking a balance between utility and complexity. J Market Res. 2005;42(2):219–27.
van Deursen A, Klint P. Domain-specific language design requires feature descriptions. J Comput Inf Technol 2002;10(1):1–18
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.
Falkner A, Felfernig A, Haag A. Recommendation technologies for configurable products. AI Mag. 2011;32(3):99–108.
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.
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.
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.
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.
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.
Gamma E, Helm R, Johnson R, Vlissides J. Design patterns: elements of reusable object-oriented software. Boston: Addison-Wesley; 1995.
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.
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.
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.
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.
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.
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.
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.
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
Hubaux A, Heymans P, Schobbens PY, Deridder D, Abbasi EK. Supporting multiple perspectives in feature-based configuration. Softw Syst Model. 2011;12:1–23.
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.
Johnson PD, Parekh J. Multiple device markup language: a rule approach. Technical report, DePaul University. 2003.
Kang K, Cohen S, Hess J, Novak W, Peterson S. Feature-oriented domain analysis (FODA) feasibility study. Technical report, SEI, CMU. 1990.
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.
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.
Knuth DE. Semantics of context-free languages. Math Syst Theory. 1971;5(1):95–6.
Kost S. Dynamically generated multi-modal application interfaces. Ph.D. thesis, Dresden University of Technology. 2006.
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.
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.
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.
Mendonca M. Efficient reasoning techniques for large scale feature models. Ph.D. thesis, University of Waterloo. 2009.
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.
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–.
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.
Myers BA, Hudson SE, Pausch RF. Past, present, and future of user interface software tools. ACM Trans Comput-Hum Interact. 2000;7:3–28.
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.
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.
Piller FT, Blazek P. Core capabilities of sustainable mass customization. Burlington, Massachusetts: Morgan Kauffman; 2014.
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.
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.
Pohl K, Böckle G, van der Linden FJ. Software product line engineering: foundations, principles and techniques. Berlin/Heidelberg: Springer; 2005.
Potel M. MVP: model-view-presenter the taligent programming model for c++ and Java. Cupertino, California: Taligent Inc. 1996.
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.
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.
Pure-systems GmbH. Variant management with pure::variants. 2006. Technical White Paper. http://www.pure-systems.com/fileadmin/downloads/pv-whitepaper-en-04.pdf
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.
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
Reenskaug T. Models-views-controllers. 1979. http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf
Reiser MO. Core concepts of the compositional variability management framework (cvm). Technical report, Technische Universität Berlin. 2009.
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.
Schobbens PY, Heymans P, Trigaux JC, Bontemps Y. Generic semantics of feature diagrams. Comput Netw. 2006;51(2):456–79.
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.
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.
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
UsiXML Consortium. USer Interface eXtensible Markup Language (UsiXML). Submitted to the W3C Model-Based UI Working Group. 2012.
W3C: Cascading style sheets. 2008. http://www.w3.org/TR/REC-CSS1/. Last consulted: Oct 2013.
W3C. XForms 1.1. 2009. http://www.w3.org/TR/2009/REC-xforms-20091020/
W3C. Model-based UI XG final report. 2010. http://www.w3.org/2005/Incubator/model-based-ui/XGR-mbui-20100504/
W3C. HTML5. 2014. http://www.w3.org/TR/html5/. Last consulted: Dec 2013.
W3C. MBUI – abstract user interface models. 2014. http://www.w3.org/TR/abstract-ui/
Wang Y, Tseng MM. Customized products recommendation based on probabilistic relevance model. J Intell Manuf. 2013;24(5):951–60.
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)