Note: The following is an excerpt from the actual document. It is provided here as a convenience and is not authoritative. Refer to the original document as the authoritative reference.
The Specification addresses four related concerns summarized in the Figure below.
The specification addresses four related concerns: the type system, the representation of types, the representation of data, and the language bindings used to access types and data. Each of these concerns is modeled as a collection of classes belonging to a corresponding package.
Type System. The specification defines a model of the data types that can be used for DDS Topics. The type system is formally defined using Unified Modeling Language (UML). The Type System is defined in Clause7.2and its sub clauses. The structural model of this system is defined in the Type System Model in Clause7.2.2. The framework under which types can be modified over time is summarized in Clause7.2.3, “Type Extensibility and Mutability.” The concrete rules under which the concepts from 7.2.2and 7.2.3come together to define compatibility in the face of such modifications are defined in Clause7.2.4, “Type Compatibility.”
Type Representations. The specification defines the ways in which types described by the Type System may be externalized such that they can be stored in a file or communicated over a network. The specification adds additional Type Representations beyond the one (IDL) already implied by the DDS specification. Several Type Representations are specified in the sub clauses of Clause7.3. These include IDL, XML, XML Schema, and TypeObject.
Data Representation. The specification defines multiple ways in which objects of the types defined by the Type System may be externalized such that they can be stored in a file or communicated over a network. (This is also commonly referred as “data serialization” or “data marshaling.”) The specification extends and generalizes the mechanisms already defined by the DDS Interoperability specification (RTPS). The specification includes Data Representations that support data type evolution, that is, allow a data type to change in certain well-defined ways without breaking communication. Two Data Representations are specified in the sub clauses of Clause7.4. These are Extended CDR and XML.
Language Binding. The specification defines multiple ways in which applications can access the state of objects defined by the Type System. The specification extends and generalizes the mechanism currently implied by the DDS specification (“Plain Language Binding”) and adds a Dynamic Language Binding that allows application to access data without compile-time knowledge of its type. The specification also defines an API to define and manipulate data types programmatically. Two Language Bindings are specified in the sub clauses of Clause7.5. These are the Plain Language Binding and the Dynamic Language Binding.
ddsf/public/guidebook/06_append/01_family_of_standards/01_core/dds_extensible_types_dds-xtypes.txt · Last modified: 2021/07/14 15:57 by murphy