d i g i t a l SRC Research Report 107

The Vesta Language for Configuration Management


Christine B. Hanna, Roy Levin

June 14, 1993
60 pages

Current approaches to software configuration management and system building do not scale up to support large-scale software engineering; common practice involves numerous stopgap measures to work around this shortcoming. The Vesta system is designed to eliminate this problem, by providing (1) a language designed to support complete, concise system descriptions and (2) a novel caching mechanism that permits efficient system building.

The Vesta system uses a functional programming language to describe configurations. This language provides the flexibility and power needed to describe large software components. The system descriptions are specific and complete, and include all of the sources that are used to build the system and all of the instructions that tell how the sources are composed. Only information written down in the description can influence construction of the system. Nevertheless, the descriptions are concise and easy to read and write.

The language evaluator caches the results of evaluating function applications, which are the expensive operations in the Vesta language. Caching in Vesta is automatic and persistent. Because the language is functional and there are no side-effects, caching is conceptually straightforward. Vesta caches the result of all function applications--from those at the leaves (e.g., compiling one source file), to those in the middle (e.g., packaging up a library), all the way to the top. Caching function applications at all levels permits Vesta to build and rebuild large software systems efficiently.

Back to the SRC Research Reports main page.


Download report as: