RCS—a system for version control
Software—Practice & Experience
Concepts in configuration management systems
SCM '91 Proceedings of the 3rd international workshop on Software configuration management
The Adele configuration manager
Configuration management
Unified versioning through feature logic
ACM Transactions on Software Engineering and Methodology (TOSEM)
Version models for software configuration management
ACM Computing Surveys (CSUR)
Software product-line engineering: a family-based software development process
Software product-line engineering: a family-based software development process
Software configuration management strategies and Rational ClearCase: a practical introduction
Software configuration management strategies and Rational ClearCase: a practical introduction
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Software product lines: practices and patterns
Software product lines: practices and patterns
Uniform comparison of data models using containment modeling
Proceedings of the thirteenth ACM conference on Hypertext and hypermedia
Model Driven Architecture: Applying MDA to Enterprise Computing
Model Driven Architecture: Applying MDA to Enterprise Computing
FORM: A feature-oriented reuse method with domain-specific reference architectures
Annals of Software Engineering
A Unified Framework for Cohesion Measurement in Object-OrientedSystems
Empirical Software Engineering
A Layered Architecture for Uniform Version Management
IEEE Transactions on Software Engineering
The Unified Extensional Versioning Model
SCM-9 Proceedings of the 9th International Symposium on System Configuration Management
Version Control With Subversion
Version Control With Subversion
An Experimental, Pluggable Infrastructure for Modular Configuration Management Policy Composition
Proceedings of the 26th International Conference on Software Engineering
FeaturePlugin: feature modeling plug-in for Eclipse
eclipse '04 Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Model-Driven Software Development: Technology, Engineering, Management
Model-Driven Software Development: Technology, Engineering, Management
FeatureMapper: mapping features to models
Companion of the 30th international conference on Software engineering
The BigLever Software Gears Unified Software Product Line Engineering Framework
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Modeling and Building Software Product Lines with Pure: :Variants
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Pro Git
IBM Systems Journal
Mercurial: The Definitive Guide
Mercurial: The Definitive Guide
Software architecture and software configuration management
SCM'01/SCM'03 Proceedings of the 2001 ICSE Workshops on SCM 2001, and SCM 2003 conference on Software configuration management
Uniform comparison of configuration management data models
SCM'01/SCM'03 Proceedings of the 2001 ICSE Workshops on SCM 2001, and SCM 2003 conference on Software configuration management
Dissecting configuration management policies
SCM'01/SCM'03 Proceedings of the 2001 ICSE Workshops on SCM 2001, and SCM 2003 conference on Software configuration management
Mapping features to models: a template approach based on superimposed variants
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Feature models, grammars, and propositional formulas
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
AGTIVE'11 Proceedings of the 4th international conference on Applications of Graph Transformations with Industrial Relevance
The source code control system
IEEE Transactions on Software Engineering
FOSD '12 Proceedings of the 4th International Workshop on Feature-Oriented Software Development
Hi-index | 0.00 |
Context: Software Configuration Management (SCM) is the discipline of controlling the evolution of large and complex software systems. Over the years many different SCM systems sharing similar concepts have been implemented from scratch. Since these concepts usually are hard-wired into the respective program code, reuse is hardly possible. Objective: Our objective is to create a model-driven product line for SCM systems. By explicitly describing the different concepts using models, reuse can be performed on the modeling level. Since models are executable, the need for manual programming is eliminated. Furthermore, by providing a library of loosely coupled modules, we intend to support flexible composition of SCM systems. Method: We developed a method and a tool set for model-driven software product line engineering which we applied to the SCM domain. For domain analysis, we applied the FORM method, resulting in a layered feature model for SCM systems. Furthermore, we developed an executable object-oriented domain model which was annotated with features from the feature model. A specific SCM system is configured by selecting features from the feature model and elements of the domain model realizing these features. Results: Due to the orthogonality of both feature model and domain model, a very large number of SCM systems may be configured. We tested our approach by creating instances of the product line which mimic wide-spread systems such as CVS, GIT, Mercurial, and Subversion. Conclusion: The experiences gained from this project demonstrate the feasibility of our approach to model-driven software product line engineering. Furthermore, our work advances the state of the art in the domain of SCM systems since it support the modular composition of SCM systems at the model rather than the code level.