APPENDIX A: Candidate OODBs
A.1 GRAS
The GRAS system, developed at the Technical University of Aachen, is a
public domain OODB which uses a graph oriented data model. It provides:
- typed, attributed nodes;
- typed, directed edges;
- temporary/volatile generic sets, relations and lists;
- declaration of graph schemes and incremental evaluation of derived
attributes;
- nested transactions with commit, undo and redo operations;
- concurrency control and error recovery;
- version control;
- C language API.
The graph schemes are similar to CONNEKT's network consistency
models (NCMs), in specifying inheritance hierarchies and the syntactic
properties of graphs, such as which types of nodes can be connected
by each type of edge.
All these features make GRAS almost perfectly suited for use by CONNEKT
in PLINTH, but unfortunately it has one limitation: edges are not
first-class objects in GRAS, and it is not possible to attach attributes
to them, as CONNEKT requires. However, attributed links can be
simulated by using nodes to represent links, i.e. instead of
node-edge-node
chains with a variety of edge types, we would have
node-from-linknode-to-node
where from and to are the only edge types allowed. The only
drawback with this solution is that the built-in graph scheme syntax
facilties become much less directly useful to CONNEKT. However, since
most OODBs don't even use a graph model at all, GRAS is still a very
good candidate for use in PLINTH, and some preliminary experiments with
providing a Pop11 API to it have been done already.
Reference
Kiesel, N., A. Schuerr and B. Westfechtel (1992):
Design and Evaluation of GRAS, a Graph-Oriented Database System
for Engineering Applications.
Lehrstuhl für Informatik III, Technical University of Aachen.
A.2 OBST
A.3 Ode
A.4 Kala