Generative Programming and Component Engineering

Product Line Implementation using Models and Aspects

Markus Voelter, Independent Consultant
Christa Schwanninger, Siemens
Iris Groher, Siemens / University of Linz

Software Product Line Engineering is about implementing families of products that have a lot of parts in common, while differing in a limited set of well-defined ways. Implementing product lines thus deals with reusing artefacts, systematically managing the variability as well as efficiently implementing the products. In this tutorial, we will look at how product line implementation can be made more efficient using model-driven software development and aspect-orientation. This is especially relevant for embedded systems, since they feature a high degree of variability and at the same time need to perform well given a restricted set of resources (as a consequence of per-unit cost). We will cover the following topics:

* Combining modelling languages for customization and configuration * Using model-to-model transformations to formally describe the mapping from problem domain to solution domain * Integrating runtime variability based on models * Handling traceability on model-level * The importance of a powerful platform as a basis for the product line * Developing families of code generators and model transformations * Aspect-oriented modelling as a way of defining variants of models * Using aspect-oriented programming to adapt product code for unexpected variability

This tutorial concentrates on highly pragmatic and usable practices for product line implementation . The introduced concepts are illustrated with a running example (a home automation system) using tools based on Eclipse and openArchitectureWare. For an in-depth introduction to feature models and a broad overview of product derivation techniques, we recommend to visit the tutorial on "Using Feature Models for Product Derivation".

Duration: Half-day

Level: Intermediate

Required Knowledge: Attendees should have a solid understanding of OO, as well as working knowledge on modelling, model-driven software development and aspect orientation.

Speaker Profiles

Markus Voelter is an independent consultant focussing on software architecture, middleware and model-driven software development. He is co-author on the Wiley?s Model-Driven Software Development book, and a regular speaker on these topics at international conferences.

Chista Schwanninger is a senior research scientist at Siemens AG, Munich, Germany. She is a consultant for software architecture and does research in the area of aspect-oriented software development and product line engineering.

Iris Groher is a PhD student at the University of Linz in Austria supported by Siemens AG in Munich, Germany. Her thesis is about the improvement of variability implementation, management, and tracing using aspect-oriented techniques.