The tool schema mapping supported by the Schema Editor/Schema Component allows a tool to describe its schema using any of the following underlying models:
-
Simple class model
-
Class inheritance model
-
Class/interface model
These three models should be adequate to describe even complex application schema models.
Simple Class Model
The simple class model is a model in which there is no inheritance, and there are no interfaces. This will obviously only occur for very simple and/or flat tool models.
Class Inheritance Model
With the class inheritance model, classes may inherit from other classes. In this model, the classes that inherit are the specialized classes, and the classes that are inherited from are the generalized classes. A class can both inherit from other classes and be inherited by other classes (multiple levels of inheritance). A class may also inherit from multiple classes (multiple inheritance).
The following diagram illustrates a class inheritance model with both multiple levels of inheritance and multiple inheritance at one level. Arrows are used to show the inheritance. Therefore, class C inherits from class A and class B. Class E inherits from class C and class D.
Class/Interface Model
A class/interface model is similar to a class inheritance model with the following differences:
-
A class/interface model only has two levels (class and interface), but a class inheritance model can have multiple levels.
-
The classes (actually interfaces) inherited from have no implementation in a class/interface model, but classes inherited from in a class inheritance model can have implementation (software methods).
A simple class inheritance model is shown below. In this model, class A inherits from (realizes) interfaces IA, IB, and IC.