Dans un langage de programmation classique :
program controleur
debut
pour i de 1 à m faire
si valeur(capteur[i]) != valeurAncienne(capteur[i]) alors
modifierOuvertureVanne(i,valeur(capteur[i]))
fin
Deux défauts principaux :
Dans un langage de programmation parallèle, on écrira :
Tache C[i]
Pour chaque modification de valeur(capteur[i])
envoyerMessage(controleur,valeur(capteur[i]));
Tache controleur
recevoir(C[i],valeur(capteur[i])) -> modifierOuvertureVanne(i,valeur(capteur[i]));
Les deux défauts précédents ont disparu.