Abstract: |
Model-driven software product line engineering is complicated: In addition to defining a variability model,
developers must deal with a multi-variant domain model. To reduce complexity, filtered editing, inspired by
version control, was recently transferred to software product line engineering. On check-out, a single-variant
model is derived based on a configuration of its features. On commit, the representatively applied change is
scoped with the features to which it is relevant. The here considered dynamic editing model involves different
kinds of evolution: The variability model and the domain model are edited concurrently. Features, which define
the workspace contents or the scope of the change, may be introduced or deleted. Furthermore, the scope
of a change may be revised until commit. The dynamism of this filtered editing model raises consistency problems
concerning the evolving relationships between the variability model, the specified configuration, and the
scope of the change. This paper formalizes these constraints and presents consistency-preserving algorithms
for the workspace operations check-out, commit, as well as a new operation, migrate. This way, the evolution
of model-driven software product lines is managed automatically, non-disruptively, and consistently. |