1/17/2000 9:30am-11:30am ECOT 831
|
A Reusable, Distributed Repository for Configuration Management Policy Programming
Computer Science PhD Candidate
Although the number and variety of available configuration management (CM)
systems has grown rapidly in the past few years, the need to construct new CM
systems remains. The desire to manage different kinds of artifacts other than
source code, situations demanding highly specialized solutions, and the
exploration of new research questions all may require the construction of a
novel CM system. Unfortunately, in the face of today's move towards distributed
projects, this is becoming an increasingly daunting task for which existing CM
technology provides little to no support.
This dissertation contributes a novel reusable testbed that supports the rapid
development of -- potentially distributed -- prototype CM systems. The testbed
separates CM repositories from CM policies by providing a generic model of a
distributed repository and an associated programmatic interface. Together, the
repository model and programmatic interface stipulate a precisely defined
abstraction layer upon which specific CM policies are built. In particular,
CM policies are programmed as unique extensions to the interface, while the
underlying distributed repository is reused across different policies. Within
the abstraction layer, distribution is isolated. Low-level details of
distributed programming are placed within the implementation of the repository
model whereas distribution aspects that are controlled at the policy
programming level are placed in a separate, orthogonal functional category
within the programmatic interface.
Two tangible benefits result from the use of the reusable testbed. First, the
effort required in constructing prototype CM systems is reduced significantly
because the generic repository is reused and the CM policy is easily
implemented. Second, the rapid exploration of new CM policies is enabled,
leading to the creation of unique CM policies that are tailored to specific
situations.
The testbed is evaluated abstractly, by mapping ten CM policies onto the
repository model and programmatic interface. Additionally, it is evaluated
concretely through the use of a prototype, called NUCM, upon which three novel
CM policies are implemented. Demonstrating the expressiveness, feasibility,
utility, and validity of the testbed, these policies are characterized by their
rapid development, ease of change, incremental evolution, and seamless
distributed operation.
|