The library consists of information on
the reference and alternative schemas, where this information includes:
a schema name and description including a brief statement of the
purpose of the schema;
alternative representations of the schema using different notations,
such as plain text (ascii) and diagrams;
names and location of alternative views of the schema;
names and location of schemas of related (foreign) databases
as well as a description of the relationship;
specification of schema clusters, where each cluster
involves classes and/or other clusters defined in the schema;
class definitions, where each class definition includes
a class name, description, and (optional) properties;
synonyms for the modeled concept;
examples of class instances;
a list of attribute definitions, where each attribute definition
includes an attribute name, description,
and the specification of a value class or attribute derivation;
name and location (schema) of similar (possibly different) classes;
links to related classes in other (foreign) databases;
alternative representations for the class using other data models, such
as the relational and Extended Entity-Relationship (EER) models.
The schema library is related to a database directory
consisting of information on databases, such as:
a database name and description including a brief statement of the
purpose of the database;
the database management system (DBMS) underlying the database,
the server hosting the DBMS,
access information (e.g., user id, password) for the database;
the main schema associated with the database.
Creating and Maintaining the Library
The following tools have been used for constructing the schema library:
genlib was used for generating the html files containing
the various parts of the directory and library: genlib takes as input an
OPM data file consisting of names and locations of all OPM schemas
to be included into the directory and library,
and employs several utilities
for generating the relational, ER, and ASN.1 representations for
the OPM schema components;
opm2tex was used for converting the OPM schema to a LaTex document
and then Latex was used for generating the document in postscript format;
opm2diag was used for representing the OPM classes diagrammatically
and for generating a postscript containing the OPM schema diagrams.
If one of the schemas in the library changes, the entire library
can be re-generated using genlib.
An OPM schema is stored as an ASCII file
and can be created and/or modified using:
a graphical OPM Schema Editor (Unix X-windows based);
any text editor directly on the ASCII file;
retrofitting tools that can be employed for re-engineering existing
relational (e.g., Sybase, Oracle) database or ASN.1 file defintions.
Viewing Schemas in the Library
The Library provides currently three ways to view or browse a schema:
hypertext based browsing of the schema in four different representations
using a Web browser (e.g., Netscape);
graphical browsing of the OPM schema represented diagrammatically
using the Java based OPM Schema Browser;
downloading of files representing the schema in various formats and notations.
Future Plans
In future, we plan to enhance genlib
with facilities supporting incremental modifications
of the library when one of the schemas in the library changes or
new schemas are added to the library. For the latter, we will also
provide a Web based interface that will allow documenting the
relationships between a newly added schema and existing schemas
in the library.