The following terminology is used in this specification:
An assembly is defined as follows:
An assembly does not have an associated value.
An assembly may reference or directly define zero or more flags.
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 in a format-specific schema definition syntax. The format-specific schema definition is generated within the Metaschema architecture from the metaschema-definition. These generated schema can be used to validate that data is conformant to the asscoiated format, and thus conformant to the information model defined by a given metaschema defintion.
As described by RFC 3444), a data model is defined at a lower level of abstraction and include many details.
- Intended for implementors
- Include protocol-specific constructs.
An domain is defined as follows:
A specific area of knowledge, interest, and/or practice.
A flag is defined as follows:
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.
A field is defined as follows:
A complex named data element with an associated scalar or markup typed value and zero or more flags. A field is a complex information structure used to represent a part of a managed object within a given metaschema definition.
A field has a required value.
A field may reference or directly define zero or more flags.
A field does not have a model.
A field provides supporting information for the containing assembly.
An information model, abbreviated as IM, is defined as follows:
As described by RFC 3444), an IM describes managed objects 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
An information structure is defined as follows:
A description of heirarchically related information elements, along with their cardinalities, representing a semanticly well-defined data structure.
An managed object is defined as follows:
A managed object is represented by an [assembly] in a metaschema definition.
An metaschema definition is defined as follows:
A metaschema definition consists of a few different types of information elements:
- Flag: A named data element with an associated scalar value. A simple name / value pair.
- Field: A complex named data element with an associated scalar or markup typed value and zero or more flags.
- 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.
Flags and fields are leaf information elements that support the managed object.
A metaschema definition is used as the basis for producing schema files, conversion files, documentation and utilities in support of that format. For any given model defined by a metaschema, the XML Schema (XSD) and JSON Schema will be consistent to a common information model because they are produced from the same metaschema definition.