INFORMATION MODEL
An Event-Defined Common Ontology
The Information Model (i.e., metamodel) within the Common Ontology models itself along with all top-level classes and domain-specific subclasses. It provides an extensible abstraction layer to support interoperable application services and metadata introspection.
While the information model parallels object-oriented programming, it represents an abstraction from programming. The metadata representing the ontology can be maintained in a repository (ISO 11179) completely abstracted from any programming environment.

ROOT CLASS: OBJECT
As the root class of the information model, “Object” comprises attributes inherited by all objects. These attributes are also defined as objects and inherit their own attributes
CLASS: TERM
The “Term” class represents words and phrases (i.e. terms) within a controlled vocabulary that are used to provide well-defined, human-readable meaning to classes and attributes, including the “Term” class itself. The “Term” class comprises an attribute for each human language (e.g. “English” attribute, “Spanish” attribute) to provide National Language Support for global applications.
CLASS: CLASS
The “Class” class represents classes themselves. The class contains a “Base Class” Relation attribute that enables a class instance (e.g. “Boolean” class) to inherit the attributes of an upper (base) class (e.g., “Data Type” class). Collectively, class instances define the hierarchical structure of the Common Ontology and domain-specific ontologies.
CLASS: DATA TYPE
Atomic and primitive data types have been defined by standards organizations (ISO.org 11404, W3.org XML Schema), but inconsistencies among them are challenging to manage. The “Data Type” class represents atomic types of data (Boolean, number, string), classified based on their data size, possible values and operations, and method of persistence. All data based on digital electronics is represented as bits (alternatives 0 and 1) on the lowest level, varying only in size (the quantity of bits).
CLASS: UNIT
The “Unit” class represents any standardized quantity used as a factor to express occurring values of an attribute assigned to the Quantity data type. For example, the “Bit” unit is assigned to the “Base Unit” attribute for all other unit instances representing a standard data size quantity. The “Conversion Factor” and “Conversion Offset” attributes contained within the “Unit” class support a unit conversion process
CLASS: ATTRIBUTE
The “Attribute” class represents any characteristic applicable to all instances of a specific class, including the “Attribute” class itself. For example, an instance can represent the “Within Class” Relation attribute of the “Attribute” class. This attribute identifies the class (e.g., “Attribute”) that contains the attribute instance. An attribute instance is contained within the most general class applicable to all its objects, including subclasses.
CLASS: ENUMERATOR
The “Enumerator” class represents named values (enumerators) contained within instances of the “Enumeration” class. The “Value” attribute within the “Enumerator” class represents the identifier utilized as the value of an Enumeration attribute. For example, instances of the “Enumerator” class can represent the set of enumerators associated with the “Status” Enumeration attribute within the “System” class. The acceptable value of this Enumeration attribute is limited to 0, 1, and 2, corresponding to the enumerators termed “Inactive”, “Active” and “Failed”, respectively.