iCone: intelligent environment for the Development and Maintenance of Configuration Knowledge bases Franz Wotawa, Florian Reinfrank, Gerald Ninaus, Alexander Felfernig1 Institute for Software Technology Graz University of Technology Inffeldgasse 16b/II, 8010 Graz, Austria {firstname.lastname}@ist.tugraz.at Abstract save and load the knowledge bases. The application has four main packages called ’KnowledgeBase’ (with the main Constraint-based recommendation systems are class ’KnowledgeBase’), ’Algorithm’ (calculating anoma- used in many different domains like notebooks, lies), ’Anomaly’ (e.g., explaining anomalies), and ’Solver’ cars, and mobile phones. Such systems describe (preparing consistency checks). For the visualization, the product domains in sets of product and customer users need to have a modern internet browser with active variables, their domains, and constraints which de- JavaScript. All screens consists of login, navigation, recom- fine the relationship between the variables. mendation and notification, and main area. In the main area, Maintenance is a crucial task in constraint-based the user sees lists of knowledge bases, products, questions, recommendation systems, because it is time- constraints, results of anomaly checks or a preview. Figure 1 consuming and error-prone. We implemented a shows a preview of the constraint-based recommendation sys- new application called ’iCone’ (intelligent envi- tem for mobile phones. In the left area the user can answer ronment for the development and maintenance of some questions. Based on constraints which are defining the configuration knowledge bases) to support knowl- relationship between questions and products, the system rec- edge engineers and their maintenance tasks. We ommends a set of products for the user. present intelligent techniques like recommenda- The main object of iCone is the Knowledge base. It con- tion, anomaly management, dependency detection, tains all products, product variables, questions, and con- and metrics to support knowledge engineers when straints. Furthermore, iCone deals with the analysis package, maintaining constraint-based systems. which detects anomalies in the knowledge base, generates recommendations for knowledge engineers, approximates de- 1 Introduction pendencies between variables in the knowledge base and gen- Many different product domains like, computers, cars, or mo- erates metrics to evaluate the knowledge base. Next, we give bile phones use constraint-based recommendation systems as an overview about the four main supporting techniques. a model for modern e-commerce services. The model can be Recommendation represented as a constraint satisfaction problem (CSP) and consists of products, questions for the customer, and con- We implemented four different recommendation techniques.3 straints which are describing the relationships between prod- • user-independent recommendation techniques like most ucts and questions. viewed recommendation and recently added items. In this paper we give an overview of the iCone interface • user-dependent recommendation techniques like collab- which is a web-tool for the development and maintenance of orative filtering (find peer users) and content-based fil- constraint-based systems.2 . This system can be used to create tering (find similar items) and maintain constraint-based systems like knowledge-based recommendation or knowledge-based configuration. The ad- Anomaly management vantage of this system is a strong intelligent support of knowl- In our implementation we consider three different types of edge engineers when maintaining a constraint-based system anomalies:4 which will be described in this paper. • conflict: A conflict is a set of constraints which can not be fulfilled. Conflicts can be resolved by sets of diag- 2 iCone noses. iCone is a java-based web-application with a SQLite data • redundancy: A set of constraints can be denoted as re- base. SQL will be used to do consistency checks and to dundant, if the removal of this set does not change the behavior of the knowledge base. 1 The authors are ordered in reverse alphabetical order. 2 3 http://ase-projects-studies.ist.tugraz. For a detailed description we refer the reader to [1; 2]. 4 at:8080/iCone/index.jsp For a detailed description we refer the reader to [2]. Figure 1: Preview of a constraint-based recommendation system for mobile phones • well-formedness violation: Well-formedness violations 3 Summary don’t change the behavior of the knowledge base but In this paper we gave an overview of our iCone system. make it difficult to maintain a knowledge base. With iCone you can create constraint-based configuration, Dependency detection knowledge-based recommendation, and MAUT-based knowl- In our implementation we have visualizations for constraint edge bases. You can create, read, update, and delete products, dependencies and another one for variable dependencies.5 product variables, questions, and constraints. • Dependencies between constraints shows the relation- Further enhancements are possible in the context of sup- ship between products, question, and constraints based porting collaboration (e.g. when two or more knowledge en- on content-based recommendation. gineers are working on the same knowledge base) and in the support of test case generation. • Dependencies between variables will be either calcu- lated (if possible) or approximated (in big knowledge bases). For the approximation we use Gibb’s sampling. References [1] Dietmar Jannach, Markus Zanker, Alexander Felfernig, Metric calculation and evaluation and Gerhard Friedrich. Recommender Systems: An Intro- To get an overview of the quality of the knowledge base, the duction, volume 1. University Press, Cambridge, 2010. iCone interface offers an overview of several metrics.6 [2] Florian Reinfrank, Gerald Ninaus, and Alexander Felfer- • Goal question metrics (GQM): We indicated three goals, five questions and 16 metrics. nig. Intelligent techniques for the maintenance of constraint-based systems. Configuration Workshop, • Function point analysis (FPA): We adapted the five 2015. input variables (from the software engineering to the knowledge engineering domain) and present the results [3] Florian Reinfrank, Gerald Ninaus, Bernhard Peischl, and for each knowledge base in our application. Franz Wotawa. A goal-question-metrics model for con- In this paper we presented recommendation techniques, figuration knowledge bases. Configuration Workshop, anomaly management, dependency detection, and metric cal- 2015. culation, which are novel techniques for the maintenance of [4] Florian Reinfrank, Gerald Ninaus, Franz Wotawa, and constraint-based systems. Alexander Felfernig. Maintaining constraint-based con- 5 figuration systems: Challenges ahead. Configuration For a detailed description we refer the reader to [4]. Workshop, 2015. 6 For a detailed description we refer the reader to [3].