Modeling the configuration management process

Software configuration management (SCM) is the discipline of controlling the evolution of complex software systems (78). In the future, SCM systems will need to provide uniform, integrated and adaptable support for the (1) composition, (2) analysis, and (3) manufacture of software systems. Before engineering such systems, analysis is needed to investigate and delineate the potential interactions occurring between these tasks. The goal of composition, given that incompatible versions and variants of software components exist, is to produce a configuration--an object that specifies the consistent set of software objects, and their dependencies, needed to produce the product. The goal of analysis is to ensure that semantic and pragmatic properties hold for the system requested. The goal of manufacture is to produce an optimized plan for product production and then to carry out that plan. Modeling the SCM process is important--it provides a conceptual framework for understanding the task being modeled. It is an abstraction mechanism that focuses on important issues, allows for the separation of concerns, and helps clarify potential interrelationships. In this thesis, the Graph Transformation (GT) model for the SCM process is presented. The model describes the process that begins with a software product request, and terminates when the product is made available. The GT model distills this process into five graph transformations: Compose, Refine, Merge, Schedule and Build. Because the GT model captures the entire SCM process, it makes explicit the complex interactions that occur between these transformations when solving common real-world problems. The GT model generalizes and unifies concepts found in existing SCM systems. It is capable of describing systems that support either static or dynamic constraint-based configuration construction. It also models SCM systems that support both complex consistency predicates and dynamic scheduling in the manufacture of a product described by a configuration. Four existing SCM systems, Make, DSEE, Adele and Odin, are described as instances of the GT model. This is accomplished by characterizing the important semantic entities of each system and the "process program" (a sequence of GT graph transformations) that captures the SCM process each supports.