tween domain engineering, where a platform and a
variability model are defined, and application engi-
neering, where variability is resolved to automatically
derive specific products. In contrast, in VC, software
is developed iteratively. SuperMod bridges this gap
by transferring VC metaphors to SPLE. For the selec-
tion of versions during check-out and commit, feature
configurations are specified in addition to a selection
among the revision graph. The mapping between the
platform and the variability model is managed auto-
matically.
In a running example, where a product line of
graph domain models has been developed, we have
demonstrated many advantages of the VC/SPLE in-
tegration. Due to the filtered editing model, the ver-
sioning overhead is notably small when compared to
existing SPLE approaches. For workspace modifica-
tions, the developer is not restricted by single-version
constraints. Furthermore, a familiar development en-
vironment can be used. Intensional version specifi-
cation allows for the definition of feature configura-
tions as version descriptions. These advantages are
boosted by using models as higher-level descriptions
of the versioned software system.
Future work will address the development of a
multi-user component, which will advance SuperMod
to a full-fledged distributed VCS. The evolution of the
feature model will be subject to research. Further-
more, a detailed evaluation against SPLE tools will be
conducted, using a real-world example. The obtained
results will be important to understand the impact of
the filtered SPL editing model on the underlying de-
velopment processes and tool chains.
TOOL AVAILABILITY
The research prototype SuperMod is available as a set
of Eclipse plug-ins under the Eclipse Public License.
The plug-ins may be installed into a clean Eclipse
Luna Modeling distribution using the following up-
date site (Help — Install new Software):
http://btn1x4.inf.uni-bayreuth.de/
supermod/update
In order to reproduce the example provided in
this paper, at least the items SuperMod Core and
SuperMod Revision+Feature Layered Version Model
should be selected for installation.
After having installed the plug-ins, SuperMod
version control may be added to arbitrary Eclipse
projects using the operation Team — Share Project
and selecting the SuperMod repository connector. Af-
ter that, the operations Team — Commit and Team
— Update/Switch are available in order to communi-
cate with the locally persisted repository. The feature
model may be edited by Team — Edit Version Space.
REFERENCES
Altmanninger, K., Seidl, M., and Wimmer, M. (2009). A
survey on model versioning approaches. Interna-
tional Journal of Web Information Systems (IJWIS),
5(3):271–304.
Apel, S. and K
¨
astner, C. (2009). An overview of feature-
oriented software development. Journal of Object
Technology, 8(5):49–84.
Buchmann, T. (2012). Valkyrie: A UML-based model-
driven environment for model-driven software engi-
neering. In Hammoudi, S., van Sinderen, M., and
Cordeiro, J., editors, Proceedings of the 7th Interna-
tional Conference on Software Paradigm Trends (IC-
SOFT 2012), pages 147–157. SCITEPRESS Science
and Technology Publications, Portugal.
Buchmann, T. and Schw
¨
agerl, F. (2012). FAMILE: tool
support for evolving model-driven product lines. In
St
¨
orrle, H., Botterweck, G., Bourdells, M., Kolovos,
D., Paige, R., Roubtsova, E., Rubin, J., and Tolvanen,
J.-P., editors, Joint Proceedings of co-located Events
at the 8th European Conference on Modelling Foun-
dations and Applications, CEUR WS, pages 59–62,
Building 321, DK-2800 Kongens Lyngby. Technical
University of Denmark (DTU).
Chacon, S. (2009). Pro Git. Apress, Berkely, CA, USA, 1st
edition.
Clements, P. and Northrop, L. (2001). Software Product
Lines: Practices and Patterns. Boston, MA.
Collins-Sussman, B., Fitzpatrick, B. W., and Pilato, C. M.
(2004). Version Control with Subversion. O’Reilly,
Sebastopol, CA.
Conradi, R. and Westfechtel, B. (1998). Version models for
software configuration management. ACM Computing
Surveys, 30(2):232–282.
Czarnecki, K. and Kim, C. H. P. (2005). Cardinality-based
feature modeling and constraints: a progress report.
In International Workshop on Software Factories at
OOPSLA’05, San Diego, California, USA. ACM.
Gomaa, H. (2004). Designing Software Product Lines with
UML: From Use Cases to Pattern-Based Software Ar-
chitectures. Addison-Wesley, Boston, MA.
Heidenreich, F., Kopcsek, J., and Wende, C. (2008). Fea-
tureMapper: Mapping Features to Models. In Com-
panion Proceedings of the 30th International Confer-
ence on Software Engineering (ICSE’08), pages 943–
944, New York, NY, USA. ACM.
Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E.,
and Peterson, A. S. (1990). Feature-oriented do-
main analysis (FODA) feasibility study. Technical Re-
port CMU/SEI-90-TR-21, Carnegie-Mellon Univer-
sity, Software Engineering Institute.
K
¨
astner, C., Trujillo, S., and Apel, S. (2008). Visualizing
software product line variabilities in source code. In
SuperMod—AModel-DrivenToolthatCombinesVersionControlandSoftwareProductLineEngineering
17