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.