Integration of configuration management (CM) tools into software development environments raises the need for CM models to interoperate through a unified CM model. We present the version set model, where versions, components, and aggregates are grouped into sets according to their features, using feature logic as a formal base to denote sets and operations and deduce consistency. Version sets generalize well-known CM concepts such as components, repositories, workspaces, aggregates, or configurations. Arbitrary revision/variant combinations of components and aggregates are modeled in a uniform and orthogonal way.
We show how the concepts of four central configuration management models -- the checkin/checkout model, the change set model, the composition model, and the long transaction model -- are encompassed and extended by the version set model, making it a unified basis for modeling, realizing and integrating configuration management tasks. Finally, some conditions for efficient realization are identified, based on our practical experience with the configuration management tool ICE. Although the described operations generally res ... mehrult in exponential time complexity, it turns out that the discussed CM models can be realized and combined without loss of efficiency.