http://www.dagstuhl.de/14172

April 21 – 24 , 2014, Dagstuhl Seminar 14172

Unifying Product and Software Configuration

Organizers

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)

For support, please contact

Dagstuhl Service Team

Documents

Dagstuhl Report, Volume 4, Issue 4 Dagstuhl Report
Aims & Scope
List of Participants
Shared Documents

Summary

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.

License
  Creative Commons BY 3.0 Unported license
  Krzysztof Czarnecki, Arnaud Hubaux, Ethan Jackson, Dietmar Jannach, and Tomi Männistö

Classification

  • Artificial Intelligence / Robotics
  • Semantics / Formal Methods
  • Software Engineering

Keywords

  • Configuration
  • Knowledge Representation
  • Modelling
  • Constraint Solving
  • Automated Reasoning

Book exhibition

Books from the participants of the current Seminar 

Book exhibition in the library, ground floor, during the seminar week.

Documentation

In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.

 

Download overview leaflet (PDF).

Publications

Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.