Premium
Versions in Ode: implementation and experiences
Author(s) -
Lieuwen Daniel,
Gehani Narain
Publication year - 1999
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/(sici)1097-024x(19990425)29:5<397::aid-spe239>3.0.co;2-o
Subject(s) - software versioning , computer science , ode , programming language , flexibility (engineering) , object (grammar) , set (abstract data type) , software engineering , database , software , mathematics , artificial intelligence , statistics
Abstract The Ode object‐oriented database system supports the creation and manipulation of objects with versions. Versioning is orthogonal to type – any object in the database can be versioned at any time, and the same code works on both versioned and non‐versioned instances. Object versioning is supported by many object‐oriented databases (e.g. Gemstone, ObjectStore, Versant). However, the facilities are often complex and may not quite match application requirements. Furthermore, the implementation techniques are not well‐documented. Ode took the approach of designing a minimal set of versioning primitives with which users can specify the exact policy they require. To illustrate the flexibility and power of these versioning facilities, we use them to implement a set of previously suggested versioning capabilities. We describe how these versioning facilities are implemented, and discuss our experience in using them. Copyright © 1999 John Wiley & Sons, Ltd.