1 Introduction
Software configuration management (SCM) has been defined as the discipline of controlling the evolution of complex software systems [1]. Over their lifetime, software objects, such as requirements definitions, designs, program source code, documentations, and test data evolve into many versions. These differ with respect to the underlying operating system, window system, included bug fixes, and change requests. Thus, version management plays a central role in SCM. Versions have to be recorded and restored, the consistency relationships between versions of different objects have to be maintained, and new versions have to be created according to rule-based descriptions.