Tools

by
John Plaice, William W. Wadge
- IEEE Transactions on Software Engineering, 1993

"... We present a new approach to the control of versions of software and other hierarchically structured entities. Any part of a system, from the smallest component to a complete system, may exist in different versions. The set of all possible versions under the refinement relation forms a partial or ..."

We present a new approach to the control of versions of software and other hierarchically structured entities. Any part of a system, from the smallest component to a complete system, may exist in different versions. The set of all possible versions under the refinement relation forms a partial order (in fact, a lattice). The fact that version V approximates version V in this order means that V is relevant to V in this sense: when constructing version V of a system, we can sometimes use version V of a component if nothing more appropriate is available. More precisely, a particular version of an entire system is formed by combining the most relevant existing versions of the various components of the system. We call this the variant structure principle; it makes precise the idea that components of a given version of the system can be inherited by more refined versions of the system.

"... This paper describes an `external' approach to adding modules to C. The Sloth system consists of a simple scheme for representing C modules as Unix directories, together with shell commands for building and modifying modules and for configuring applications. Sloth modules have procedure definit ..."

This paper describes an `external&apos; approach to adding modules to C. The Sloth system consists of a simple scheme for representing C modules as Unix directories, together with shell commands for building and modifying modules and for configuring applications. Sloth modules have procedure definitions, local and exportable declarations, initialization routines and import lists. The Sloth configuration command takes care of all the routine bookkeeping, such as collecting indirectly needed modules, keeping .o files up-to-date (using the standard compiler), generating #includes and ensuring that initializations are performed once each and in an acceptable order. The main weakness is that Sloth is unable to enforce information hiding between modules