Issue No. 03 - March (1993 vol. 19)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.221137
<p>A method for controlling versions of software and other hierarchically structured entities is presented. Using the variant structure principle, a particular version of an entire system is formed by combining the most relevant existing versions of the various components of the system. An algebraic version language that allows histories (numbered series), subversions (or variants), and joins is described. It is shown that the join operation is simply the lattice least upper bound and together with the variant structure principle, provides a systematic framework for recombining divergent variants. The utility of this approach is demonstrated using LEMUR, a programming environment for modular C programs, which was developed using itself. The ways in which this notion of versions is related to the possible world semantics of intensional logic are discussed.</p>
version control; hierarchically structured entities; variant structure principle; algebraic version language; numbered series; subversions; join operation; lattice least upper bound; systematic framework; divergent variants; LEMUR; programming environment; modular C programs; world semantics; intensional logic; configuration management; formal languages; formal logic; programming environments
J. Plaice and W. Wadge, "A New Approach to Version Control," in IEEE Transactions on Software Engineering, vol. 19, no. , pp. 268-276, 1993.