The EYEDB Object Definition Language (ODL) is a specification language
to define the specifications of object types based on the ODMG ODL (but not compliant).
ODL 1 is not intended to be a full programming language. It is a definition language for object specifications. Database management systems traditionally provide facilities that support data definition (using a Data Definition Language (DDL)). The DDL allows users to define their data types and interfaces while the Data Manipulation Language (DML) allows to create, delete, read update instances of those data types.
ODL is a DDL for objects types. If defines the characteristics of types, including their properties and operations. ODL defines only the signatures of operations defined in C++ and does not address definitions of the methods that implements those operations. Operations defined in OQL can be defined in the ODL.
ODL is intended to define object types that can be implemented in a variety of programming languages. Therefore, ODL is not tied to the syntax of a particular programming language.
EYEDB ODL differs from ODMG ODL from several points: