Glossary

The following terminology is used in this specification:

Assembly

An assembly is defined as follows:

A complex named data element consisting of an optional set of flags and an optional sequence of model instances.

An assembly does not have an associated value.

An assembly may reference or directly define zero or more flags. Flag instances associated with an assembly definition typically provide additional metadata used to identify or characterize the object represented by the assembly.

An assembly has an optional model consisting of references to zero or more assemblies or fields as model instances. These model instances allow complex data to be composed within an assembly.

An assembly definition is a type of definition within a given Metaschema module used to represent the implementation of a complex information element as an assembly.

Data Model

A data model, abbreviated as DM, is defined as follows:

A representation of an information model in a format specific serializable form (e.g., XML, JSON, YAML) expressed using a format-specific schema syntax.

As described by RFC 3444), a data model is defined at a lower level of abstraction than the information model it represents, and includes many details.

  • Intended for implementors
  • Include protocol-specific constructs.

In Metaschema, the format-specific schema (i.e., XML or JSON Schema) is generated within the Metaschema architecture from a Metaschema module. By defining data models appropriate and tuned for each format, these generated schemas can be used to validate that data is conformant to the associated format, and thus conformant to the information model defined by a given Metaschema module.

Definition

A distinct information element implementation within a Metaschema module representing a semantically well-defined data structure, along with any associated data type(s), information element relationships, cardinalities, and other information characteristics.

An assembly definition, field definition, or flag definition are types of definitions within a Metaschema module.

Domain

An information domain is defined as follows:

A specific area of knowledge, interest, and/or practice.

Flag

A flag is defined as follows:

A simple named data element with an associated primitive value.

A flag is a pairing of a name and a value.

A flag typically provides identifying or classifying information for the containing assembly or field.

The flag’s value is strongly typed using one of the built in simple data types.

A flag definition is a type of definition within a given Metaschema module used to represent the implementation of a simple, named information element with an associated primitive value as a flag.

Field

A field is defined as follows:

A complex named data element consisting of a required value and an optional set of flags.

A field is typically used to provide supporting information for a containing assembly.

The field’s value is strongly typed using one of the built in simple data types or markup data types.

A field definition is a type of definition within a given Metaschema module used to represent the implementation of a named complex information element with an associated primitive or markup typed value, and zero or more flags as a field.

Information Element

An information element is defined as follows:

A given data concept within a specific domain representing a semantically well-defined data structure, along with their data type(s), cardinalities, and other information characteristics. A part of a larger information model.

An information element is implemented by a definition in a Metaschema module.

Information Model

An information model, abbreviated as IM, is defined as follows:

A format-neutral description of a set of information elements for a given domain.

As described by RFC 3444), an IM describes information elements at a conceptual level, independent of any specific implementations or protocols used to transport the data.

  • Level of abstraction depends on the modeling needs of the designers
  • Define relationships between managed objects
  • Should hide all protocol or implementation details, allowing for different implementations

Metaschema Module

A Metaschema module is defined as follows:

A format for describing the implementation of each information element contained within an information model using Metaschema syntax. Each information element is implemented by a definition which provides details about the information element’s structure, meaning (semantics) and use.

A Metaschema module is composed of flag, field, and assembly definitions.

  • Flag: A simple named data object with an associated scalar value. A simple name / value pair. A flag is used to represent a leaf information element.
  • Field: A complex named data object with an associated scalar or markup typed value and zero or more flags. A field is used to represent an edge information element.
  • Assembly: A complex named data object, with no value, zero or more flags, and a complex model consisting of a combination of child fields and assemblies. An assembly is used to represent a composite information element.

A Metaschema module can be used as the basis for producing schema files, content conversion utilities, documentation, parsing code, and other artifacts that can be used in support of handling data aligned with an information model.