Up Right Event driven Middleware

Data Distribution Service der OMG

Standard

DDS Standard

weitere Literatur

OMG Wiki zu DDS
RTC-Magazin: OMG Data Distribution Service: Real-Time Publish/Subscribe Becomes a Standard

Implementierungen

OpenDDS

OppenDDS auf github

Open Splice nun Prismtech-Vortex
Nachfolger von Sigma SPLICE / THALES, Erfinder von DDS,
SPLICE - Subscription Paradigm for the Logical Interconnection of Concurrent Engines
ist seit neuestem auch OpenSource

github


Hier gibt es Werbematerial, das aber auch gut allgemeine Konzepte erläutert.
RTI
hat NDDS, von US Navy eingesetzt

Download bei RTI

Evaluation

DDS-Touchstone
DDS Benchmark Vanderbild-Uni

Details

Valuetypes

Bei CORBA gibt es neben struct die valuetypes, die dann auch Programmiesprachenobjekte mit z.B. gettern und settern sind. Daher wäre naheliegend, dass die Datenobjekte valuetypes sind.

Das Open-Splice-Tutorial verweist aber auf DLRL für diesen Zweck.

DLRL

Es gibt einen Object-Listener, der auf Änderungen reagiert

Witz von Wait-Sets und Listeners

"instance" und "sample"

{read,take}_by_sample {read,take}_by_instance

instance
ist ein Datenobjekt (key,value)
sample
Dies ist eine "Abtastung" zu einer Zeit.

Je nachdem der History -Qos-Paremeter eingestellt ist, kann der Subscriber mehrere Samples lesen.
Meist ist der History-parameter auf 1, d.h. der Subscriber liest nur den aktuellen wert.
Dies hat den Vorteil, das die Berechnung in ihrer Dynamik vomLastverhalten entkoppelt ist. allerdings gehen eventuell samples verloren - sonst kann ggf. die Verarbeitung nicht nachkommen.

Konfiguration der QoS in XML bei RTI DDS

Ziel ist, dass möglicht viele QoS ausserhalb des Programmcodes definiert werden, damit man die QoS zur Startzeit anpassen kann.
Es hat sich bewärt, sich QoS-Profile zu machen und Topics diese zuzuweisen.

independent.tgz demonstriert mit RTD DDS unter Nutzung der C-API wie Profile im Code referenziert werden.


Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber