Change Theory and Multi-Dimensional Version Control

Project Description

Creating and maintaining different versions of structured objects is an important part of the software development process. In addition to managing revisions to programs and their associated documents over time, it is often necessary to maintain multiple concurrent variations of these objects. Sometimes these variations represent a short-term exploration of alternatives, while other variations are permanent and require long-term maintenance.

While existing revision control and configuration management systems support maintenance of versions in the time dimension well, they offer only minimal support for a second dimension via branching, and do not provide general support for multiple dimensions. Multi-dimensional version control supports both short-term exploration of alternatives and long-term maintenance of multiple variations of structured objects.

The goal of this project is to develop a theory of change for structured objects that provides principles for sound change management and serves as a foundation for more sophisticated versioning tools. The idea of multi-dimensional versioning is describe in this paper.

Draft Papers

Multi-Dimensional Version Control, Martin Erwig and Eric Walkingshaw
Draft paper, 2008


last change: February 05, 2009 Martin Erwig  erwig@eecs.oregonstate.edu