Generic software configuration management: theory and design
Douglas J. Wiebe · 1990
This dissertation addresses the software configuration management (SCM) issues of classification, versioning, validation and building. Existing SCM systems usually hardwire particular design decisions on these issues into their implementations. This hardwired approach leads to inflexible and non-adaptive SCM tools. Generic SCM is proposed here as a solution to the problems of hardwired SCM systems. A generic SCM system lets users make decisions on the basic SCM issues and thereby tailor the behavior of the generic SCM system. The dissertation describes a particular generic SCM system called Jason. Jason users specify classes of objects and configurations, families of versions, configuration consistency constraints and build plans. These specifications act as schemas for software objectbases that contain the actual software objects and configurations. Thus Jason users control the way in which Jason organizes and manages software objects. The dissertation defines an algebraic model of generic SCM that provides the theoretical basis for Jason. This model gives precise mathematical definitions for the SCM concepts of software objects, classes, configurations, objectbases, families, versions, version selection, consistency checking and building. The algebraic model applies and extends concepts from the fields of universal algebra and model theory. A prototype Jason implementation compiles user-written schemas into programs that implement classes, families and constraints. Experience with the prototype indicates that the Jason design performs well in practical applications.