3rd International Workshop on Variability & Composition @Modularity·AOSD

, Potsdam, Germany

Workshop Overview

In applying multi-dimensional separation of concerns, the composition of carefully separated concerns is an important issue. The time at which concern composition is applied can vary depending on the concrete approach at hand. Advanced modularity techniques have extensively been used to enable variability in software product lines, where features are usually composed at build time. Likewise, run-time composition has been investigated, enabling dynamic aspect weaving, recomposition and reconfiguration. Using context-oriented programming, dynamic feature variation is used to react to environmental changes and events in a way statically controlled by the programming language. This workshop investigates tools and techniques in support of the aforementioned composition stages, potential implementation and optimisation approaches as well as formalisation and verification techniques.

Workshop Goals

Targeted Audience

Researchers and practitioners concerned with software variability management and composition techniques, in particular those that improve modularity. All contributions that fall within the realm of software variability and composition are encouraged.

Topics of Interest

The workshop is aimed at fostering cross-fertilization of the following areas, always with a view to addressing early and late software variability and composition:

Workshop Format

The workshop will consist of two similar half-day sessions, each session starting with a set of paper presentations, lightning talks, or invited talks, followed by a short plenary discussion to identify topics of interest, and then in-depth breakout group activities based on those topics. Within each breakout group, which could have as little as two people, and as much as the whole audience, all sorts of activities are encouraged: discussions, coding sessions, demonstrations, tutorials, etc. The workshop will be drawn to a close with a last plenary session presenting the conclusions of each group.



Attendees are invited to submit either a regular paper (max. 5 pages) or a short position paper (max. 2 pages). Contributions of various kinds are possible, including technical papers, descriptions of work in progress, and statements of well-argued ideas. Short papers can also propose activities such as moderated debates, coding sessions, tool demonstrations, or any other form of interaction among workshop participants. Accepted papers will be granted a full presentation in the schedule of the workshop.

The papers will be evaluated based on originality, relevance, technical quality and presentation by the workshop program committee and other reviewers they might appoint. To be accepted, contributions should fall within the scope of the workshop and have a minimum quality level, which will be enforced by the program and organizing committees.

Submissions must conform to the publisher guidelines. Accepted regular papers will be published in the ACM Digital Library and included in the electronic conference proceedings of AOSD’12, provided that such papers are not published or considered for publication elsewhere. Due to copyright issues, the papers cannot be published on this workshop website.

Paper submissions and reviews are managed through Easychair. Those who have no Easychair account are invited to first create one.


Attendees are invited to submit an abstract showcasing a research idea, position statement, work in progress, coding session, technical description, tool demonstration, or any other material that can enable interaction with other workshop participants. Accepted abstracts will be granted a lightning talk in the schedule of the workshop.

To be accepted, contributions should fall within the scope of the workshop and have a minimum quality level, which will be enforced by the organising committee. Submitted abstracts must not exceed 1 page in ACM SIGPLAN format.

To let attendees prepare, accepted participation abstracts will appear on the workshop website prior to the workshop date. Abstracts will not be disseminated in any other way.

Participation abstracts can be sent in PDF format to

Important Dates




9:00 Welcome
9:15 Invited talk
  Modularity and Reuse of Virtual Machine Components by Christian Wimmer [slides]
10:15 Work slot
  Discussion sparkled by the invited talk
10:30 Coffee break
11:00 Paper presentation
  Towards Modular Resource-Aware Applications by Malakuti et al. [slides]
11:30 Paper presentation
  Designing With Inheritance and Composition by Alam and Kienzle [slides]
12:00 Work slot
12:30 Lunch
14:00 Paper presentation
  A Per-Type Instantiation Mechanism for Generic Aspects by Toyama et al. [slides]
14:30 Paper presentation
  Feature-Oriented Programming with Family Polymorphism by Takeyama and Chiba [slides]
15:00 Paper presentation
  Configuration of Mechatronic Multi-Product Lines by Brink et al. [slides]
15:30 Coffee break
16:00 Lightning talk
  Reuse of Continuation-Based Control-Flow Abstractions by te Brinke et al. [slides]
16:15 Work slot
  Discussion on feature-oriented programming vs aspect-oriented programming
17:15 Wrap up
17:30 End
19:00 Workshop reception

Work slots are meant for plenary discussions, break-out group work, spontaneous presentations and demonstrations, and any other activity that might be proposed in relation to the ideas presented throughout the day.

Invited talk

Modularity and Reuse of Virtual Machine Components


Modularity is a key concept for large and complex applications and an important enabler for collaborative research. In comparison, virtual machines (VMs) are still mostly monolithic pieces of software. VM code is rarely reused when, for example, implementing a VM for a new language. This makes the process of developing new high-performance languages expensive and tedious. We believe a VM can follow the “everything is extensible” paradigm. This allows VM extensions by third parties, support for multiple languages inside one VM, and a universal VM for mobile devices.

Performance is one of the most important concerns for VMs. Modularity improves flexibility but can introduce an unacceptable performance overhead at the module boundaries, e.g., for inter-module method calls. This overhead needs to be addressed with feedback-directed compiler optimizations so that modularity does not lead to a performance overhead.

Using several case studies, this talk will show how the vision of a modular VM can be realized.

Short biography

Christian Wimmer is a researcher at Oracle Labs, working on the Maxine VM, on the Graal compiler project, as well as on other projects that involve dynamic compilation and optimizations. His research interests span from compilers, virtual machines, and secure systems to component-based software architectures.

He received a Dr. techn. degree in Computer Science (advisor: Prof. Hanspeter Mössenböck) and a Dipl.-Ing. degree in Computer Science, both from the Johannes Kepler University Linz, Austria. Before the time at Oracle, he was a postdoctoral researcher at the Department of Computer Science of the University of California, Irvine. He worked with Prof. Michael Franz at the Secure Systems and Software Laboratory on compiler optimizations, dynamic programming languages, and language-based security.


Organizing committee

Program committee

With the kind support of