Machiavelli is a statically-typed programming language developed at the University of Pennsylvania. Its most outstanding innovation is the use of conditional typing scheme in its type inference system. It does not address type evolution.
[communication with limsoon@saul.cis.upenn.edu]
[Note: Machiavelli is included in this summary because it previously incorporated persistence in its data model.]
> MOOD4-PC: Material's/Miniature Object-Oriented Database Prototype for NEC/IBM-PC
is an object-oriented database system(OODBS) program developed in the course of our research project MOOD. The aim of the project MOOD is to develop a material database system to handle raw material data which are produced and accumulated in materials research and referred to by material experts when they face scientific or engineering problems where the expected behavior of particular materials in particular environments are crucial importance. We all know that the conventional database systems do not fulfill this requirement, though they serves well for bibliographic databases or fact databases which deals with the standard properties of standard materials.
MOOD4-PC is written in Arity/Prolog and available in source and executable form via anonymous ftp from:
~/pub/mood/mood4 at mood.mech.tohoku.ac.jp [130.34.88.61] ~/pub/database/mood at ftp.uu.net [192.48.96.9]
~/pub/computing/databases/mood at src.doc.ic.ac.uk [146.169.2.1]
Although it is true enough to say that MOOD4 is a general purpose OODBS, it may be appropriate to point out that MOOD4 is significantly different from what is generally meant by the term, the Object-Oriented Database System.
That is, OODBSs, in general, consist of two parts:
(1) Disk storage manager (2) Database language to define and manipulate data objects to be stored to and retrieved from the disk.
The database language of OODBS is akin to the object-oriented programming language such as Smalltalk or C++. You can enjoy the full versatility of these general purpose programming language in writing application programs with the database language.
As apparent from these, OODBSs, in general, are for programmers who write application programs which serve end users' needs. MOOD, on the other hands, is not; it is for end users. It is provided with a user interface named the object editor or OE in short. With OE, we can;
(1) Edit class definition objects and save them. This replaces the data definition language.
(2) Edit data objects and save them.
(3) Create query objects, let the system select data objects which match the queries, and browse them.
In the other words, we can do everything necessary to manage and use database with OE. MOOD, therefore, needs no programming language and, in fact, has none. In this regard, MOOD may better be categorized to the OODBS application.
The architecture of MOOD as such is the consequence of the nature of information to be dealt with in material database. If we describe the nature with a single word, "variety" will be the one most appropriate. No fixed data structure can handle a handful of material data because their contents differ from one to another. The feature of OODBS relevant here is not the intimacy with programming languages but the flexibility of data structure which allows us to construct data objects with a variety of structures which match the variety in the information to be dealt with. Upon inputting and retrieving data objects, end users are forced to face this variety in data structure since significant information is born in the structures of individual representations.
Yet, we say that MOOD is a general purpose OODBS. This is not in the sense that we can develop application programs on it, but in the sense that it generally supports the essential capabilities of OODBS;
(1) The abstract data type.
(2) The nesting of structured data objects.
(3) The class hierarchy.
(4) The inheritance of attributes along the hierarchy.
(5) Matching between objects along their structures with the knowledge of the class hierarchy.
For additional features of MOOD4, please consult its manual available with the program. Although they are biased to the processing of material data (or, more generally, scientific and technical data), MOOD with these capabilities can be used in any application domain at least by the stage where you are to examine how well the pieces of information of interest are represented in OODBS and how well specific items of interest are discriminated out from the database as such.
Questions and suggestions on this software which are ever welcome indeed may be addressed to; Noboru Ono Dept. of Machine Intelligence and Systems Engineering, Faculty of Engineering, Tohoku University. Tel:++22-216-8111, Fax:++22-216-8156, E-mail:ono@mood.mech.tohoku.ac.jp
This document was translated by ms2html v1.8 on 04.06.96.