Jonathan Caux
Charles Donnat
ZZ3F2
ISIMA 2007-2008
Modélisation et
Simulation avec
DEVS
TP N 1: Feu tricolore
Objectif
L'objectif de ces travaux pratiques est de modéliser et de simuler l'exécution d'un feu
tricolore. La modélisation et la simulation sont réalisées en Java avec le formalisme DEVS. Ce
travail doit permettre de lancer la simulation d'un feu tricolore : affichage successif des
couleurs vert, orange et rouge. Ainsi que la prise en compte des pannes potentielles.
Composition du modèle
Le modèle du feu tricolore est composé de trois sous modèles atomiques :
- Un simulateur de générateur aléatoire de pannes.
- Un simulateur de changement de couleur du feu tricolore.
- Un simulateur d'affichage de feu tricolore.
De plus, un modèle couplé se charge de gérer l'organisation entre ces trois modèles et leurs
interactions.
Générateur aléatoire de pannes
Ce modèle possède deux états : actif et passif.
Lorsqu'il passe de l'un à l'autre, il génère une sortie : quand il quitte l'état passif, il simule
une panne et quand il quitte l'état actif, il simule la fin d'une panne.
Le temps entre deux pannes (temps passé dans l'état passif) et le temps que dure la panne
(temps passé dans l'état actif) sont généré aléatoirement dans un intervalle donné.
La représentation graphique du modèle est donnée dans la figure 1 :
Changement de couleur du feu tricolore
Ce modèle possède six états différents : Vert, Orange, Rouge, Pre-Panne, Panne et Post-
Panne. Le rôle des états Vert, Orange, Rouge et Panne est intuitif, celui de Pre-Panne et Post-
Panne l'est un peu moins.
Actif
Passif
gen
Figure 1: Représentation du générateur aléatoire
Pre-Panne est un état dans lequel on accède dès que la panne se produit et juste le temps de
réaliser une sortie "noir". Post-Panne est logiquement l'équivalent de Pré-Panne après la
panne et permet de réaliser une sortie "vert" étant donné que l'on recommence par le vert
après une panne.
En dehors de ces deux sorties, à la fin de chacun des états Vert, Orange et Rouge, on réalise
la sortie correspondant à l'état suivant. Soit respectivement "orange", "rouge" et "vert".
La représentation graphique du modèle est la suivant :
Affichage du feu tricolore
Affichage du feu tricolore
Les cinq états de ce modèle sont : Noir, Vert, Orange, Rouge, Stable. Les quatre premiers
correspondent aux couleurs qui seront affiché à la sortie de l'état. Le dernier est un état de
transition qui correspond à l'attente d'une entrée.
Le système reste donc dans l'état Stable tant qu'il ne reçoit aucune entrée sur son port
"onoff". Lorsque qu'il en reçoit une, il passe dans l'état correspondant à l'entrée puis le
quitte instantanément pour l'état Stable après avoir affiché la couleur de l'état en cours.
onoff
stat
Post-Panne
Pre-Panne
Vert
Orange
Rouge
onoff = 0
onoff = 1
Figure 2: Représentation du feu tricolore
Modèle couplé
Le modèle couplé gère les trois modèles vu précédemment et permet ainsi de définir les
interactions entre les différents modules.
En effet, ici, le modèle globale ne possède ni entrée ni sortie, le modèle couplé se contente
donc de lier la sortie d'un système atomique à l'entrée d'un autre système atomique. On n'a
donc ici que la matrice de couplage des ports de sortie des modèles atomiques vers les ports
d'entrée des modèles atomiques (IC) qui n'est pas nulle.
Générateur
Feu tricolore
Afficheur
sign
stat
onoff
gen
sign
Noir
Vert
Orange
Rouge
sign = 0
sign = 1
sign = 2
sign = 3
Figure 3: Représentation de l’affichage du feu tricolore
Figure 4: Représentation du rôle du modèle couplé
Implémentation du modèle
Définition des packages
Pour implémenter le modèle ci-dessus, nous avons créé trois packages :
- devs : package contenant les classes du modèle DEVS générique.
- devs_tp1 : package contenant l’implémentation du modèle DEVS du feu tricolore.
- ui_tp1 : package contenant les classes réalisant l’interface graphique.
Description des principales classes
Package devs :
Automate : Comprend les fonctions communes aux gestionnaires et aux
simulateurs.
Gestionnaire : Englobe les coordinateurs et la racine.
Racine : Automate qui contrôle la simulation et gère le temps.
Coordinateur : Automate reproduisant le comportement associé à un modèle
couplé.
Simulateur : Automate capable de reproduire le comportement associé à un
modèle atomique.
Modele : Classe comprenant les propriétés communes des modèles
atomiques et couplés.
ModeleAtomique : Classe abstraite dont on doit héritée pour créer un modèle
atomique.
ModeleCouple : Classe abstraite dont on doit héritée pour créer un modèle
couplé.
Package devs_tp1 :
ModeleGenerateur : Classe représentant le modèle du générateur.
ModeleFeu : Classe représentant le modèle du feu tricolore.
ModeleAfficheur : Classe représentant le modèle de l’affichage graphique du feu
tricolore.
ModeleCoupleM : Classe représentant le modèle couplé comportant les trois
classes ci-dessus.
1 / 8 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 !