La figure 2.2 illustre les jeux de références entre les classes.
On voit en effet que chaque buffer référence deux tâches, respectivement celle qui écrit et celle qui lit. Chaque
opération pointe sur le buffer sur lequel elle s'effectue et sur les deux tâches suivantes : la tâche dite active
et celle dite passive. La tâche active est celle effectuant l'opération, la tâche passive partage avec la tâche active
le buffer sur lequel s'effectue l'opération. Chaque opération référence par ailleurs (sauf cas particulier)
quatre autres opérations (fig. 2.1). Le prédécesseur immédiat
est l'opération exécutée immédiatement avant
par la tâche active, le successeur immédiat celle exécutée immédiatement après par cette même tâche.
Les prédécesseurs et successeurs externes ont deux caractéristiques les différenciant fondamentalement des
« immédiats » : tout d'abord ils sont exécutés par une autre
tâche (passive), ensuite ils sont directement
liés aux dimensions des buffers. Cela signifiant que si les capacités des buffers étaient modifiées,
les prédécesseurs et successeurs externes de chaque opération ne seraient plus les mêmes.