Modern software systems for application areas such as software enginee
ring, CAD, or office automation are usually highly interactive and dea
l with rather complex object structures. For the realization of these
systems a nonstandard database system is needed which is able to effic
iently handle different types of coarse- and fine-grained objects (lik
e documents and paragraphs), hierarchical and non-hierarchical relatio
ns between objects (like composition-links and cross-references), and
finally attributes of rather different size (like chapter numbers and
bitmaps). Furthermore, this database system should support incremental
computation of derived data, undo/redo of data modifications, error r
ecovery from system crashes, and version control mechanisms. In this p
aper, we describe the underlying data model and the functionality of G
RAS, a database system which has been designed according to the requir
ements mentioned above. Furthermore, we motivate our central design de
cisions concerning its realization, and report on experiences and appl
ications.