====== OMG: DDS Data Local Reconstruction Layer (DDS-DLRL) ======
[[ddsf:public:guidebook:06_append:01_family_of_standards:start| return to the DDS Family of Standards ]]
Data sheet for DDS Data Local Reconstruction Layer (DDS-DLRL)
| Title | DDS Data Local Reconstruction Layer |
| Acronym | DDS-DLRL |
| Version | 1.4 |
| OMG Document Number | formal/15-04-12 |
| Release Date | May 2015 |
| About Specification | [[https://www.omg.org/spec/DDS-DLRL/]] |
| Document | [[https://www.omg.org/spec/DDS-DLRL/1.4/PDF]]|
: **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.
===== Scope =====
==== Introduction ====
This specification describes a high-level [[ddsf:public:guidebook:06_append:01_family_of_standards:01_core:dlrl|Data Local Reconstruction Layer (DLRL)]] interface to [[ddsf:public:guidebook:06_append:glossary:d:data_distribution_service_dds]] that allows a simple
integration of the DDS Service into the [[ddsf:public:guidebook:06_append:glossary:a:applayer]].
DLRL uses typed interfaces. Typed interfaces (i.e., interfaces that take into account the actual data types) offer the following
advantages:
* They are simpler to use: the programmer directly manipulates constructs that naturally represent the data.
* They are safer to use: verifications can be performed at compile time.
* They can be more efficient: the execution code can rely on the knowledge of the exact data type it has in advance, to e.g., pre-allocate resources.
It should be noted that the decision to use typed interfaces implies the need for a generation tool to translate type descriptions
into appropriate interfaces and implementations that fill the gap between the typed interfaces and the generic [[ddsf:public:guidebook:06_append:glossary:m:midware|middleware]].
This specification is designed to allow a clear separation between the publish and the subscribe sides, so that an application
process that only participates as a [[ddsf:public:guidebook:06_append:glossary:p:publisher|publisher]] can embed just what strictly relates to publication. Similarly, an application
process that participates only as a [[ddsf:public:guidebook:06_append:glossary:s:subscriber|subscriber]] can embed only what strictly relates to subscription.
==== Purpose ====
The [[ddsf:public:guidebook:06_append:glossary:d:data_distribution_service_dds]] specification offers an [[ddsf:public:guidebook:06_append:glossary:a:api| API]] that allows applications to access data in a logical Global Data Space. The DDS APIs
provide direct access to this “shared data” in a uniform manner, meaning all applications share a common view of the data in
terms of its [[ddsf:public:guidebook:06_append:glossary:t:topic|Topic]] addressing and data-schemas.
However some applications require a local view of this data that is organized to fit the purpose and business logic of the
application, which may be different for each individual process that accesses the Global Data.
This (DLRL) specification addresses this need by providing a convenient locally-defined Object [[ddsf:public:guidebook:06_append:glossary:a:api|API]] that abstracts the access
to distributed information. The Data Local Reconstruction Layer (DLRL) automatically reconstructs data locally from the
updates delivered by DDS allowing the application to access the data ‘as if’ it were local.
The combination of DLRL and DDS not only propagates the information to all interested subscribers but also updates a local
copy of the information in the local format specified by each application.
/**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
/* To add a discussion page to this page, comment out the line that says
~~DISCUSSION:off~~
*/
~~DISCUSSION:on|Outstanding Issues~~
~~DISCUSSION:off~~