La correlazione dati è costituita da due parti. La prima parte è l'origine dei dati mentre l'altra è il consumatore di dati. La classe di base per tutte le origini dati è denominata DataSource e quella per il consumatore è Substituter.
Un elemento di modello nell'estensione del protocollo che può contenere le origini dati deve essere contrassegnato come host origine dati implementando l'interfaccia DataSourceHost. Un elemento di modello che può contenere consumatori di origini dati deve essere contrassegnato come host consumatore implementando l'interfaccia DataSourceConsumer.
Il seguente diagramma mostra la relazione tra l'origine dati e il consumatore.
Una estensione del protocollo può fornire il proprio elenco di origini dati integrate mediante il punto di estensione descritto nella sezione "Punti di estensione".
Il seguente diagramma mostra la relazione tra queste classi:
Il tipo di consumatore di base è fornito da un programma di sostituzione. Il seguente diagramma mostra la struttura del programma di sostituzione: