La corrélation des données se compose de deux parties. La première est la source des données ; la deuxième, le consommateur des données. La classe de base de toutes les sources de données s'appelle DataSource ; celle du consommateur est Substituter.
Les éléments de modèle figurant dans l'extension de protocole et pouvant contenir des sources de données doivent être signalés comme étant des hôtes de source de données en implémentant l'interface DataSourceHost. Les éléments de modèle pouvant contenir des consommateurs de sources de données doivent être signalés comme étant des hôtes de consommateur en implémentant l'interface DataSourceConsumer.
Le diagramme suivant illustre la relation entre la source de données et le consommateur :
Une extension de protocole peut fournir son propre ensemble de sources de données intégrées à l'aide du point d'extension décrit dans la rubrique "Points d'extension".
Le diagramme suivant illustre la relation entre ces classes :
Le type de consommateur de base mis à disposition est Substituter. Le diagramme suivant illustre la structure de Substituter :