Workshop Goals
Position Papers
Important Dates
Workshop Activities
Organizing Committee


2nd Workshop on

Managing Variabilities Consistently in Design and Code

at the

20th Annual ACM SIGPLAN Conference on
Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2005).



Software product lines / software families promise a reduction of development time and product development cost through systematic reuse and improved software quality. The idea is to develop the common parts of a family just once while being prepared to adapt these parts to the different product requirements in a controlled way.

With the introduction of software product line approaches into the practice, variants and variability add a new dimension of complexity to the software development process. The combinatorial explosion of possible variants in systems with a high degree of variability requires special concepts for specifying, modeling, and implementing these systems to assure quality and functionality.

Object technology encompasses a diversity of variability approaches at different abstraction levels. During the analysis phase, OO provides useful techniques such as use cases or scenarios. During design, patterns, and frameworks serve to handle variability. At the implementation level, OO supports variability by, for example, dynamic binding, polymorphism, inheritance and sub-typing.

These approaches are not integrated and none of them explicitly supports the description and implementation of variants.
Feature models are better suited for planning and supporting strategic decision both for architectural and for component development. Feature models are tightly connected to object-oriented models of the UML. Feature Models are used in different

  • They are the basis for choosing a set of features by a customer in order to configure a product, especially by expressing feature dependencies.
  • They support the navigation in requirements specification.
  • They are used for directing and coordinating the partitioning of architecture and implementation according to the Separation of Concerns principle.
  • They are applied for composing the final software product.

For all the above mentioned reasons, Feature Models play a central role in Product Line development. However, their definition in terms of syntax, semantics and graphical representation as well as the integration into the software development process is still limited.

Likewise, OO languages do not give much support in making variants explicit. AO languages seem to be more appropriate for implementing a feature in a separate concern and making features first class citizens within the software.

Workshop Goals

The goal of this workshop is to evaluate existing technologies for their ability to manage variants and the resulting variability in design and code consistently, identify gaps and find points for collaboration to fill these gaps.

This is the second workshop on managing variability. The position papers of the first workshop can be found at MVCDC1.

Position Papers

The main goal is to discuss and identify efficient ways for dealing with highly variable software systems on design and code level by evaluating existing approaches and new ideas from the research community and industrial practice.

Please download and read all positione papers before the workshop and complete the following two sentences for each:
- What I really liked about this paper is ...
- The most important question I would like to ask the author is ...

Sushil Krishna Bajracharya, Cristina Videira Lopes Bajracharya+Lopes.pdf
Venkat Chakravarthy, Eric Eide Chakravarthy.pdf
Sofie Goderis, Dirk Deridder Goderis.pdf
Thomas Leich, Sven Apel, Marko Rosenmueller, Gunter Saake Leich.pdf
Adriaan Moors, Jan Smans, Eddy Truyen, Frank Piessens, Wouter Joosen Moors.pdf

Important Dates

Position Papers Due: Friday, August 26, 2005
Notification of Acceptance: Wednesday, September 7, 2005
Workshop: Thursday, October 20, 2005

Workshop activities

Workshop preparation

Two weeks before the workshop a detailed workshop schedule will be published together with all submitted position papers. The participants are expected to prepare for the workshop by reading the position papers and thinking about the questions they want to ask the authors.

Planned workshop activities

The workshop is laid out as full day workshop.
Instead of presenting the papers, each participant will be expected to review everyone else's paper before the workshop and complete the following two sentences for each:
- What I really liked about this paper is ...
- The most important question I would like to ask the author is ...

These questions are written down on index cards and will be collected before the workshop. During the workshop, we will spend the morning with questions and answers to gain deeper insight into the problem described in the paper. Before each paper session, the author will be permitted a 4 minute slot to very briefly present his/her paper/work. The workshop format in the afternoon will be utilizing the "Open Space" format in order to discuss topics of interest that might be, or might not be directly related to the papers presented in the morning.

Post-workshop activities

