Glossar · A bis Z

Glossar

Die wichtigsten Begriffe rund um DDS und ZeroDDS in ein bis zwei Sätzen erklärt — ohne Spec-Fachjargon, mit Querverweisen auf die Erklär-Seiten.

A

API (Application Programming Interface)
Eine vereinbarte Schnittstelle, über die ein Programm Funktionen eines anderen nutzen kann. ZeroDDS hat APIs in Rust, C, C++, C#, Java, Python und TypeScript.
Apache 2.0
Die Open-Source-Lizenz, unter der ZeroDDS veröffentlicht wird. Erlaubt kommerzielle Nutzung ohne Pflicht, eigene Änderungen offenzulegen.

B

Bare-Metal
Software, die ohne Betriebssystem direkt auf Hardware läuft, typisch auf Mikrocontrollern. ZeroDDS hat einige Crates, die bare-metal-tauglich sind.
Best-Effort
Eine QoS-Einstellung in DDS: „Schick die Daten raus, wenn was verloren geht, egal." Gegenteil von reliable.

C

CDR (Common Data Representation)
Das standardisierte Byte-Format, in dem DDS-Daten über das Netz fließen. Plattform-unabhängig (kein Endianness-Drama, keine Padding-Überraschung).
Crate
In Rust: ein Software-Paket. ZeroDDS besteht aus über 100 Crates, die einzeln genutzt oder im Workspace gebaut werden.
Cyclone DDS
Eine konkurrierende DDS-Implementierung, in C/C++ geschrieben, Eclipse-2.0-Lizenz. Wird von ROS 2 als Default-Backend genutzt.

D

DCPS (Data-Centric Publish/Subscribe)
Die „obere" DDS-API-Schicht, mit der Anwendungs-Code direkt arbeitet. Definiert Topics, Reader, Writer, QoS.
DDS (Data Distribution Service)
Der OMG-Standard für Echtzeit-Pub/Sub-Kommunikation zwischen Maschinen. Siehe ausführlich → Was ist DDS?
DDSI-RTPS (DDSI Real-Time Publish-Subscribe Wire Protocol)
Das Wire-Protokoll, mit dem DDS-Implementierungen sich über UDP/TCP austauschen. Wenn ZeroDDS und Cyclone DDS sich verstehen, liegt's an DDSI-RTPS.
Discovery
Der Vorgang, mit dem DDS-Teilnehmer:innen sich gegenseitig im Netz finden, ohne dass eine zentrale Stelle nötig ist. Geschieht automatisch beim Start.

E

Endianness
Die Frage, in welcher Byte-Reihenfolge eine Zahl im Speicher liegt (links-zuerst oder rechts-zuerst). Macht Plattform- übergreifende Daten kompliziert; CDR löst das.

F

FastDDS
Eine konkurrierende DDS-Implementierung von eProsima, in C++, Apache 2.0. Default-Backend von ROS 2 vor Cyclone DDS.
Ferrocene
Eine zertifizierte Variante des Rust-Compilers für Safety- kritische Anwendungen (Auto, Bahn, Luftfahrt). ZeroDDS ist Ferrocene-25.08.0-aligned.

I

IDL (Interface Definition Language)
Eine kleine Sprache, in der man die Form von Daten und Schnittstellen einmal beschreibt — der Code für jede Programmier- sprache wird daraus generiert. → Was ist MDE?

L

Liveliness
Eine QoS: „Sag mir, wenn ein Writer sich nicht mehr meldet, damit ich seinen Tod mitkriege." Wichtig in Sicherheits-relevanten Systemen.

M

MDE (Model-Driven Engineering)
Der Ansatz, ein Modell als einzige Wahrheitsquelle zu pflegen und Code aus dem Modell zu generieren. → Was ist MDE?

N

no_std
Rust-Eigenschaft: kein Standard-Library, kein Heap. Wird für Embedded-Targets gebraucht. ZeroDDS-Foundation und einige Layer-1-Crates sind no_std-kompatibel.

O

OMG (Object Management Group)
Das Standardisierungs-Gremium, das DDS, IDL und CORBA spezifiziert. Sitz: Boston, USA.

P

Partition
Eine QoS: „Logische Trennung der Topics in Gruppen." Damit z.B. der gleiche Topic-Name in zwei unabhängigen Sub-Systemen koexistieren kann.
Pub/Sub (Publish/Subscribe)
Kommunikations-Muster: einer schreibt, viele lesen, ohne dass die sich kennen. Gegenteil von Punkt-zu-Punkt-Kommunikation. → Was ist DDS?
Pure Rust
Software, die nur aus Rust-Code besteht (kein C/C++ als Dependency). ZeroDDS ist Pure Rust außer einigen Crypto- Primitives.

Q

QoS (Quality of Service)
Steuerungs-Schraube für DDS: Wie sollen Daten verteilt werden? Schnell-aber-unsicher, zuverlässig-aber-langsamer, mit-Verlauf, ohne-Verlauf etc. DDS hat ~22 QoS-Policies.

R

Reader (DataReader)
Der Empfangs-Endpunkt eines Topics. Eine App kann beliebig viele Reader auf verschiedene Topics haben.
Reliable
Eine QoS: „Verloren gegangene Daten werden wieder gesendet, bis sie ankommen." Gegenteil von best-effort.
RTI Connext
Die kommerzielle DDS-Implementierung von Real-Time Innovations (USA). Lizenz-Modell, ~25.000 € pro Entwickler-Sitz pro Jahr.
Rust
Eine moderne, speicher-sichere Programmier-Sprache, in der ZeroDDS geschrieben ist. Ohne Garbage Collector, also echtzeit- tauglich.

S

Sample
Ein einzelner Daten-Punkt in einem Topic. Beispiel: ein Topic Tankfüllstand hat alle 100 ms ein neues Sample.
SEDP (Simple Endpoint Discovery Protocol)
Wie DDS herausfindet, welche Topics, Reader und Writer im Netz existieren. Läuft nach SPDP.
SPDP (Simple Participant Discovery Protocol)
Wie DDS herausfindet, wer überhaupt im Netz ist. Erste Phase der Discovery, läuft per UDP-Multicast.

T

Topic
Ein benannter Daten-Strom in DDS. Beispiel: Tankfüllstand, Geschwindigkeit, KameraBild. Reader abonnieren Topics, Writer senden auf Topics.

W

Writer (DataWriter)
Der Sende-Endpunkt eines Topics. Eine App kann beliebig viele Writer auf verschiedene Topics haben.

X

XTypes (Extensible and Dynamic Topic Types)
Eine OMG-Erweiterung von DDS: erlaubt, dass Topic-Typen sich über die Zeit weiter-entwickeln, ohne dass alte Reader und neue Writer brechen.

Z

Zenoh
Eine alternative Echtzeit-Daten-Verteil-Schicht, die DDS-konzeptverwandt ist, aber für Cloud + Edge optimiert. ZeroDDS hat eine Zenoh-Bridge.
Zero PDE (Product Definition Environment)
Das Modellierungs-Werkzeug aus der Zero-Familie, mit dem Architekturen modelliert und Code dafür generiert wird.

Weiter: Was ist DDS? · Was ist ZeroDDS? · Was ist MDE?