1 Scope
1.1 General
ISO/IEC 20944 is a series of International Standards that describe codings, APIs, and protocols for interacting with an ISO/IEC 11179 metadata registry (MDR).
This part of ISO/IEC 20944 provides the overview, framework, common vocabulary, and common provisions for conformance for ISO/IEC 20944. It addresses the following data interoperability features1:
a common framework for variety control: harmonized concepts for conforming implementations and strictly conforming implementations;
harmonized provisions, such as mandatory requirements 2 and optional requirements 3, and their consistent application across all bindings of ISO/IEC 20944;
harmonized and consistent treatment of data elements with varying data obligation attributes (e.g., mandatory, conditional, optional, extended) and varying data longevity attributes (e.g., in-use, obsolete, reserved, etc.).
This part of ISO/IEC 20944 also includes a rationale that guided its development. The rationale also discusses the harmonized use of profiles (e.g., subsets, supersets, changes, etc.) of the data structure and data elements.
1.2 Overview of concepts
1.2.1 Metadata vs. data
Metadata is descriptive data about objects4. The essential characteristics of metadata include: it is descriptive data, and that it is descriptive about something. For example, if P is data and P→Q represents the descriptive relationship such that P describes Q, then P is metadata about Q. If there is no relationship from P to Q, then P is no longer metadata (i.e., P is merely data) because metadata is always relative to the object of description. Or stated differently, P only becomes metadata once its descriptive relationship to Q is established. Thus, it is impossible to determine, independent of context and relationships, that any piece of data is actually also metadata. The implications are: (1) because metadata is data, it can be exchanged like other data, but (2) to remain metadata, the exchange must include the associated context and relationships. ISO/IEC 20944 simply treats everything as data — whether it is used as metadata is outside the scope of ISO/IEC 20944. Although metadata is just data, ISO/IEC 20944 also provides reification5 and navigation of these contexts and relationships that are particular to metadata (and atypical for common data sets).
NOTE ISO/IEC 20944‑5 provides a mapping and a profile such that ISO/IEC 20944 bindings may be used to interchange metadata contained in ISO/IEC 11179 metadata registries, e.g., an application may connect to, access, read, and use metadata from an ISO/IEC 11179 metadata registry.
1.2.2 Metadata and data interoperability
The successful interchange of data is dependent upon mutual agreement of interchange participants. Some key requirements for successful data interchange include (from lower implementation details to higher level abstractions):
-
The syntax determines how data is coded (structured) and encoded (represented). Codings include specifications for organizing data structures (e.g., How are records represented? Is tagging embedded or implied?). Encodings include specifications for representation of datatypes (e.g., are numbers represented as a string of characters or a string of bits?).
EXAMPLE 2 In the programming language C, "the temperature is 17°" might be coded as a single binary octet { uint8_t temp = 17; }, and encoded as a two's complement big-endian 16-bit integer.
-
The semantics define the meaning of the data. Several kinds of descriptive techniques are possible, such as using ISO/IEC 11179‑3 for describing data. Additional technical specifications, such as standards, may be used in conjunction with the ISO/IEC 11179‑3 description of data.
EXAMPLE 3 The statement "the temperature is 17°" might not be descriptive enough because (1) it does not convey units of measure, e.g., Celsius or Fahrenheit; and (2) it does not convey what is being measured, e.g., temperature sensor #289. Both these features are part of the semantic description that comprises an ISO/IEC 11179‑3 Data Element.
-
Application-specific behavior is determined by the context of the data.
EXAMPLE 4 The statement "temperature is 17°C at sensor #289" may have different meanings depending upon the application. In a telemetry application, the statement "temperature is 17°C at sensor #289" might represent data to be recorded and analyzed, such as updating low, average, and high values in a set of time-series data. In contrast, in a heating, ventilation, and air conditioning (HVAC) application, the statement "temperature is 17°C at sensor #289" might represent a signal that causes heating units to turn on automatically.
Of the three issues above, ISO/IEC 20944 concerns itself with the syntax, i.e., the bindings (codings, APIs, and protocols) for data interchange.
Regarding the semantics, the ISO/IEC 11179 series is a primary tool for specifying semantics, via descriptive data, for data interchange.6 This descriptive data is known as metadata. The descriptive data (metadata) may also be interchanged via the ISO/IEC 20944 series. However, in this case the ISO/IEC 20944 series is being used for a different purpose: descriptive data interchange (i.e., metadata interchange) rather than data interchange. It is possible to have separate data and metadata interchanges, and to use the ISO/IEC 20944 series independently for each interchange.
Neither ISO/IEC 20944 nor ISO/IEC 11179 specify application-specific requirements and functionality.
1.2.3 Achieving metadata and data interoperability and harmonization
Interoperability with a metadata registry can be achieved in various ways. ISO/IEC 20944 provides a framework within which several approaches can be standardized. All interoperability requires some kind of interface, and associated bindings, between two or more participating functional units. A binding provides a concrete mapping of a functional unit to an interface. Three categories of bindings are supported by ISO/IEC 20944:
codings, which deal with the formalized representation of information;
APIs, which specify a binding in programming terms;
protocols, which specify formalized communications.
EXAMPLE 1 In XML, "the temperature is 17°" might be coded as a tagged element "17" that is encoded as 15 UTF-8 characters, the encoding would be the ordering of the bits within the octet, e.g., little endian vs. big endian.