next up previous contents
Next: Versioned Attributes Up: THE OBJECT-PROTOCOL MODEL Previous: Update Rules

Versions

Versions are needed in various applications for representing alternatives or for recording historic information.

OPM versioning constructs follow the attribute versioning concept of [Sciore 94]. The following design and implementation issues have been considered for OPM versioning constructs:

  1. Version control. Each versioned object is associated with versioning information, such as version number, predecessor versioned object, etc. In OPM, automatically generated system attributes are used for such purpose.

  2. Version consistency. Inheritance in class hierarchies may lead to version conflicts. In order to avoid such conflicts or inconsistencies, OPM imposes certain rules for specifying class structures involving versioned attributes and for managing versioned data.

  3. Update propagation. In OPM, updates are carried out by update methods that are automatically generated for classes with versioned attributes. Restrictions imposed in OPM ensure unambiguous updates.