Dagstuhl Seminar 14172
Unifying Product and Software Configuration
( Apr 21 – Apr 24, 2014 )
- 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)
- Andreas Dolzmann (for scientific matters)
- Annette Beyer (for administrative matters)
In many markets today, customers no longer consider customization as special: they expect it. This expectation applies both to simple goods like t-shirts and to more sophisticated products composed of heterogeneous hardware, software and services. Yet, the complexity in engineering and manufacturing of deeply configurable products varies significantly. Numerous sectors, such as automotive, semiconductors, and cloud services, lack tools and methods to keep their hardware and software configurations consistent during configuration and evolution. Ad hoc solutions frequently patch isolated problems, but fail to effectively improve overall key performance indicators such as availability, reliability and time-to-market. Integrated solutions to align software, hardware and service configuration are missing.
Research in configuration is currently carried out in two main communities: (hardware) product configuration and software configuration. Despite the significant overlap in research interests, they have evolved mainly in isolation. Yet, similar challenges and solutions have emerged in both communities. The potential for synergies has reached a critical level.
These observations motivate our first goal to unify results in product and software configuration produced by research and industry into a consolidated strand. Our second goal is to gather this knowledge on a dedicated online portal and structure it along three dimensions: resources for practitioners, resources for scientists, and practical cases.
To make a first step toward those goals, the seminar will seek to answer four key questions:
- What classes of configuration problems exist?
- How are these problems modeled?
- What automated tasks are supported?
- How are these automated tasks implemented?
To answer those questions, we bring together industry experts and researchers in four sessions. Each session will be split into three parts: invited position statements, group discussions, and group discussion consolidation. These sessions aim at being as interactive as possible to foster exchanges of experience and knowledge among the participants. The outcome of these discussions will be assembled in a compendium available to the participants and public after the seminar.
Industry experts attending the seminar are practitioners and tool vendors selected for their extended experience in product configuration. Researchers have been selected for their proven record of expertise in product configuration and software configuration and their influential theoretical and practical contributions to knowledge representation, automated reasoning, and constraint solving.
We would be honored to count you among the participants of the first Dagstuhl seminar on the unification of software and product configuration.
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.
- Michel Aldanondo (University of Toulouse, FR) [dblp]
- Danilo Beuche (pure-systems GmbH - Magdeburg, DE) [dblp]
- Nikolaj S. Bjørner (Microsoft Corporation - Redmond, US) [dblp]
- Krzysztof Czarnecki (University of Waterloo, CA) [dblp]
- Conrad Drescher (SAP SE - Walldorf, DE) [dblp]
- Andreas Falkner (Siemens AG - Wien, AT) [dblp]
- Jianmei Guo (University of Waterloo, CA) [dblp]
- Albert Haag (SAP SE - Walldorf, DE) [dblp]
- Holger H. Hoos (University of British Columbia - Vancouver, CA) [dblp]
- Lothar Hotz (HITeC e.V. / Universität Hamburg, DE) [dblp]
- Arnaud Hubaux (ASML - Veldhoven, NL) [dblp]
- Dietmar Jannach (TU Dortmund, DE) [dblp]
- Eunsuk Kang (MIT - Cambridge, US) [dblp]
- Christian Kästner (Carnegie Mellon University - Pittsburgh, US) [dblp]
- Charles Krueger (BigLever- Austin, US) [dblp]
- Wolfgang Küchlin (Universität Tübingen, DE) [dblp]
- Daniel Le Berre (CNRS - Lens, FR) [dblp]
- Tomi Männistö (University of Helsinki, FI) [dblp]
- Leonardo Gresta Paulino Murta (Federal University Fluminense - Niteroi, BR) [dblp]
- Klaus Schmid (Universität Hildesheim, DE) [dblp]
- Norbert Siegmund (Universität Passau, DE) [dblp]
- Markus Stumptner (University of South Australia - Mawson Lakes, AU) [dblp]
- Juha Tiihonen (Aalto University, FI) [dblp]
- Andrzej Wasowski (IT University of Copenhagen, DK) [dblp]
- Patrick Wischnewski (Logic4Business - Saarbrücken, DE) [dblp]
- Ed Zulkoski (University of Waterloo, CA) [dblp]
- artificial intelligence / robotics
- semantics / formal methods
- software engineering
- Knowledge Representation
- Constraint Solving
- Automated Reasoning