object-oriented database support for software environments
Cactis is an object-oriented, multi-user DBMS developed at the University of Colorado. The implementation is self-adaptive and concurrent, and runs in the Unix/C Sun workstation environment. A central, unique focus of Cactis is the support of functionally-defined data in a manner which provides good performance. Cactis is intended for use in applications which are conducive to an object-oriented approach and involve derived data. Such applications include software environments. Cactis supports the construction of objects and type/subtype hierarchies, which are useful for managing the complex and highly-interrelated data found in software environments. Such data types include programs, requirement specifications, milestone reports, configurations, documentation, and many others. Cactis uses techniques based on attributed graphs to ensure that functionally-defined attributes of objects, such as compilation dependencies, cost calculations, and milestone dependencies can be maintained efficiently. Since it is necessary to dynamically add new tools (such as debuggers and compilers) to a software environment, the DBMS allows the user to extend the type structure. The system also supports an efficient rollback and recovery mechanism, which provides the framework for a software version facility.
object object-oriented object-oriented database data support software environments dbms implementation concurrency performance use applications types subtype hierarchies management complexity program requirements specification configurability documentation attributes graph compilation dependencies cost efficiency tools user structure systems recovery version  framework  adapt multi user