April 21 – 24 , 2014, Dagstuhl Seminar 14172
Unifying Product and Software Configuration
Krzysztof Czarnecki (University of Waterloo, CA)
Arnaud Hubaux (ASML – Veldhoven, NL)
Ethan Jackson (Microsoft Corporation – Redmond, US)
Dietmar Jannach (TU Dortmund, DE)
Tomi Männistö (University of Helsinki, FI)
1 / 2 >
For support, please contact
Customizable products are an integral part of most Business-to-Business (B2B) and Business-to-Consumer (B2C) markets. The fast-growing demand for mass-customization affects both tangible products (e.g., cars and mobile phones) and intangible products like software (e.g., operating systems, Enterprise Resource Planning systems and mobile phones). To this end, companies use software configurators that provide automated support to tailor products to the requirements of specific customers or market segments. These configurators have been developed essentially in two threads of research: Product Configuration (PC) and software Configuration (SC).
PC is the umbrella activity of assembling and customizing physical artefacts (e.g., cars or muesli) or services (e.g., insurances). Due to the inherent complexity of configuration problems, PC was one of the first large-scale application fields of artificial intelligence (AI), as it required both powerful knowledge-representation formalisms and efficient reasoning methods. The particular challenges of knowledge representation and reasoning in PC even led to the development of new AI techniques. Today, PC can be seen as one of the major fields in which AI-based technology found its way into industrial practice and is part of many industrial configuration systems.
Mostly independent of PC, the software engineering community was confronted with challenging configuration problems. A typical challenge is the design and implementation of software components that can be adapted and parameterized according to customer requirements and business or technical constraints. As in PC approaches, the goal is to save costs by assembling individualized systems from reusable components. These challenges are dealt with in different strands of software engineering, e.g. software product line engineering or self-adaptive systems.
Questions of knowledge representation and types of reasoning support have been investigated for many years in PC and SC. Interestingly, research in these two fields has been carried out so far mostly independently. Except in rare cases, researchers in both fields are often unaware of approaches that have been developed in the other community.
This fragmentation is observable in two particular dimensions: knowledge representation and configuration reasoning. Knowledge representation is concerned with the question of how to encode the domain knowledge, e.,g., about the compatibility of different features of a configurable product, in a formal or machine processible way. Configuration reasoning covers various aspects of how to make inferences given a knowledge base (configuration model), specific user requirements or an existing configuration. Typical tasks include the automatic completion of a partial configuration or checking the consistency of a given configuration.
The seminar was organized around the following research questions:
- (RQ1) What classes of configuration problems exist?
- (RQ2) How are these problems modelled?
- (RQ3) What automated tasks are supported?
- (RQ4) How are these automated tasks implemented?
The seminar was structured into three main blocks: Problem characteristics, Knowledge representation and Reasoning and tools. Each block consisted of a number of introductory presentations on the topic, which were given by researchers from different subfields and the seminar participants from industry. These talks then served as a basis for discussions on commonalities, differences and possible synergies. These discussions were made in small working groups in break-out sessions and the results then synthesized in plenary meetings. To make these break-out sessions more effective, the seminar participants were asked to fill out a detailed questionnaire before the seminar.
Overall, the seminar featured more than a dozen introductory talks from academia and from industry. In general, the interest from industry was particularly encouraging and the seminar was attended by representatives and speakers, e.g., from IBM, SAP, Microsoft, Siemens and BigLever. The evening sessions were used by several seminar participants to give additional "lightning" talks, to share recent research results and dive deeper into technical aspects.
Creative Commons BY 3.0 Unported license
Krzysztof Czarnecki, Arnaud Hubaux, Ethan Jackson, Dietmar Jannach, and Tomi Männistö
- Artificial Intelligence / Robotics
- Semantics / Formal Methods
- Software Engineering
- Knowledge Representation
- Constraint Solving
- Automated Reasoning