Department of Electrical and Computer Engineering


Product Versioning Model

Figure 1. Product Versioning Model

A version in Molhado is global across entire software project and is a point in a tree-structured discrete time
abstraction. All system objects are versioned in a uniform, global version space across a software project, called product versioning space. That is, Molhado emphasizes the evolution of the system as a whole. In our version model, the state of the whole software system is captured at certain discrete time points and only these captured versions can be retrieved in later sessions. The current version is the version designating the current state of the project. When a particular version is set to be current, the state of the whole project is set back to that version. Changes made to the project at the current version create a temporary version, branching off the current version. That temporary version will only be recorded if the user explicitly requests that it be captured. To record the history of an individual object, the whole project is captured. Capturing the whole project is quite efficient because the Fluid IR only records changes and works at the slot level.