goal of our project consists in building a product line
for SCM systems where features may be combined as
freely as possible.
We have annotated the domain model manually
with features such that elements of the domain model
may be traced back to the feature model. These an-
notations are performed at a coarse-grained level, i.e.,
coarse-grained units such as packages or classes are
decorated with features rather than fine-grained units
such as attributes, associations, methods, parameters,
story patterns, etc. This approach keeps the multi-
variant architecture manageable.
Currently, code is generated for the complete do-
main model supporting all features. A feature con-
figuration is used to fix the parameters passed to the
method which is responsible for creating a server (see
Section 6). While this approach, which has been re-
alized on top of Fujaba, supports flexible selection of
features even at runtime, it also requires to deliver the
code for the complete product line to each individual
customer. This can be avoided by modifying the Fu-
jaba compiler such that only the code for the selected
features is generated (Buchmann and Dotor, 2009).
8 CONCLUSIONS
We presented a model-driven and modular approach
to the development of SCM systems. Furthermore,
we discussed the experiences we have gained so far
in applying model-driven product line engineering to
this application domain. Development of the product
line is still under way. Currently, the domain model
consists of 87 classes and interfaces with 283 meth-
ods. The code base comprises 19,284 lines of (almost
exclusively generated) Java code.
REFERENCES
Antkiewicz, M. and Czarnecki, K. (2004). FeaturePlugin:
Feature modeling plug-in for Eclipse. In Burke, M. G.,
editor, Proceedings of the 2004 OOPSLA Workshop
on Eclipse Technology eXchange (ETX 2004), pages
67–72, British Columbia, Canada. ACM Press.
Buchmann, T. and Dotor, A. (2009). Constraints for a fine-
grained mapping of feature models and executable do-
main models. In Proceedings of the First Interna-
tional Workshop on Model-Driven Product Line En-
gineering (MDPLE 2009), Twente, The Netherlands.
http://www.feasiple.de/workshop en.html.
Buchmann, T., Dotor, A., and Westfechtel, B. (2008).
MOD2-SCM: Experiences with co-evolving models
when designing a modular SCM system. In Proceed-
ings of the 1st International Workshop on Model Co-
Evolution and Consistency Management, Toulouse,
France.
Chang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E.,
and Peterson, A. S. (1990). Feature-oriented domain
analysis (FODA) feasibility study. Technical Report
CMU/SEI-90-TR-21, Software Engineering Institute,
Carnegie Mellon University, Pittsburgh, Pennsylva-
nia.
Collins-Sussman, B., Fitzpatrick, B. W., and Pilato, C. M.
(2004). Version Control with Subversion. O’Reilly &
Associates, Sebastopol, California.
Kov
ˆ
se, J. (2005). Model-Driven Development of Version-
ing Systems. PhD thesis, University of Kaiserslautern,
Kaiserslautern, Germany.
Object Management Group (2007). OMG Unified Model-
ing Language (OMG UML), Infrastructure, V 2.1.2.
Needham, Massachusetts, formal/2007-11-04 edition.
Pohl, K., B
¨
ockle, G., and van der Linden, F. (2005). Soft-
ware Product Line Engineering: Foundations, Princi-
ples and Techniques. Springer, Berlin, Germany.
Steinberg, D., Budinsky, F., Paternostro, M., and Merks,
E. (2009). EMF Eclipse Modeling Framework. The
Eclipse Series. Addison-Wesley, Upper Saddle River,
NJ, 2nd edition.
Tichy, W. F. (1985). RCS – A system for version control.
Software: Practice and Experience, 15(7):637–654.
van der Lingen, R. and van der Hoek, A. (2003). Dissecting
configuration management policies. In (Westfechtel
and van der Hoek, 2003), pages 177–190.
Vesperman, J. (2006). Essential CVS. O’Reilly & Asso-
ciates, Sebastopol, California.
Westfechtel, B. and van der Hoek, A., editors (2003). Soft-
ware Configuration Management: ICSE Workshops
SCM 2001 and SCM 2003, LNCS 2649, Portland,
Oregon. Springer.
White, B. A. (2003). Software Configuration Management
Strategies and Rational ClearCase. Object Technol-
ogy Series. Addison-Wesley, Reading, Massachusetts.
Whitehead, E. J., Ge, G., and Pan, K. (2004). Automatic
generation of hypertext system repositories: a model
driven approach. In 15th ACM Conference on Hy-
pertext and Hypermedia, pages 205–214, Santa Cruz,
CA. ACM Press.
Whitehead, E. J. and Gordon, D. (2003). Uniform com-
parison of configuration management data models. In
(Westfechtel and van der Hoek, 2003), pages 70–85.
Zeller, A. and Snelting, G. (1997). Unified versioning
through feature logic. ACM Transactions on Software
Engineering and Methodology, 6(4):397–440.
Z
¨
undorf, A. (2001). Rigorous object oriented software de-
velopment. Technical report, University of Paderborn,
Germany.
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
316