184 Annexe D. Simulateurs abstraits pour DEVS
30 QUAND r´eception d’un ´ev`enement de transition interne (*,t)
SI t = tn ALORS
y := Fonct_Sortie(s)
Envoyer au parent l’´ev`enement de sortie (y,t)
s := Trans_int(s)
35 tl := t
tn := tl+ta(s)
FIN SI
SINON erreur
FIN QUAND
40
FIN Simulateur devs
D.2 Simulateur abstrait pour un mod`ele DEVS cou-
pl´e
Nous pr´esentons le simulateur abstrait d’un coordinateur devs. Ce simulateur corres-
pond au mod`ele devs coupl´e. Nous avons adapt´e l’algorithme d´ecrit dans [ZKP00] puisque
nous n’utilisons pas la fonction de s´election. De plus, pour une question de lisibilit´e, nous
avons utilis´e les notations formelles au minimum.
«:= »est le signe d’affectation, «// »pr´ec`ede un commentaire (algorithme adapt´e
d’apr`es [ZKP00]).
1DEBUT coordinateur
DEBUT d´eclaration variables
parent // le coordinateur parent
5D // ensemble des mod`eles composants
IC // ensemble des connexions internes
EOC // ensemble des connexions externes en sortie
EIC // ensemble des connexions externes en entr´ee
tl // la date du dernier ´ev`enement
10 tn // la date du prochain ´ev`enement
Ech´eancier // liste tri´ee des couple (d,tn) d appartient `a D
FIN d´eclaration variables
QUAND r´eception l’´ev`enement d’initialisation (i,t)
15 Envoyer `a D l’´ev`enement d’initialisation (i,t)
Trier Ech´eancier // en fonction de tn de d appartient `a D
tl := maximum(tl de d) // d appartient `a D
tn := minimum(tn de d) // d appartient `a D
FIN QUAND
20
QUAND r´eception d’un ´ev`enement de transition interne (*,t)