D
Simulateurs abstraits pour DEVS
D.1 Simulateur abstrait pour un mod`ele DEVS ato-
mique
Nous pr´esentons le ici le simulateur abstrait d’un mod`ele atomique.
Le signe «:= »est l’affectation, «Fonct_Sortie »correspond `a λ,«Trans_int »`a δint
et «Trans_ext »`a δext dans un mod`ele devs atomique. «// »pr´ec`ede un commentaire
(d’apr`es [ZKP00]).
1DEBUT simulateur devs
DEBUT eclaration variables
parent // le coordinateur
5S // l’ensemble des ´etats
tl // la date d’entr´ee dans l’´etat s
tn // la date du prochain ´ev`enement
devs // le nom du mod`ele DEVS associ´e au simulateur
e // le temps pass´e dans l’´etat s
10 // (s,e) l’´etat total de ce mod`ele
y // la valeur courante de sortie du mod`ele
FIN eclaration variables
QUAND eception d’un ´ev`enement d’initialisation (i,t)
15 tl := t
tn := tl + ta(s)
FIN QUAND
QUAND r´eception d’un ´ev`enement de transition externe : (x,t)
20 SI tl <= t <= tn ALORS
e := t - tl
s := Trans_ext(s,e,x) // calcul de la fonction de transition externe
// x esigne le couple (port,valeur)
tl := t
25 tn := tl+ta(s)
SINON erreur
FIN SI
FIN QUAND
183
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 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 eclaration variables
QUAND 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)
D.2. Simulateur abstrait pour un mod`ele DEVS coupl´e 185
SI t = tn ALORS
d = d´epiler Ech´enancier
Envoyer l’´ev´enement (*,t) `a d
25 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
SINON erreur
FIN SI
30 FIN QUAND
QUAND r´eception d’un ´ev`enement de transition externe (x,t)
// x esigne le couple (port,valeur) en entr´ee
SI tl <= t <= tn ALORS
35 POUR d dans EIC associ´e `a x
Envoyer l’´ev`enement (x,t) `a d
FIN POUR
Trier Ech´eancier // en fonction de tn de d appartient `a D
tl := maximum(tl de d) // d appartient `a D
40 tn := minimum(tn de d) // d appartient `a D
SINON erreur
FIN SI
FIN QUAND
45 QUAND r´eception d’un ´ev`enement de sortie (y,t) du mod`ele d
// d appartient `a D
// y esigne le couple (port,valeur)
// en sortie d’un mod`ele composant
POUR i dans EOC associ´e `a y// i appartient `a D
50 Envoyer l’´ev´enement de sortie (y,t) `a parent
FIN POUR
POUR i dans IC associ´e `a y // i appartient `a D
Envoyer l’´ev´enement de transition externe (x,t) au mod`ele i
55 FIN POUR
FIN QUAND
FIN coordinateur
186 Annexe D. Simulateurs abstraits pour DEVS
D.3 Simulateur abstrait pour le coordinateur racine
Le coordinateur racine correspond `a la boucle g´en´erale de simulation d’un mod`ele
devs.
«:= »est le signe d’affectation, «// »pr´ec`ede un commentaire (d’apr`es [ZKP00]).
1DEBUT coordinateur racine
DEBUT eclaration variables
t \\ date courante de la simulation
5enfant \\ simulateur ou coordinateur subordonn´e direct
FIN eclaration de variables
t := tO \\ intialisation du temps
10 Envoyer ´ev`enement d’initialisation (i,t) `a Enfant
t := tn de Enfant \\ r´eception de (Prochain,tn)
TANT QUE t <= dur´ee de la simulation FAIRE
Envoyer l’´ev`enement de transition interne (*,t) `a enfant
15 t := tn de Enfant
FIN TANT QUE
FIN coordinateur racine
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !