Go up. Go to department page.

Software Configuration Management in an Integrated Environment

LU-CS-TR:90-52

A. Gustavsson

Licentiate thesis, Lund University, Lund, Sweden, 1990.

Abstract

In this thesis the needs and the demands on a storage model for integrated and incremental programming environments supporting large programs are discussed and a storage model, designed to support those needs and demands, is proposed.

The storage model is tree structured and allows the program to be stored on a block basis, thus each component of the block is individually accessible and retrievable. This makes it possible to choose the granularity of the block components in accordance with the access patterns of the tools in the environment, e.g. the access patterns of the semantic analyser and the code generator. Syntax trees, symbol tables, documentation, generated code and different types of status information such as window positions are examples of different components that may be identified and stored as individual data objects.

In an integrated and incemental programming environment semantic information must be stored between sessions. In order to reduce the need of large disk space, one of the two proposed implementations supports delta storage. Using this implementation, the deltas are defined in terms of the storage model, rather than in terms of the stored information. The advantage of this approach is that the grain of a delta equals the chosen granularity of the block components.

Software configuration management support is another important aspect related to the storage of information in integrated environments. We will discuss software configuration management by emphasizing the organization of software objects according to three different aspects; evolution, membership and composition. The concept of a version controlled program base object is introduced. Different specializations of the program base object makes it possible to maintain source objects and to support organization of software objects by membership and by composition in a uniform way. Using this classification of software objects, all information maintained within an environment will be maintained uniformly and future extensions of the software configuration management functionality may be easily introduced.

The work has been carried out as a part of the Mjolner project. The Mjolner/ORM environment has throughout the project been used to motivate the ideas in this thesis, as well as for integrating and evaluating the results.