Die Datenkorrelation setzt sich aus zwei Teilen zusammen. Erster Teil ist die Datenquelle, zweiter Teil der Datenkonsument. Die Basisklasse aller Datenquellen lautet DataSource, die Basisklasse der Konsumenten Substituter.
Ein Modellelement der Protokollerweiterung mit Datenquellen muss als "Datenquellenhost" markiert werden. Dazu muss die Schnittstelle DataSourceHost implementiert werden. Ein Modellelement, das Konsumenten von Datenquellen enthalten kann, muss als Konsumentenhost markiert werden. Dies erfolgt über die Implementierung der Schnittstelle DataSourceConsumer.
Das folgende Diagramm zeigt die Beziehung zwischen Datenquelle und Konsument:
Eine Protokollerweiterung kann über eigene integrierte Datenquellen verfügen. In diesem Fall kommt der unter "Erweiterungspunkte" beschriebene Erweiterungspunkt zum Einsatz.
Das folgende Diagramm zeigt die Beziehung zwischen diesen Klassen:
Der Konsumentenbasistyp lautet Substituter. Das folgende Diagramm zeigt die Struktur des Konsumentenbasistyps Substituter: