In order for an individual or group's domain knowledge to be an input into IDIMS, there needed to be a method of specifying the domain knowledge to the mediation system. ODMG's Object Definition Language (ODL) was extended to provide a highly dynamic method for domain definitions to IDIMS. It is important to note that each mediator and wrapper subsystem within IDIMS must have its own ODL specification. This is necessary because each wrapper has its domain focused on one specific view of one data source, while the mediator's domain is the integrated view of all its underlying wrappers. The mediator's ODL describes the domain that will be available to the user application subsystem.
Once a subsystem's domain has been described in terms of ODL, the subsystem can access its specific ODL specification to create its internal domain representation. A subsystem's internal domain representation is referred to as its Semantic Model.
2.1 Object Definition Language (ODL)
ODMG originally conceived of ODL in order to provide interoperability between object-oriented databases (OODBs) by enabling the specification of classes of objects. Since IDIMS was designed to utilize virtual OODBs within its mediator and wrapper subsystems, ODL provided an ideal way of describing the objects to be exchanged between the IDIMS subsystems.
ODL provides a mechanism to declare a class of objects. Each of these classes will have a set of attributes, functions, and/or relationships. Attributes represent the data of a class; relationships represent how one or more classes relate to each other; and functions provide a means for additional data abstraction, processing, and manipulation.
IDIMS required some extensions to ODMG ODL. These extensions include the following:
Each IDIMS mediator and wrapper subsystem must have facilities to understand the objects and attributes supported for its given domain. This knowledge is specified in each subsystem's specific ODL. The mediator subsystem ODL is referred to as Mediator ODL (MODL) and the wrapper subsystem ODL is referred to as Wrapper ODL (WODL) . The MODL specification provides the integrated domain view. The main purpose of the WODL is to specify mappings from the integrated domain view to specific fields within its associated data source. Moreover, we provide a simple interpreted language to allow data field transformations, such as enumerated data type conversions, unit conversions and field concatenation.
Using ODL for domain definitions is the key to the IDIMS' solution for heterogenous data access and integration issues for a variety of domains. To use IDIMS for a completely new domain, only new ODL files are needed. The underlying code does not change; only the knowledge about the specific domain changes. The ODL specification also provides the capability to dynamically alterknowledge within a domain. An ODL specification can be changed and the next time the subsystem is activated, the new ODL specification is used.
Figure 2 provides a portion of the MODL specification used in the INEEL ER domain. Figures 3 and 4 provide excerpts from the WODL specifications for the ER data sources. In addition to providing an example of IDIMS ODL, these ODL specifications are used by the examples throughout the rest of this paper.
2.2 Semantic Model
The semantic model is the internal representation of a mediator or wrapper subsystem's collective domain-specific knowledge. It is implemented by a common set of libraries used by each IDIMS subsystem. A subsystem's Semantic Model is dynamically created at run-time by collecting all domain-related knowledge specifications that pertain to that subsystem.
Each IDIMS wrapper and mediator subsystem has its own Semantic Model. The A mediator's Model represents the integrated domain knowledge along with its mappings to each of its underlying wrappers. Each wrapper's Model represents the domain knowledge which is specific to that wrapper's particular view of its data source. Although the mediator and wrapper subsystems have differing information in their respective Semantic Models, the general structure and interface of the Semantic Models is the same. This is important because it allows the various subsystems to communicate with each other about the knowledge within their Semantic Models. This commonality also provides support for incorporation of additional wrappers and for layering additional mediators to the mediation system.
The ODL defined for a particular subsystem is a major input item of the subsystem's Semantic Model. However, a subsystem's Semantic Model will contain other knowledge not contained in its ODL file. For example, a mediator's Semantic Model will also have mappings to the appropriate wrapper(s) for each of the attributes defined in the ODL. These mappings are added at run-time. After the mediator has populated its Semantic Model with its MODL contents, it then queries its associated wrappers for their Semantic Models. The mediator subsystem then can add the wrapper mappings to its Semantic Model.
The additional knowledge stored in the mediator's Semantic Model allows the A mediator to correctly route user queries to the appropriate wrapper(s), while supporting a very dynamic environment. For instance, if a wrapper is added/deleted or if the contents of a wrapper's ODL file change, the mediator will automatically handle the change since it does not get the wrapper Semantic Model knowledge until run-time. When a user application queries a mediator about its domain, the mediator returns its current Semantic Model knowledge to the user application.
Figure 5 illustrates the contents of a mediator Semantic Model. This figure graphically illustrates a portion of the INEEL ER domain view. The INEEL ER domain view defined to IDIMS contains 39 objects, with 141 attributes spread among these objects. These and objects and their attributes have been mapped across three separate data sources. The underlying data sources provide information about approximately 26,000 Samples and 373,000 Lab Results.