Tech Report CS-94-45

Configuration Management in terms of Modules

Yi-Jing Lin and Steven P. Reiss

May 1995


Modern programming languages support constructs like functions and classes that let programmers decompose source programs into modules. However, existing programming environments do not allow programmers to handle configuration management directly with them. Instead, system building and version control are usually handled with different decomposition structures. The modules used in configuration management do not always match the modules in the source code. This is both inconvenient and error-prone, since there is a gap between handling the source code and managing the configurations.

In this research we propose a framework for programming environments that handles configuration management directly in terms of the modules in the source code. We define the operations required for this purpose, study their semantics, and find a general strategy to support them. We show that with the ability to handle a large module as a single unit, software reuse and cooperative programming becomes easier. We also design and implement a prototype environment to verify our ideas.

(complete text in pdf or gzipped postscript)