Knowledge-based Configuration: From Research to Business Cases, FIRST EDITION (2014)
Part III. Advanced Topics
Chapter 15. Configuration-Related Research Challenges
Alexander Felferniga, Lothar Hotzb, Claire Bagleyc and Juha Tiihonend, aGraz University of Technology, Graz, Austria, bHITeC e.V., University of Hamburg, Hamburg, Germany, cOracle Corporation, Burlington, MA, USA, dAalto University, Aalto, Finland
In this part on advanced topics in configuration, we took a look at the issues of configuration knowledge engineering (testing and debugging and redundancy detection) and intelligent configurator user interfaces (personalized configuration and consumer decision-making). To stimulate further configuration-related research, we conclude this part with a discussion of issues for future research.
Knowledge-based Configuration; Research Challenges
Personalized Configuration The quantity and complexity of options presented to a user often outstripts his/her capability to identify appropriate solutions (configurations; Ardissono et al., 2003; Cöster et al., 2002; Falkner et al., 2011; Felfernig et al., 2012a; Huffman and Kahn, 1998; Tiihonen and Felfernig, 2010). Users are often not able to find the features they would like to specify, they are unsure about their preferences regarding complex technical properties, and they do not know in which way to change their requirements if no solution can be found. Also due to the size and complexity of the underlying product assortment sales representatives tend to sell products they already know and thus are overlooking configurations that would better fit the needs of the user (Tiihonen and Felfernig, 2010). A major challenge in this context is also the fact that users do not know their preferences beforehand but rather construct their preferences within the scope of the configuration process (Bettman et al., 1998; Häubl and Murray, 2003). These challenges have to be tackled in terms of a new generation of personalized configuration technologies that proactively support the user and guide him/her through the configuration process in an intuitive fashion.
Configuration and Feature Models Feature models (FMs; Asikainen et al., 2003, 2004, 2006; Benavides et al., 2010; Czarnecki et al., 2004, 2005; Kang et al., 1990) are a means to represent an assortment of feature configurations on a graphical level (see also Hotz et al., 20141 and Hotz and Wolter, 20142). In the feature models research community, analysis operations for feature models are a thriving research area that attracted attention in the last years. For example, Benavides et al. (2010) report more than 30 analysis operations for feature models that help to assure well-formedness of the underlying models. These operations developed in the feature model community are not well known in the configuration research community. Consequently, an issue for future research is to investigate existing FM analysis operations and to adapt and extend these operations in order to be useful in configuration settings (Benavides et al., 2013). To generalize this aspect, the analysis of potential synergies between these two research areas in a systematic fashion is a major issue for future research. An in-depth discussion of related research questions can be found, for example, in Benavides et al. (2013) and Hubaux et al. (2012).
Community-based Configuration Typically, configuration is assumed to be a process where one user interacts with the configuration system with the goal to identify a solution (configuration). A major research question in this context is how to best support configuration processes that include groups of users (Felfernig et al., 2012b; Jameson, 2004). Examples of such settings are the configuration of holiday trips, software release plans, and (also) car configuration. In these scenarios, users often cooperatively design their solutions, which requires additional configuration functionalities such as feature (value) recommendation for groups of users, diagnosis and repair recommendation for groups of users, configuration ranking for groups of users, and so on. From these questions we can derive the general research question that should be answered: In which way do we have to adapt (extend) existing user interfaces, algorithms, and configuration processes to be able to support groups of users?
Standardized Configuration Knowledge Representations Still a major research issue is the development of a configuration lingua franca. Such a language would help to make configuration knowledge interchangeable between different configuration environments and thus also to better protect corporate assets with regard to technological changes. Furthermore, such a knowledge representation language would help to make the empirical evaluation of new algorithmic developments easier since less effort has to be spent translating existing configuration knowledge bases into the dialect of a specific configuration environment (under the assumption that each environment is able to import/export standard representations). Research dedicated to the development of such a standardized knowledge representation focused on common ontologies (Soininen et al., 1998), UML (Felfernig, 2007; Felfernig et al., 2000), and description logics based representations (see, e.g., Felfernig et al., 2003). The major issue for future research is the development of a common representation language that (1) takes into account all relevant aspects of configuration knowledge (e.g., ports, composite and shared part of hierarchies) and (2) also provides the semantics that allows for efficient solution search. Research in answer set programming based configuration shows promising results that will pave the way for achieving the mentioned goals (Aschinger et al., 2012; Friedrich et al., 2011; Simons et al., 2002; Tiihonen et al., 2003, 2013).
Intelligent User Interfaces for Configuration Knowledge Acquisition The engineering of complex configuration knowledge bases is typically a cooperative process where different stakeholders such as product designers, marketing and sales experts, and knowledge engineers are engaged. Each stakeholder is familiar with only specific aspects of the product domain and even on the technical level there are different experts with different knowledge regarding the underlying product. Furthermore, stakeholders often have conflicting interests regarding the features that should be supported by a configurable product. Major questions to be answered in this context are the following: which components should be part of the knowledge base (i.e., offered to the customer)? Which constraints should be part of the knowledge base? How to achieve consensus among the different stakeholders? Another issue in this context is the accessibility of a knowledge base: highly experienced knowledge engineers have a different navigation behavior in the knowledge base compared to less experienced engineering personnel. A major research issue in this context is the development of intelligent techniques that support easy understanding and handling of configuration knowledge bases (Felfernig et al., 2013). Questions to be answered in this context are the following: Which constraints should additionally be inspected after having already inspected a specific sequence of constraints? Which parts of a knowledge base should not be shown to the engineer in certain maintenance contexts? How do we refactor ill-formed knowledge bases? In this context, we have to develop deep knowledge related to the cognitive complexity of different constraint structures and types. Initial research results related to this topic have been reported in Felfernig et al. (2010a).
Intelligent Testing and Debugging Besides the determination of minimal sets of user requirements that are inconsistent with regard to a configuration knowledge base, the concepts of model-based diagnosis (MBD; Reiter, 1987) can as well be applied to the testing and debugging of configuration knowledge bases (see Felfernig et al., 2004). If a configuration knowledge base is inconsistent with some (or all) of the test cases of a test suite, we are interested in minimal explanations in terms of minimal sets of constraints in the knowledge base that have to be deleted or adapted to be able to restore the consistency of the knowledge base with regard to the test suite. Research questions to be answered in the context of knowledge base testing and debugging are the following: How do we automatically generate test suites? How can test case generation techniques from software engineering be applied or extended in knowledge-based configuration scenarios? How can we personalize the determination of diagnoses, for example, on the basis of complexity metrics that provide an indicator of the quality of certain parts of a knowledge base? How can we increase the efficiency of debugging algorithms?
Unobtrusive Preference Elicitation Similar to recommender systems, the quality of user preference estimation is a major factor for successfully determining configurations that are of interest for the user (under the assumption that personalization technologies are already integrated in the configuration environment). In many configurators (and also recommender applications) preference elicitation is based on concepts such as directly asking the user or inferring preferences from the interaction logs of previous user interactions (see, e.g., Felfernig et al., 2009, 2010b). Alternative ways to derive preferences from user interactions are, for example, the (online) interpretation of eye-tracking data or the derivation of requirements and preferences on the basis of voice processing. These are issues for future research.
Processes for Intelligent Systems Development The widespread application of knowledge-based technologies triggers the demand of methodologies that support application development in a structured fashion. A related research question is to which extent standard software engineering methods are applicable or whether agile methods provide a better methodological support. A discussion of the application of agile methods in the context of knowledge-based systems development can be found, for example, in Knublauch and Rose (2003).
1. Ardissono L, Felfernig A, Friedrich G, et al. A framework for the development of personalized, distributed web-based configuration systems. AI Magazine. 2003;24(3):93–108.
2. Aschinger M, Drescher C, Vollmer H. LoCo – a logic for configuration problems. In: 20th European Conference on Artificial Intelligence (ECAI2012). Montpellier, France: IOS Press; 2012;73–78.
3. Asikainen T, Soininen T, Männistö T. Towards managing variability using software product family architecture models and product configurators. In: Proceedings of the Software Variability Management Workshop, Groningen, The Netherlands. 2003:84–93.
4. Asikainen T, Männistö T, Soininen T. Representing feature models of software product families using a configuration ontology. In: 16th European Conference on Artificial Intelligence (ECAI-2004), Configuration Workshop, Valencia, Spain. 2004.
5. Asikainen T, Männistö T, Soininen T. A unified conceptual foundation for feature modeling. In: 10th International Software Product Line Conference (SPLC 2006) IEEE Computer Society, Baltimore, MD. 2006;31–40.
6. Benavides D, Segura S, Ruiz-Cortés A. Automated analysis of feature models 20 years later: a literature review. Information Systems. 2010;35(6):615–636.
7. Benavides D, Felfernig A, Galindo J, Reinfrank F. Automated analysis in feature modelling and product configuration. In: 13th International Conference on Software Reuse. Pisa, Italy: Springer; 2013:160–175. Lecture Notes in Computer Science vol. 7925.
8. Bettman J, Luce M, Payne J. Constructive consumer choice processes. Journal of Consumer Research. 1998;25(3):187–217.
9. Cöster, C., Gustavsson, A., Olsson, R., Rudström, A., 2002. Enhancing web-based configuration with recommendations and cluster-based help. In: Francesco, R., Barry, S. (Eds.), AH’02 Workshop on Recommendation and Personalized in e-Commerce, Universidad de Málaga, Málaga, Spain, pp. 30–40.
10. Czarnecki K, Helsen S, Eisenecker U. Staged configuration using feature models. In: Third Software Product-Line Conference (SPLC’04), Boston, USA. 2004:266–283.
11. Czarnecki K, Helsen S, Eisenecker U. Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice. 2005;10(1):7–29.
12. Falkner A, Felfernig A, Haag A. Recommendation technologies for configurable products. AI Magazine. 2011;32(3):99–108.
13. Felfernig A. Standardized configuration knowledge representations as technological foundation for mass customization. IEEE Transactions on Engineering Management. 2007;54(1):41–56.
14. Felfernig A, Friedrich GE, Jannach D. UML as domain specific language for the construction of knowledge-based configuration systems. International Journal of Software Engineering and Knowledge Engineering. 2000;10(4):449–469.
15. Felfernig A, Friedrich G, Jannach D, Stumptner M, Zanker M. Configuration knowledge representations for semantic web applications. Artificial Intelligence for Engineering Design, Analysis and Manufacturing (AI EDAM). 2003;17(1):31–50.
16. Felfernig A, Friedrich G, Jannach D, Stumptner M. Consistency-based diagnosis of configuration knowledge bases. Artificial Intelligence. 2004;152(2):213–234.
17. Felfernig A, Schubert M, Friedrich G, Mandl M, Mairitsch M, Teppan E. Plausible repairs for inconsistent requirements. In: 21st International Joint Conference on Artificial Intelligence (IJCAI’09), Pasadena, CA. 2009:791–796.
18. Felfernig A, Mandl M, Pum A, Schubert M. Empirical knowledge engineering: cognitive aspects in the development of constraint-based recommenders. In: 23rd International Conference on Industrial Engineering and Other Applications of Applied Intelligent Systems (IEA/AIE 2010), Cordoba, Spain. 2010a:631–640.
19. Felfernig A, Mandl M, Tiihonen J, Schubert M, Leitner G. Personalized user interfaces for product configuration. In: Rich C, Yang Q, Cavazza M, Zhou MX, eds. 15th ACM International Conference on Intelligent User Interfaces (IUI’2010). Hong Kong, China: ACM; 2010b:317–320.
20. Felfernig A, Schubert M, Zehentner C. An efficient diagnosis algorithm for inconsistent constraint sets. Artificial Intelligence for Engineering Design, Analysis and Manufacturing (AI EDAM). 2012a;26(1):53–62.
21. Felfernig A, Zehentner C, Ninaus G, et al. Group decision support for requirements negotiation. In: Advances in User Modeling. Girona, Spain: Springer; 2012b:105–116. Lecture Notes in Computer Science vol. 7138.
22. Felfernig, A., Reiterer, S., Stettinger, M., Reinfrank, F., Jeran, M., Ninaus, G., 2013. Recommender systems for configuration knowledge engineering. Workshop on Configuration, Austria, Vienna, pp. 51–54.
23. Friedrich, G., Ryabokon, A., Falkner, A.A., Haselböck, A., Schenner, G., Schreiner, H., 2011. (Re)configuration based on model generation. Second Workshop on Logics for Component Configuration (LoCoCo 2011), Perugia, Italy, pp. 26–35.
24. Häubl G, Murray K. Preference construction and persistence in digital marketplaces: the role of electronic recommendation agents. Journal of Consumer Psychology. 2003;13(1–2):75–91.
25. Hotz L, Wolter K. Smarthome configuration model. In: Felfernig A, Hotz L, Bagley C, Tiihonen J, eds. Knowledge-based Configuration – From Research to Business Cases. Waltham, MA: Morgan Kaufmann Publishers; 2014:121–135. (Chapter 10).
26. Hotz L, Felfernig A, Stumptner M, Ryabokon A, Bagley C, Wolter K. Configuration knowledge representation and reasoning. In: Felfernig A, Hotz L, Bagley C, Tiihonen J, eds. Knowledge-based Configuration – From Research to Business Cases. Waltham, MA: Morgan Kaufmann Publishers; 2014:41–72. (Chapter 6).
27. Hubaux, A., Jannach, D., Drescher, C., Murta, F., Männistö, T., Czarnecki, K., Heymans, P., Nguyen, N., Zanker, M., 2012. Unifying software and product configuration: a research roadmap. In: Mayer, W., Albert, P. (Eds.), ECAI 2012 Workshop on Configuration, Montpellier, France, pp. 31–35.
28. Huffman C, Kahn B. Variety for sale: mass customization or mass confusion. Journal of Retailing. 1998;74(4):491–513.
29. Jameson A. More than the sum of its members: challenges for group recommender systems. In: International Working Conference on Advanced Visual Interfaces. 2004:48–54.
30. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S., 1990. Feature-oriented domain analysis feasibility study (FODA). Tech. Rep. CMU/SEI-90-TR-021, Carnegie Mellon University, Software Engineering Institute, Pittsburgh, PA.
31. Knublauch H, Rose T. Tool-supported process analysis and design for the development of multi-agent systems. In: Agent-Oriented Software Engineering III, Third International Workshop, AOSE 2002. Bologna, Italy: Springer; 2003:186–197. Lecture Notes in Computer Science vol. 2585.
32. Reiter R. A theory of diagnosis from first principles. Artificial Intelligence. 1987;32(1):57–95.
33. Simons P, Niemelä I, Soininen T. Extending and implementing the stable model semantics. Artificial Intelligence. 2002;138(1–2):181–234.
34. Soininen T, Tiihonen J, Männistö T, Sulonen R. Towards a general ontology of configuration. Artificial Intelligence for Engineering Design, Analysis and Manufacturing (AI EDAM). 1998;12(4):357–372.
35. Tiihonen J, Felfernig A. Towards recommending configurable offerings. International Journal of Mass Customization. 2010;3(4):389–406.
36. Tiihonen J, Soininen T, Niemelä I, Sulonen R. A practical tool for mass-customising configurable products. In: Proceedings of the 14th International Conference on Engineering Design, Stockholm, Sweden, August 19–21, 2003, CDROM. 2003; p. 10 (Paper number: 1290).
37. Tiihonen J, Heiskala M, Anderson A, Soininen T. WeCoTin – a practical logic-based sales configurator. AI Communications. 2013;26(1):99–131.