L'exécution est partagée entre les Processeurs qui mettent à jour leurs Valeurs de sortie, les Valeurs qui notifient la machine réactive, et enfin la machine réactive qui synchronise l'ensemble.
La mise à jour d'un Processeur consiste à modifier ses valeurs de sortie, et à
notifier la machine réactive parente afin que cette mise à jour soit propagée.
L'ensemble de ce mécanisme est décrit par l'algorithme C.1: la
procédure
définie dans la structure Processeur applique les
fonctions
et
à ses Valeurs de sortie. Elle
délègue les assignations finales et les notifications à la procédure
définie dans la structure Valeur. Lorsqu'un signal est
présent, cette dernière appelle la procédure
de la machine
réactive, décrite dans la section suivante.
L'exécution d'une machine réactive consiste en une série d'itérations appelées
ticks. Pendant un tick, tous les signaux sont propagés dans la machine
réactive. La procédure tick (algorithme C.2) décrit une
itération: la structure ProcInfo est parcourue dans l'ordre, et chaque
processeur est mis à jour s'il est déclenché. La mise à jour d'un
dispositif peut amener le déclenchement d'autres processeurs situés après lui
dans la table.
Cet algorithme de propagation assure qu'à la fin d'un tick, tous les
changements ont correctement été propagés, et que la mise à jour d'un
dispositif n'est jamais effectuée plus d'une fois: dans la
configuration-exemple de la figure C.4, quand
reçoit une
valeur du dispositif actif
, il attendra la mise à jour de
avant de se
mettre à jour.
L'exécution d'une configuration d'entrée consiste en des appels successifs de la procédure tick. Notre modèle ne décrit pas comment ces appels sont effectués, en particulier s'ils une pause les sépare (pour laisser la main à d'autres processus ou garder une fréquence constante), ou encore s'ils sont appelés uniquement lorsque des valeurs sont présentes en entrée (interruptions matérielles).