Authors:
Felix Schwägerl
and
Bernhard Westfechtel
Affiliation:
University of Bayreuth, Germany
Keyword(s):
Model-driven Software Engineering, Software Product Line Engineering, Version Control, Filtered Editing.
Related
Ontology
Subjects/Areas/Topics:
Agile Model-Driven Development
;
Applications and Software Development
;
Languages, Tools and Architectures
;
Methodologies, Processes and Platforms
;
Model-Driven Software Development
;
Reasoning about Models
;
Software Engineering
;
Software Factories and Software Product Lines
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 chan
ge. 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.
(More)