The workshop results are published on the MVCDC Wiki page together with a schedule on follow up activities. We will provide a summary of the workshop on the web page and aim on a joint research agenda for investigating ways to handle variants consistently in design and code.
If we receive a significant amount and quality of submissions, we also consider trying a special issue of some Journal.

Organizing committee

Danilo Beuche (danilo.beuche at is managing director of the pure-systems GmbH. pure-systems is a software company specialized in services and tool development for the application of product line technologies in embedded
software systems. When he joined the GMD First (now Fraunhofer FIRST) in 1995, he started to work in the field of embedded operating systems and software families and continued this line of work at the University Magdeburg. His work on tool support for feature based software development has gained interest both in the research community and in the industry and finally lead to the founding of pure-systems in 2001.

Krzysztof Czarnecki (czarnecki at an Assistant Professor at the University of Waterloo, Canada. Before coming to Waterloo, he spent 8 years at DaimlerChrysler Research working on the practical applications of generative programming. He is co-author of the book "Generative Programming" (Addison-Wesley, 2000), which is regarded as founding work of the area and is used as a graduate text at universities around the world. He was General Chair of the 2003 International Conference on Generative Programming and Component Engineering (GPCE) and will deliver a keynote on generative software development at the at the UML 2004 conference in Lisbon. His current research focuses on realizing the synergies between generative programming and MDA.

Mira Mezini (mezini at is professor of computer science at Darmstadt University of Technology, where she is leading the software technology group. Her research focuses on developing methods and tools that support programmers in writing software that has a clear modular structure that reflects a clear separation of concerns. A key theme underlying her current work is aspect-oriented software development (AOSD). She is leading several important projects in this area.

Christa Schwannninger (christa.schwanninger at is a Senior Research Scientist at Siemens AG, Corporate Technology, Munich, Germany. Her fields of interest are software architecture, distributed object computing, patterns, frameworks and aspect oriented software development. She participates in industrial research in new and promising areas of software engineering and is a consultant for business units that actually build commercial software, mostly embedded in small, resource restricted devices.

Markus Voelter (voelter at works as a freelance consultant for software technology and engineering. He focuses on the architecture of large, distributed systems. His interests include patterns, frameworks, components, middleware as well as generative and model-driven development. Markus is the author of various technical articles and papers as well as several published patterns. He is a regular speaker at national and international conferences and co-author of Wiley's "Server Component Patterns" book. Over the last years, Markus has worked on several projects of different sizes in different domains such as banking, media, astrophysics and automotive. Most recently, he has been working on the architecture of embedded software, specifically the small components project, which aims at providing component infrastructures for embedded systems.

Rainer Burgstaller, PhD Student, Munich, Germany
Rainer Burgstaller is a PhD student (since March 2005) at Darmstadt University of Technology, supported by Siemens AG Munich. His fields of interest are model-driven software development as well as aspect-oriented software development. Currently, his PhD work concentrates on model-to-model transformations in the context of domain driven development.

Previous Workshops

Christa Schwanninger, Danilo Beuche, Krzysztof Czarnecki, Mira Mezine, Markus Völter, Workshop - MVCDC: Managing Variabilities consistently in Design and Code, OOPSLA ’04 conference, Vancouver, Canada, October 2004

Markus Voelter, Michael Kircher, Christa Schwanninger, Uwe Zdun, Alexander Schmid, Workshop - Reuse in Constrained Environments, OOPSLA'03 conference, Anaheim, California, USA , October 2003

Matthias Riebisch, Jim Coplien, Detlef Streitferdt, Workshop on Modeling Variability for Object-Oriented Product Lines, ECOOP'03, Darmstadt, July 2003

Bedir Tekinerdogan, Mehmet Aksit, Krzysztof Czarnecki, Sholom Cohen , OOPSLA'01 Workshop on Managing Variability in Domain Engineering using OO Technology, OOPSLA'01 conference, Tampa, Florida, USA, October 2001