No Prev Next Up Home Keys Figs Search New

Aditi

Appeared in Volume 6/1, February 1993

Keywords: databases.

The Aditi Deductive Database System is a multi-user deductive database system being developed by the Machine Intelligence Project of the Univ. of Melbourne, Australia, located at the Collaborative Information Technology Research Institute (CITRI), Melbourne.

The system is now ready for beta-level testing, and we are looking for sites to assist us in this. The system is currently available for SUN SPARC-based machines running SunOS 4.1.2 or higher and Silicon Graphics Power series multiprocessor machines running IRIX 4.0 or higher.

If you would like to be one of these sites, send email to:
aditi@cs.mu.oz.au

We envisage the system being used as a teaching aid, a research tool or as an application development tool and we would like to have a mixture of such sites to fully test the system. We therefore ask that you outline briefly the purposed use of the system. Groups currently using Prolog and requiring better database support may find Aditi quite useful in this regard.

For those wondering, Aditi is the name of an Indian Goddess.

A brief overview of Aditi

Aditi is a multi-user deductive database system. It supports base relations defined by facts (relations in the sense of relational databases) and derived relations defined by rules that specify how to compute new information from old information. The old information can be from derived relations as well as base relations; the rules of derived relations may be recursive. Both base relations and the rules defining derived relations are stored on disk and are accessed as required during query evaluation. Users may ask queries on relations without knowing whether they are base or derived. This allows seamless integration between rules and data. There is no restriction on the number of rules in the database and how they invoke each other. This allows complex rule systems to be built up quickly from smaller re-usable components.

The rules defining derived relations are expressed in a Prolog-like language, which is also used for expressing queries. Aditi supports the full structured data capability of Prolog. Base relations can store arbitrarily nested terms, for example arbitrary length lists, and rules can directly manipulate such terms.

Base relations contain variable sized records, and can be indexed with B-trees or multi-level signature files (superimposed code words) allowing multi-attribute indexing and querying; base relations can also be stored as unindexed flat files. Query evaluation makes use of whatever indexing is available to ensure efficient computation of answers.

Users can access the system through a Motif-based query and database administration tool, or through a command line interface. There is also in interface that allows NU-Prolog programs to access Aditi in a transparent manner. Deductive database support can thus be added to existing Prolog applications with minimum change.

Relations and rules in external databases are shared among all applications. Updates (insertions and deletions) can be performed through all Aditi's user interfaces. Appropriate concurrency control methods are employed to ensure that data is not corrupted through simultaneous updates. Proper transaction processing is not supported in this release but is being implemented for the next release.

The development of the Aditi system was started in 1988 by Professor Kotagiri Ramamohanarao, and many people have been involved in its development since, in particular Jayen Vaghani, Tim Leask, Peter Stuckey, John Shepherd, Zoltan Somogyi, James Harland and David Kemp. The support of Kim Marriott, David Keegel, and Warwick Harvey is also acknowledged.

Jayen Vaghani
Dept. of Computer Science
Univ. of Melbourne, Australia
Tel: +61 3 282 2481
Email: jayen@cs.mu.oz.au
No Prev Next Up Home Keys Figs Search New