HAL Id: tel-00480555 https://tel.archives-ouvertes.fr/tel-00480555 Submitted on 4 May 2010 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Approche de modélisation approximative pour des systèmes à événements discrets : Application à l’étude de propagation de feux de forêt Paul-Antoine Bisgambiglia To cite this version: Paul-Antoine Bisgambiglia. Approche de modélisation approximative pour des systèmes à événements discrets : Application à l’étude de propagation de feux de forêt. Modélisation et simulation. Université Pascal Paoli, 2008. Français. tel-00480555
179
Embed
Approche de modélisation approximative pour des systèmes à ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
HAL Id: tel-00480555https://tel.archives-ouvertes.fr/tel-00480555
Submitted on 4 May 2010
HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, estdestinée au dépôt et à la diffusion de documentsscientifiques de niveau recherche, publiés ou non,émanant des établissements d’enseignement et derecherche français ou étrangers, des laboratoirespublics ou privés.
Approche de modélisation approximative pour dessystèmes à événements discrets : Application à l’étude
de propagation de feux de forêtPaul-Antoine Bisgambiglia
To cite this version:Paul-Antoine Bisgambiglia. Approche de modélisation approximative pour des systèmes à événementsdiscrets : Application à l’étude de propagation de feux de forêt. Modélisation et simulation. UniversitéPascal Paoli, 2008. Français. tel-00480555
Approche de modélisation approximativepour des systèmes à événements discrets :
Application à l’étude de propagation de feux de forêt
sous la direction du Professeur
Paul Antoine BISGAMBIGLIA
soutenue publiquement le 05 décembre 2008 devant le jury composé de :
Rapporteurs : M. Denis FLOUTIER, Professeur, Polytech’SavoieM. David R.C. HILL, Professeur, Université Blaise Pascal de Clermont-Ferrand
Examinateurs : M. Gérard CAPOLINO, Professeur, Université de PicardieM. Farhat FNAIECH, Professeur, Ecole Supérieure des S&T de TunisM. Jean-François SANTUCCI, Professeur, Université de CorseM. Paul-Antoine BISGAMBIGLIA, Professeur, Université de CorseMme. Emmanuelle de GENTILI, Maître de conférences, Université de Corse
UNIVERSITÉ DE CORSE – PASQUALE PAOLI
U.F.R. SCIENCES ET TECHNIQUES
THÈSEpour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ DE CORSE
ÉCOLE DOCTORALE ENVIRONNEMENT ET SOCIÉTÉ
Discipline : Sciences pour l’Environnement
Spécialité : Informatique
présentée par
M. Paul-Antoine BISGAMBIGLIA
Approche de modélisation approximativepour des systèmes à événements discrets :
Application à l’étude de propagation de feux de forêt
sous la direction du Professeur
Paul Antoine BISGAMBIGLIA
soutenue publiquement le 05 décembre 2008 devant le jury composé de :
Rapporteurs : M. Denis FLOUTIER, Professeur, Polytech’SavoieM. David R.C. HILL, Professeur, Université Blaise Pascal de Clermont-Ferrand
Examinateurs : M. Gérard CAPOLINO, Professeur, Université de PicardieM. Farhat FNAIECH, Professeur, Ecole Supérieure des S&T de TunisM. Jean-François SANTUCCI, Professeur, Université de CorseM. Paul-Antoine BISGAMBIGLIA, Professeur, Université de CorseMme. Emmanuelle de GENTILI, Maître de conférences, Université de Corse
Chercher à connaître
n’est souvent qu’apprendre à douter.
DESHOULIER
Remerciements
"J’ai rédigé ce document, mais le plus important dans mon document est ce qui n’est pas écrit1"
Ces travaux de thèse se sont principalement déroulés au sein de l’équipe Informatique de
l’Université de Corse. Cette équipe est intégrée au laboratoire Sciences Pour l’Environnement
(SPE), Unité Mixte de Recherche CNRS 6134 dirigée par Monsieur Paul Antoine Bisgambiglia,
professeur à l’Université de Corse.
J’ai trouvé au sein de cette équipe une ambiance particulièrement favorable pour mener à bien
ce travail, et je remercie vivement Monsieur Jean-François Santucci, Professeur de l’Université
de Corse, qui m’y a accueilli et qui a suivi ces travaux.
Je tiens tout particulièrement à exprimer ma gratitude à Monsieur Paul Antoine Bisgambiglia,
Professeur de l’Université de Corse, pour avoir accepté de diriger ces travaux, pour sa disponibilité
et ses conseils qui m’ont été indispensables tout au long de ces années.
Je tiens également à remercier chaleureusement Madame Emmanuelle de Gentili, Maître de
conférence à l’Université de Corse, pour avoir co-encadré ces travaux depuis mon stage de DEA.
Je souhaite exprimer toute ma gratitude à Monsieur Denis Floutier, Professeur à Polytech’Savoie
et Monsieur David Hill, Professeur de l’Université Blaise Pascal de Clermont-Ferrand, pour l’in-
térêt qu’ils ont porté à ce travail en acceptant de juger ce mémoire avec autant d’attention.
Je voudrais également exprimer toute ma reconnaissance à Monsieur Gérard Capolino, Pro-
fesseur de l’Université de Picardie, et Monsieur Farhat Fnaiech, Professeur de l’Ecolde Supérieure
des S&T de Tunis, qui me font l’honneur de participer à ce jury.
Un grand merci à toutes l’équipe informatique, et tout particulièrement à Monsieur Laurent
Capocchi, Maître de conférence à l’IUT de Corse, et Monsieur Jean-Baptiste Filippi, Chargé de
Recherche au CNRS, pour leur grande gentillesse et pour leur disponibilité.
1Bernard Werber
CHAPITRE 0
J’exprime ici toute mon amitié à mes compagnons de bureau Stéphane Garredu et Jean-
Sébastien Gualtieri, qui ont contribué à rendre ces années toujours joviales.
J’adresse également mes remerciements aux institutions qui ont soutenu techniquement et fi-
nancièrement cette étude : l’Université de Corse et la Collectivité Territoriale de Corse.
Enfin, pour leur soutien sans faille et permanent, je tiens à remercier de tout cœur mes par-
ents, mes beaux-parents, mon frère, et ma femme Virginie, qui a supporté ma mauvaise humeur
pendant les périodes délicates de ma thèse, et qui s’est donnée tant de mal pour traquer les fautes
d’orthographe.
vii
Résumé
Ce n’est pas parce que les choses sont
difficilles que nous ne les faisons pas.
C’est parce ce que nous ne les faisons pas
qu’elles sont difficiles.
Bernard Werber
CE rapport présente les différentes étapes suivies afin de définir une nouvelle approche de
modélisation et de simulation à évènements discrets pour les systèmes à paramètres im-
précis.
Cette étude a débuté avec des travaux sur la formalisation d’un système de production de fro-
mage Corse. Suite à ces recherches, et en particulier, suite à la phase de modélisation du processus,
nous avons pu constater l’influence de paramètres imparfaitement définis. Ces paramètres entrent
en compte au cours des différentes phases de conception, et sont difficiles à représenter et surtout
à manipuler.
Dans le but de les prendre en compte de manière générique, nous nous sommes naturellement
tournés vers l’utilisation de la Logique Floue. En effet, elle permet de représenter des informa-
tions imprécises (théorie des sous ensembles flous), incertaines (théorie des possibilités), et inex-
acte (raisonnement approximatif). Son avantage principal est de fournir un grand nombre d’outils
viii
RESUME
mathématiques afin de manipuler de telles informations sous forme numérique ou linguistique,
c’est-à-dire de manière relativement proche du mode de représentation, et surtout d’expression
utilisé par l’homme. A partir des théories du flou, nous pouvons donc user de concepts mathéma-
tiques complexes tout en conservant un rapport privilégié (lien) entre représentation numérique et
mode de description humain.
Nous avons choisi d’intégrer ces différents outils dans un multi formalisme de modélisation
et de simulation afin de pouvoir spécifier de manière générique n’importe quel type de système à
paramètres imprécis. Le formalisme employé est nommé DEVS (Discrete EVents system Specifi-
cation). Ses principaux avantages sont : sa capacité à être étendu à de nouveaux domaines d’étude,
dans notre cas les systèmes flous ; la séparation des phases de modélisation et de simulation, de
ce fait, lors de la conception d’un modèle DEVS les algorithmes de simulation sont automatique-
ment générés en fonction du modèle ; enfin, il permet de représenter un système sous sa forme
fonctionnelle et structurelle.
Notre but est d’associer le formalisme DEVS et une partie des théories du flou afin de définir
une nouvelle approche de modélisation approximative. Pour cela nous avons suivi plusieurs étapes :
1. étude des méthodes existantes (Fuzzy-DEVS et Min-Max-DEVS), à partir de cela nous
avons choisi de ne prendre en compte que les informations imprécises ;
2. définition d’une librairie objet de représentation et de manipulation d’imprécision (nouveau
type de données IntervalleFlou) ;
3. identification des éléments imprécis dans la phase de modélisation DEVS (modèles) ;
4. proposition d’une méthode de prise en compte (IntervalleFlou) ;
5. identification des éléments imprécis dans la phase de simulation (évènements) ;
6. proposition d’une méthode de prise en compte (défuzzification) ;
7. suite aux étapes 4 et 5, définitions de nouveaux types de modèles appelés iDEVS pour
inaccuracy DEVS (DEVS imprécis) ;
8. application et validation de l’approche iDEVS pour l’étude de propagation de feux de forêt.
ix
RESUME
Ces différentes étapes nous ont conduit à proposer une nouvelle approche DEVS qui associe
modélisation systémique et modélisation approximative. Cette approche appelée iDEVS permet
comme nous le souhaitions de spécifier des systèmes à paramètres imprécis sous forme de mod-
èle DEVS. Les modifications apportées au formalisme DEVS classique sont minimes, il est donc
possible d’utiliser l’approche iDEVS dans n’importe quel environnement DEVS, il suffit pour
cela d’importer la librairie définie, il n’y a pas d’autre changement à effectuer. Cet avantage est la
principale force de cette approche.
Cependant, en arithmétique floue, certaines propriétés mathématiques ne sont plus vérifiées, ce
qui nécessite une grande vigilance de l’utilisateur lors de l’écriture des algorithmes. De plus, il est
souvent difficile d’échapper au grossissement des intervalles, autrement dit à une faible précision
des résultats. Il sera donc intéressant d’ajouter un module d’aide à la décision afin de faciliter
l’interprétation des données.
x
Enigme :
Comment relier neuf points avec quatre traits sans lever le stylo ?
La commutativité et l’associativité est respectée pour l’addition et la multiplication mais pas la
distributivité dans le cas général.
On peut étendre cette arithmétique aux fonctions mathématiques classiques telles que : l’-
exponentielle, le logarithme, la puissance, la racine, etc., mais le résultat de l’application d’une
fonction à un intervalle n’est pas toujours un intervalle.
Lorsque la fonction est continue et monotone sur l’intervalle le résultat est un intervalle,
lorsque la fonction n’est pas monotone sur un intervalle, il faut décomposer l’intervalle en in-
tervalles sur lesquels la fonction est monotone.
La règle de base de l’arithmétique des intervalles est que si x ∈ [a,b] alors la fonction f (x) ∈F([a,b]), avec F extension de f aux intervalles.
12
LES THEORIES DU FLOU
1.2 Théorie des sous ensembles flous
La théorie des sous ensembles flous (SEF) est une théorie mathématique du domaine de l’al-
gèbre abstraite. Elle a été introduite par L.A. Zadeh en 1965 [Zad65], nous pouvons déduire d’une
telle théorie une nouvelle logique qui s’affranchit du principe d’élément exclu contrairement aux
notions d’appartenance classiques. La logique floue [Zad88] est basée sur le concept de sous
ensembles flous1. La définition d’un sous ensemble flou répond au besoin de représenter des con-
naissances imprécises ou imparfaites, soit parce qu’elles sont exprimées en langage naturel par un
observateur qui donne peu de précisions ou qui est peu fiable, soit parce qu’elles sont obtenues
à l’aide d’instruments d’observation qui produisent des erreurs ou qui sont peu précis. Pour un
élément d’information donné la théorie des SEF donne la possibilité d’appartenir à un ensemble,
à un niveau d’appartenance allant de 0, pas du tout, à 1, totalement.
La notion de sous ensembles flous permet de traiter :
– des catégories aux limites mal définies ;
– des situations intermédiaires entre le tout et le rien ;
– le passage progressif d’une propriété à une autre ;
– des valeurs approximatives ;
– des classes en évitant l’utilisation arbitraire de limites rigides.
Le concept de SEF constitue un assouplissement de la notion d’appartenance [BM95].
Dans la première section de cette partie nous donnons la définition d’un sous ensemble flou
(SEF), dans les deux sections suivantes nous décrivons les principales méthodes de manipulation.
Enfin, dans les deux dernières sections nous présentons une forme simplifiée des SEF, les quantités
floues, et leurs méthodes de manipulation, l’arithmétique floue.
1.2.1 Définition
Les SEF ont été introduits afin de modéliser la représentation humaine des connaissances, et
ainsi améliorer les performances des systèmes décisionnels utilisant la modélisation.
1Traduction de l’anglais "fuzzy sets"
13
LES THEORIES DU FLOU
Dans un ensemble de référence E, un sous ensemble flou A de ce référentiel est caractérisé
par une fonction d’appartenance µ de A, qui associe à chaque élément x de E, le degré µA(x),
compris entre 0 et 1, pour lequel x appartient à A. Cette fonction est l’extension de la fonction
caractéristique d’un sous ensemble classique [Zad65, Kau73] (voir figures 1.1). Elle peut être
représentée sous forme de fonction triangulaire, trapézoïdale ou parabolique. Dans un souci de
clarté et afin de faciliter les calculs, nous n’utiliserons par la suite que les deux premières formes.
La notion de SEF a pour but de permettre des gradations dans l’appartenance d’un élément x
à une classe A, c’est-à-dire d’autoriser un élément à appartenir plus ou moins fortement à cette
classe.
Un sous ensemble flou A sur le domaine de variation E de x est défini par le triplet (A,a,µA),
où :
– A est un sous-ensemble de E ;
– a, un label linguistique, caractérisant qualitativement une partie des valeurs de x ;
– et µA, la fonction qui donne le degré d’appartenance d’une observation de x au sous-ensemble
flou A. Cette fonction µA est appelée "fonction d’appartenance" de A. Elle associe à chaque
élément x de E, le degré µA(x) compris entre [0;1].
FIG. 1.2: Fonction d’appartenance pour un SEF A
Dans le cas des sous ensembles flous, la fonction d’appartenance peut être définie sous forme
trapézoïdale comme le montre la figure 1.2. A partir de cette représentation, nous pouvons identi-
fier :
14
LES THEORIES DU FLOU
– le noyau comme l’ensemble des éléments "vraiment" dans le SEF A, ∀x ∈ E, µA(x) = 1 ;
– le support comme l’ensemble des éléments dans A à des degrés divers, ∀x∈E, µA(x) 6= 0 ;
– la hauteur comme l’élément ou l’ensemble des éléments le plus dans A, ∀x ∈ E, hauteur =
supµA(x) ;
– l’alpha couple d’un ensemble flou A est le sous ensemble classique des éléments ayant un
degré d’appartenance supérieur ou égal à α , ∀x ∈ E, µA(x)≥ αSi le noyau et le support sont confondus, la fonction caractéristique µ n’admet que 0 ou 1 pour
valeur, nous retrouvons le cas classique présenté partie 1.1.2, figure 1.1.
Par exemple, pour définir la puissance d’un vent à partir d’un sous ensemble flou A, nous
devons définir les différentes valeurs de référence de A, puis un label linguistique qui caractérise
chaque partie de ces valeurs et sa fonction d’appartenance.
Dans cet exemple le label linguistique a pourrait être associé à un des termes suivants f aible,
modérée, rapide, violente, les figures 1.3 et 1.4 décrivent cette association. On remarque que
la vitesse du vent X peut être considérée comme appartenant à plusieurs domaines différents par
exemple : faible et modérée, et que si l’ensemble des valeurs de référence le permet, nous pouvons
regrouper toutes les fonctions d’appartenance sur la même fonction figure 1.4.
FIG. 1.3: Description linguistique de la vitesse du vent
Le label linguistique caractérise le support de la fonction d’appartenance, celle-ci peut être
décrite par un ensemble de couples (x,µA(x)), ou plusieurs équations. Pour une vitesse de vent
qualifiée de "modérée" les couples suivants (10|0),(13|0.5),(15|1),(19|1),(22|0) peuvent décrire
la fonction d’appartenance présentée figure 1.5.
15
LES THEORIES DU FLOU
FIG. 1.4: Fonctions d’appartenance décrites à partir de labels linguistiques
FIG. 1.5: Fonction d’appartenance décrite à partir de couple x,µA(x)
1.2.2 Opérations de base sur les sous-ensembles flous.
La théorie mathématique à la base des sous ensembles flous définit de nombreuses opérations
sur ces sous ensembles et sur les fonctions d’appartenance qui rendent les notions (union, inter-
section, etc.) utilisables.
On peut définir le complément d’un sous ensemble flou A comme le complément à un de sa
fonction d’appartenance ; l’union et l’intersection de deux sous ensembles flous A et B, comme
respectivement le plus petit sous ensemble flou contenant A et B, et le plus grand sous ensemble
flou contenu dans A et dans B. En d’autres termes, si A et B sont deux sous ensembles flous et µA
et µB leurs fonctions d’appartenance, on a :
– A, le complémentaire de A, défini par la fonction d’appartenance µA = 1−µA ;
– A∩B, le sous ensemble représentant l’intersection de A et de B, défini par la fonction d’ap-
partenance : µ(A∩B) = min(µA,µB) ;
– A∪B, le sous ensemble représentant l’union de A et de B, défini par la fonction d’apparte-
nance : µ(A∪B) = max(µA,µB) ;
16
LES THEORIES DU FLOU
FIG. 1.6: Complément, Intersection et Union d’un SEF
Ces définitions sont celles les plus communément utilisées mais, dans certains cas, d’autres
sont plus appropriées. Par exemple l’intersection peut être définie par le produit des fonctions
d’appartenance et l’union par la moyenne arithmétique des fonctions d’appartenance. Ces dif-
férentes techniques de calcul engendrent une énorme capacité d’adaptation des raisonnements
flous. Cependant les résultats peuvent varier d’une méthode à l’autre, il incombe à l’utilisateur de
choisir la méthode la plus avantageuse pour résoudre sa problématique. En ce qui nous concerne
nous avons choisi d’utiliser le principe d’extension.
1.2.3 Principe d’extension
Le principe d’extension (eq.1.1), proposé initialement par Zadeh [Zad65], est un des outils
fondamentaux de la théorie des sous ensembles flous ; il est à l’origine de beaucoup de définitions.
Pour toute relation exacte φ entre deux sous ensembles A et B, ce principe permet la généralisation
au flou d’un certain nombre de concepts.
En particulier l’image par φ (opération / relation) d’un sous ensemble flou A est un sous
ensemble flou C défini par la formule suivante µC(z) = φ(µA(x)). Dans le cas où φ est injec-
tive, et si plusieurs éléments de l’ensemble de départ E admettent la même image alors µC(z) =
supµA(x) |φ(x) = z, ce qui signifie que pour toutes valeurs de z de l’ensemble d’arrivée son de-
gré d’appartenance par φ est le meilleur des degrés d’appartenance de tous les x tel que φ(x) = z.
Dans le cas général le principe d’extension permet d’obtenir l’image C de deux sous ensembles
flous A et B par la fonction φ . Le résultat C = µφ(A,B) par φ de A et B est défini par l’équation 1.1 :
µφ(A,B)(z) = supmin(µA(x),µB(y)) |φ(x,y) = z (1.1)
Sur R, on définit donc conformément au principe d’extension une somme (φ = +) par :
17
LES THEORIES DU FLOU
µA+B(z) = supmin(µA(x),µB(y)) |x+ y = z (1.2)
Chaque fois que z est obtenu comme somme, son degré d’appartenance est le meilleur parmi
les décompositions.
Exemple :
Pour deux sous ensembles flous A et B, tel que :
A = (2 | 0.2),(4 | 0.6),(6 | 1),(8 | 0.4) et, B = (3 | 0.6),(5 | 0.3),(7 | 0.7),(9 | 1),la valeur z = 11 image de x ∈ A et y ∈ B tel que x + y = 11 est obtenue à partir des couples
suivants : (2+9);(4+7);(6+5);(8+3).Le principe d’extension (équation 1.1) permet d’obtenir le degré d’appartenance de z pour
l’opération φ = +.
A partir de l’équation 1.2 définie conformément au principe d’extension nous avons :
Le principe d’extension permet d’étendre un grand nombre des relations fonctionnelles clas-
siques aux quantités floues, mais pour des opérations complexes, manipuler des sous ensembles
flous à partir de ce principe peut devenir compliqué, nous avons donc choisi de nous restreindre à
l’étude de sous ensembles flous ayant des propriétés particulières.
1.2.4 Quantité floue
Concrètement, une proportion importante des sous ensembles flous représentent des proposi-
tions prenant leurs valeurs dans l’ensemble des nombres réels. Pour manipuler ces SEF dans R on
utilise des fonctions d’appartenance simplifiées, celles que l’on construit généralement de manière
intuitive : forme triangulaire ou trapézoïdale. Ces fonctions permettent de représenter des valeurs
18
LES THEORIES DU FLOU
réelles (vitesse, longueur, taille, prix) décrites à partir de termes approximatifs, "environ", "à peu
près", "entre", etc.
On désigne par Quantité floue Q, un sous ensemble flou sur les réels, l’application définie par
µQ : R→ [0,1]. Cette application est supposée normalisée sauf indication contraire. On désigne
par valeur modale de Q, tout nombre réel m appartenant au noyau de Q (µQ(m) = 1).
Un intervalle flou I est une quantité floue convexe, c’est-à-dire que pour deux points m,n ∈I, le segment [m,n] qui joint les deux points est entièrement contenu dans I.
DÉFINITION : une quantité floue est convexe si sa fonction d’appartenance est quasi con-
cave [DP88, BM95] :
∀u,v,w ∈ [u,v], µQ(w)≥ min(µQ(u),µQ(v)) (1.3)
La formule peut également s’écrire sous la forme plus connue de la convexité :
Ces formules sont plus rapides et plus faciles à utiliser, elles s’appliquent uniquement sur les
bornes et le noyau de l’intervalle, c’est-à-dire sur le quadruplet [a,b,α ,β ], contrairement aux
opérations sur les quantités floues qui s’appliquent sur tout le support. Pour simplifier nos calculs,
c’est généralement sous cette forme que seront utilisées les opérations de bases (+,−,/,×,etc.).
Pour les fonctions plus complexes comme (√,exp(), ln(),sin(),etc.) il est nécessaire d’utiliser le
principe d’extension qui reste la seule méthode permettant d’obtenir les résultats escomptés.
Cas particulier : intervalles et nombres flous de type "L-R"
Pour certaines formes de fonctions d’appartenance, il est simple d’effectuer des opérations.
C’est le cas pour les intervalles flous de type "L-R", c’est-à-dire dont les fonctions d’appartenance
sont construites à partir du quadruplet [a,b,α,β ], et deux fonctions de forme L (left) et R (right),
définies sur l’ensemble des réels positifs R+, à valeurs dans [0,1], semi-continues supérieurement,
non croissantes, telles que L(0) = R(0) = 1, L(1) = R(1) = 0 ou L(w) > 0∀w avec limw→∞L(w) =
23
LES THEORIES DU FLOU
0 et R(w) > 0∀w avec limw→∞R(w) = 0 [BM95].
Ce type particulier d’intervalle permet de représenter la fonction d’appartenance sous forme
de deux équations notées :
µA(x) =
L(a−xα )six≤ a
1sia < x < b
R(x−bβ )six≥ b
on note I = [a,b,α ,β ]LR un intervalle flou de type L-R, et si a = b
alors I est un nombre flou de type L-R (figure 1.8).
Les calculs sur ce type d’intervalle sont simplifiés (exemple +,−), mais l’image d’un in-
tervalle de type L−R n’est pas forcément un intervalle de même type (exemple ×,/). Dans la
littérature on trouve différentes notations L−R ou µ−,µ+, par la suite nous utiliserons plus sou-
vent la seconde notation. De plus, les équations décrivant ces modes de représentation peuvent être
fonction de x ∈R→ [0,1] , équation standard de type µ(x) = ax+b ou fonction de λ ∈ [0,1]→R, elles sont alors appelées front ou profil. Un front doit pouvoir représenter la partie gauche ou
droite d’un intervalle flou, ainsi que le résultat d’opérations effectuées sur ces derniers. C’est une
fonction de [0;1] dans R définie pour un intervalle flou A par [A−;A+].
A+ représentant l’équation de la demi-droite (b,β ) définie par l’équation A+(λ ) =−β ×λ +
(β +b) ;
A− représentant l’équation de la demi-droite (α ,a) définie par l’équation A−(λ ) = α ×λ +
(a−α).
Pour les intervalles flous de type L-R les opérations d’addition, de soustraction et de multipli-
cation à partir de la méthode des fronts [DFF04, FDF04] sont définies de la manière suivante :
soit A et B deux intervalles flous définis par [A−,A+] et [B−,B+] (figure 1.8) :
La méthode des fronts permet d’obtenir des résultats exacts, non linéaires pour la multiplication
et la division. Il est montré dans [DFF04, FDF04] que le résultat d’une multiplication est une
fonction définie par quatre fronts. Dans notre cas nous utiliserons la représentation d’intervalles
24
LES THEORIES DU FLOU
à partir de deux fronts car celle-ci est intuitive et simple à visualiser, mais nous ne distinguerons
pas intervalle flou et intervalle flou de type L-R. Les formules utilisées pour effectuer des calculs
seront plutôt celles présentées au début de la partie 1.2.5.2.
La théorie des sous ensembles flous présente au moins deux intérêts : d’abord, elle permet de
modéliser des connaissances imprécises ou vagues, ce que très peu d’autres méthodologies au-
torisent. Ensuite, elle est le seul moyen de traiter dans un même cadre des connaissances fournies
numériquement, par des instruments de mesure, et des connaissances exprimées symboliquement,
par un expert humain.
Elle ne permet cependant pas de manipuler dans un même formalisme des imprécisions et des
incertitudes. Or ces deux types d’imperfections dans les connaissances sont intimement liés.
La théorie des possibilités qui a aussi été introduite par L.A. Zadeh en 1978, constitue un
cadre permettant de traiter des concepts d’incertitude de nature non probabiliste. Lorsqu’elle est
considérée à partir de la notion d’ensemble flou, la théorie des possibilités constitue un cadre
permettant d’exploiter, dans un même formalisme, imprécisions et incertitudes [BM95].
1.3 Théorie des possibilités
Cette théorie est le second volet de la Logique Floue. Elle est basée sur les fonctions de possi-
bilités comme la théorie des sous ensembles flous l’est sur les fonctions d’appartenance.
La théorie des possibilités a été introduite en 1978 par L.A. Zadeh, en liaison avec la théorie
des SEF, pour permettre de raisonner sur des connaissances imprécises, en introduisant un moyen
de prendre en compte des incertitudes sur les connaissances.
La fonction de possibilité Π associe à chaque évènement d’un univers Ω une valeur entre 0 et
1 qui définit le degré de possibilité de l’évènement : Π : u ∈Ω→Π(u) ∈ [0;1]
Il ne faut pas confondre possibilité et probabilité car, même si les deux notions traitent des
incertitudes évènementielles, certaines différences très importantes séparent ces deux concepts.
25
LES THEORIES DU FLOU
Par exemple, si A est l’évènement contraire de A, on a P(A) = 1−P(A) mais il n’y a aucune
raison que Π(A) soit égal à 1−Π(A). Ou encore, la somme des probabilités des évènements d’un
univers est égale à 1 mais celle des possibilités est presque toujours supérieure à 1.
Dans cette partie nous décrivons succinctement la théorie des possibilités qui permet de pren-
dre en compte les incertitudes ("demain il y aura vraiment beaucoup de vent"). Dans certain cas,
celles-ci peuvent être transformées en imprécisions (contraites sur une fonction d’appartenance)
et traitées avec la théorie des SEF.
Dans la première section, nous présentons la méthode à employer pour prendre en compte à
partir de la théorie des SEF des données à la fois imprécises et incertaines. Dans les sections suiv-
antes, nous donnons un certain nombre de définitions nécessaires aux traitement des possibilités.
1.3.1 La théorie des ensembles flous comme base de celle des possibilités
La théorie des SEF fournit une base naturelle à la théorie des possibilités [Zad78]. Une con-
trainte floue sur les valeurs que peut prendre une variable x induit une distribution de possibilités
sur les valeurs de x. On associe à une variable dont les valeurs sont floues une distribution de pos-
sibilité, de la même manière qu’on associe à une variable aléatoire une distribution de probabilité.
Exemple : soit la proposition "demain il y aura beaucoup de vent", la théorie des possibilités
permet de définir un degré de confiance, entre 0 et 1, pour la réalisation de l’évènement.
Toute distribution de possibilité peut être interprétée comme une restriction floue sur les
valeurs que peut prendre une variable. La distribution de possibilité devient alors une fonction
d’appartenance d’un sous ensemble flou représentant cette contrainte.
1.3.2 Mesure de possibilité et de nécessité
La théorie des possibilités a été initialement prévue pour tenir compte des informations incom-
plètes à propos de propositions booléennes. Le degré de possibilité n’est donc en rien un degré de
vérité mais plutôt un degré de préférence alors que la nécessite mesurera plutôt une priorité.
Pour une proposition donnée, si l’on a plusieurs incertitudes la caractérisant, la mesure de
possibilité est la solution la plus pessimiste ou la plus prudente : Π(∪iAi) = maxi(Π(Ai)).
26
LES THEORIES DU FLOU
Une mesure de nécessité est une mesure de confiance vérifiant N(∩iAi) = mini(N(Ai)) sans
qu’il ne soit question d’aucune notion d’indépendance. Chaque fois qu’une mesure de possibilités
Π est définie, alors la nouvelle mesure définie par N(A) = 1−Π(A) est une nécessité, et récipro-
quement ; si N est une mesure de nécessité, alors Π est définie par Π(A) = 1−N(A) qui est à son
tour une possibilité.
1.3.3 Distribution de possibilité, mesure de possibilité et ensemble flou
Une distribution de possibilité sur un intervalle U est une application π de U dans l’intervalle
[0;1] qui est normalisée, c’est-à-dire vérifiant sup(π) = 1.
Le rapport évident avec les possibilités sur U , est que toute distribution de possibilité permet de
définir une mesure de possibilité pour les parties de U simplement par Π(A) = supπ(x)/x ∈ A,de plus N(A) = in f1−π(x)/x /∈ A définit la nécessité duale.
Si la logique floue intervient dans le cas où les degrés de vérité des propositions sont intermé-
diaires entre 0 et 1, la logique possibiliste concerne des degrés d’incertitude sur les propositions.
Elle sont donc de natures différentes, même si la logique floue possède la capacité de manipuler
également des degrés d’incertitude.
1.4 Raisonnement approximatif
La logique floue est une extension de la logique classique. Elle a été présentée par Zadeh
[Zad75] comme un cadre pour le raisonnement approximatif, une théorie mathématique ayant
pour objet l’étude des méthodes d’inférence et des systèmes flous.
Le raisonnement approximatif et la prise en compte de faits imprécis et incertains sont tout à
fait naturels pour l’être humain. Pour raisonner sur de telles connaissances, la modélisation clas-
sique ne suffit pas, en effet dans ce cas, les approximations sur les variables génèrent au final des
erreurs relativement importantes. En modélisation floue, on prend en compte les valeurs impré-
cises dès le départ, ce qui permet au final d’obtenir une plage de valeurs (imprécises) plus étendue
mais plus juste. Selon Zadeh [Zad83] la modélisation floue fournit des moyens approximatifs mais
27
LES THEORIES DU FLOU
efficaces pour décrire le comportement des systèmes qui sont trop complexes ou trop mal définis
pour admettre l’utilisation d’une analyse mathématique précise. Le résultat de cette modélisation
n’est plus une valeur unique mais un intervalle de valeurs, il y a donc plus de chances qu’il soit
cohérent avec les objectifs et contraintes de départ. Pour son interprétation, on peut utiliser des
critères de décidabilité afin de proposer une solution en adéquation avec le domaine étudié.
L’étude de ces systèmes passe par la prise en compte d’imprécisions, d’incertitudes mais aussi
par un raisonnement pertinent et performant sur le système dans sa globalité (variables d’entrées,
de sorties, comportement). Les systèmes flous possèdent de variables d’entrée floues et fournissent
des résultats sur des variables de sortie elles-mêmes floues, ces notions de base sont présentées
dans la première section. Le comportement d’un système flou est basé sur un ensemble de règles
permettant de fournir des résultats à partir d’un comportement partiellement connu (incomplé-
tude). La prise en compte du flou dans la démarche de modélisation est décrite dans les deux
dernières sections.
1.4.1 Système flou
Les systèmes flous utilisent une représentation des connaissances sous forme de règles floues,
une manière normale d’expliquer des procédés de décision. Ils expriment des concepts en terme
(variable) linguistique, près de la représentation humaine, par exemple, "vent rapide" au lieu de
"vent supérieur à 40km/h". Il y a une correspondance entre les variables linguistiques et des valeurs
numériques associées.
Une variable linguistique [Zad76] est une variable prenant ses valeurs dans un ensemble de
"mots" symboliques, définissant certaines catégories d’un ensemble de référence.
0n appelle variable linguistique un triplet (V,X ,Tv), tel que :
– V : une variable symbolique définie sur X ;
– X : un ensemble de référence ;
– Tv : Tv = A1,A2, ... un ensemble fini ou dénombrable de sous ensembles flous normalisés,
utilisés pour caractériser V .
Si l’on reprend notre exemple (partie 1.2.1), la variable linguistique est définie par une variable
28
LES THEORIES DU FLOU
symbolique V : "la vitesse du vent", par un ensemble de référence X = R+, et un ensemble de
SEF caractérisant les vitesses du vent Tv = f aible, moderee, rapide, violente.Une proposition floue est définie à partir d’une variable linguistique (V,X ,Tv) par la qualifi-
cation "V est A", exemple : "la vitesse du vent est rapide".
On appelle modificateur linguistique M un opérateur qui permet à partir de toute carac-
térisation floue A de V , de produire une nouvelle caractérisation où A ∈ M(Tv), ce dernier étant
l’ensemble des caractérisations obtenues en appliquant un modificateur linguistique M. Le résul-
tat de cette opération n’est pas forcément dans Tv. Par exemple un modificateur linguistique peut
caractériser la vitesse du vent comme étant "très violente"
Une règle floue est une proposition floue de la forme "Si p alors q" utilisant une implication
entre deux propositions floues quelconques p et q. Ces règles permettent de décrire le comporte-
ment d’un système flou à partir de la combinaison d’une ou plusieurs propositions floues. Par
exemple, "si la vitesse du vent est rapide et la végétation est sèche alors les risques d’incendie
sont importants".
Les systèmes flous sont adaptés à la modélisation de systèmes à comportement complexe, ils
peuvent approcher n’importe quel comportement numérique avec le niveau désiré de précision et
un coût d’expression linguistique réduit [Zad73].
1.4.2 SIF : système d’inférence floue
Nous avons vu que les imprécisions et les incertitudes pouvaient être prises en compte avec les
théories des sous ensembles flous et des possibilités, ces deux imperfections sur les connaissances
sont souvent liées, dans ce cas, il est nécessaire d’utiliser la théorie des possibilités sur un sous
ensemble flou.
Pour les systèmes dont le comportement n’est pas précisément connu (incomplet) des outils
comme le raisonnement approximatif et les systèmes d’inférence floue permettent à la fois de
décrire son comportement mais aussi d’en exploiter les résultats.
Les systèmes d’inférence floue (SIF) sont composés d’une collection de règles floues qui ont
la forme générale : "Si p alors q".
29
LES THEORIES DU FLOU
La conception des SIF s’appuie en général sur des connaissances expertes pour la définition
des termes linguistiques correspondant à chaque variable (ensemble de fonctions d’appartenance)
d’une part, et sur des algorithmes d’apprentissage pour la génération des règles d’autre part. Par
exemple, les termes linguistiques associés à la vitesse du vent (faible, modérée, rapide, violente)
correspondent à des vitesses définies dans l’échelle de Beaufort.
Les SIF sont à utiliser quand : (1) il existe une expertise humaine que l’on veut exploiter et
introduire dans un système automatique, (2) on veut extraire des connaissance à partir de données
numériques, en les exprimant dans un langage proche du langage naturel, (3) on veut réaliser
une interface homme-machine, donner des explications ou établir des diagnostics immédiatement
interprétables.
FIG. 1.9: Système d’inférence floue schématisé
La réalisation d’un système d’inférence passe par plusieurs étapes (figure 1.9 [Glo99, PR02]),
la fuzzification et la défuzzification des variables d’entrées et de sorties, et la réalisation d’un
moteur d’inférence.
1.4.3 Fuzzification et défuzzification
L’opération qui consiste à transformer un ensemble réel en ensemble flou est appelée "fuzzification",
et l’opération inverse est appelée "défuzzification". La fuzzification est l’étape qui consiste à
quantifier à l’aide de termes linguistiques ou de valeurs floues les valeurs réelles d’une variable.
Fuzzifier des variables est une phase délicate du processus mis en oeuvre par la logique floue,
30
LES THEORIES DU FLOU
car il faut connaître toutes les variations possibles de la variable, sa ou ses fonctions d’apparte-
nance.
La défuzzification est une phase décisionnelle, qui permet de transformer une valeur floue
d’une variable en une valeur réelle.
Il existe de nombreuses méthodes de défuzzification :
– méthode des hauteurs ;
– méthode du centre de gravité (dite de Mamdani [MA75, Mam76, Mam77]), elle consiste
à prendre pour valeur finale, en sortie, l’abscisse du centre de gravité de l’ensemble flou
agrégeant les conclusions ;
– méthode des moyennes des maxima ;
– méthode des aires (dite de Sugeno [Sug77, Sug85]), elle consiste à prendre la médiane qui
fait le partage de l’aire en deux.
1.5 Conclusion de chapitre
Dans ce chapitre, nous avons présenté plusieurs théories permettant la description et la manip-
ulation d’informations imparfaitement définies. La théorie des sous ensembles flous et la théorie
des possibilités constituent aujourd’hui ce que l’on appelle la Logique Floue. La Logique Floue
permet la formalisation des imperfections dues aux connaissances inexactes d’un système et à
la description du comportement du système par des mots. Elle permet donc la description d’un
système et le traitement de données aussi bien numériques que linguistiques.
La logique floue a été formalisée et des théorèmes permettent de faire le pont entre logique
classique et logique floue. Il a été prouvé que dans le cas particulier où les propositions traitées ne
sont pas floues, la logique floue se réduit à la logique classique.
Nous avons axé notre présentation sur la théorie des sous ensembles flous, car elle offre une
palette d’outils pour formaliser les processus de raisonnement humain. C’est un moyen efficace de
prendre en compte l’imprécision dans des connaissances. A la différence de l’incertitude inhérente
à une information qui donne le degré avec lequel on peut être certain qu’un évènement se produira,
31
LES THEORIES DU FLOU
l’imprécision d’une connaissance est liée à la mesure qui en est faite. Ainsi, la théorie des sous
ensembles flous ne préjuge pas de l’occurrence d’un évènement mais plutôt de la manière dont
des éléments sont perçus ou connus. Manipuler les imprécisions est une capacité humaine par
excellence. Le mode de raisonnement humain est capable d’appréhender des données imprécises
et d’arriver à en déduire des conclusions adéquates. La théorie des sous ensembles flous formalise
et prend en compte cette capacité. Elle permet de s’approcher, pour les systèmes à comportement
ou paramètres flous, des modes de raisonnement humain [Zad83].
Pour ces différentes raisons, nous souhaitons l’utiliser en l’associant à un formalisme de mod-
élisation et de simulation. Il sera ainsi possible d’étudier des systèmes à paramètres imprécis. De
plus, cette association permettra une meilleure liaison entre l’étape d’acquisition des données en
vu de sa description sous forme linguistique et l’étape de modélisation. Dans le chapitre suivant,
nous présentons le second pan de nos travaux de recherche, à savoir les bases théoriques de la
modélisation et la simulation de systèmes et plus précisément le formalisme DEVS.
32
CHAPITRE 2
Modélisation et Simulation de Systèmes
La Pratique c’est quand ça marche mais
que l’on ne sait pas pourquoi !
Edmond Wells
LETRE humain n’a de cesse de chercher à comprendre le monde qui l’entoure. Les différentes
phases d’étude nécessaires à cette compréhension ont toujours évolué de pair avec la tech-
nologie : observation, constatation, hypothèse, preuve, explication, acquisition, modélisation, etc.
L’avènement de l’informatique et l’apparition de nouveaux formalismes de traitement ont
écourté ou fait disparaître certaines de ces phases ; les progrès des méthodes numériques et l’aug-
mentation des performances des ordinateurs permettent aujourd’hui, grâce à des simulations de
plus en plus rapides et détaillées, de prédire le comportement de systèmes complexes. La phase
qui consiste à décrire le comportement d’un système est appelée la modélisation. La théorie de la
modélisation et de la simulation est basée en grande partie sur la théorie générale des systèmes. La
théorie générale des systèmes est un principe selon lequel tout est système, on parle aujourd’hui
de Théorie Systémique.
Les travaux présentés dans ce chapitre, et plus généralement dans cette thèse, concernent la
33
MODELISATION ET SIMULATION DE SYSTEMES
modélisation et la simulation informatique de systèmes complexes. Notre réflexion et les développe-
ments associés se réfèrent aux notions de système, de modèle, de modélisation, et de simulation.
Ces notions sont dépendantes des techniques et du domaine d’application choisis. Toutes ces en-
tités interviennent dans le processus de modélisation et de simulation. La figure 2.1 présente ces
différents éléments.
FIG. 2.1: Etapes du processus de modélisation et de simulation
Le système est l’élément à la base de l’étude, c’est de là que les données nécessaires à l’élab-
oration du modèle puis à sa validation sont issues. Il est lié au modèle par une relation appelée la
relation de modélisation qui décrit le système dans un environnement choisi.
Le modèle est une représentation du système réel dans un certain environnement. Les modèles
sont associés à une structure de contrôle appelée simulateur. Il reproduit le comportement du
système sous certaines conditions et génère les résultats issus de la simulation du modèle. Ce
processus est appelé simulation.
Le simulateur permet de faire évoluer le modèle dans le temps. Les résultats de ce processus
sont comparés aux données du système réel afin de vérifier la conformité du modèle, cette relation
entre le simulateur et le système est appelée la relation de validation. Dans ce chapitre nous
revenons en détail sur toutes ces notions.
Dans la première partie nous décrivons succinctement différentes approches de modélisation :
systémique, empirique mécaniste et approximative.
Dans le seconde partie nous présentons de manière générale l’approche de modélisation sys-
témique. Elle est à la base du formalisme de modélisation utilisé. De plus, nous présentons la
théorie systémique, et donnons les définitions de système, de modèle, de modélisation et de sim-
ulation.
34
MODELISATION ET SIMULATION DE SYSTEMES
Avant de conclure, dans la troisième partie, nous décrivons le formalisme de modélisation et
de simulation à la base de nos travaux, à savoir le formalisme DEVS (Discrete EVent system
Specification), introduit par le professeur B.P. Zeigler [Zei76].
2.1 Approches de modélisation
D’une façon générale, nous pouvons distinguer plusieurs approches de modélisation : sys-
témique, empirique, mécaniste, approximative. Les approches de modélisation prédictive, que l’on
peut qualifier de "non approximatives" font opposition aux méthodes dites approximatives.
L’approche systémique se base sur une description mathématique ou physique de plusieurs
processus simultanés et de leurs interactions pour définir des modèles. L’objectif de ce type de
modèle est de prendre en compte l’ensemble des variables clés et leurs interactions.
L’approche empirique est déduite des tendances observées à l’intérieur d’un ensemble de
données, elle part du postulat que ces tendances ne vont pas changer dans le temps. Les représen-
tations logiques structurent certaines de ces approches empiriques. Trois types de raisonnements
logiques peuvent être distingués :
1. le raisonnement déductif, qui permet à partir de connaissances sur un phénomène quel-
conque de déduire des conclusions ;
2. le raisonnement inductif au contraire part des conclusions pour déterminer les prémisses de
règle ;
3. le raisonnement abductif qui cherche à attacher des causes plausibles à un ensemble de
prémisses.
L’approche mécaniste est basée sur la connaissance du fonctionnement d’un système. Les dif-
férents processus qui composent le système sont modélisés indépendamment à l’aide de formules
qui décrivent une loi ou une règle. Les modèles issus de cette approche comprennent trois parties :
1. Une base de fait, mémoire de travail qui contient les données initiales et les hypothèses
émises décrivant le problème à traiter ;
35
MODELISATION ET SIMULATION DE SYSTEMES
2. Une base de règles constituant la connaissance permanente ;
3. Un moteur d’inférence, mécanisme ou algorithme, qui exploite les règles. Les moteurs d’in-
férence fonctionnent selon deux mécanismes :
(a) par chaînage avant, ils partent de la base de faits pour aboutir à des conclusions : "si Y
alors X" ;
(b) par chaînage arrière ils prennent la procédure dans le sens inverse, des conclusions aux
conditions initiales. Ces deux mécanismes peuvent aussi être combinés.
Ce genre d’approche se prête bien à la modélisation de processus complexes qui requièrent l’-
expertise de spécialistes. Le savoir faire de ces derniers aide à l’élaboration des bases de règles
pour la modélisation des processus. Ces modèles sont en revanche peu appropriés pour décrire un
système dans sa totalité quand les bases de règles à mettre en oeuvre ne peuvent pas prendre en
compte l’ensemble des paramètres du phénomène.
L’approche approximative : dans le cadre des modes de raisonnement présentés, un prédicat
est soit vrai soit faux. Cependant, le raisonnement et la mise en place de modèles reposent souvent
sur des connaissances et des bases de données imparfaites. La mise en place de procédures visant
à établir des scénarii prédictifs fiables doit permettre de prendre en compte les données incertaines
et / ou imprécises des modèles. Concevoir de telles procédures implique de sortir des approches
classiques de la logique. Cela exige aussi de définir une représentation de l’incertitude et de l’im-
précision, de choisir des procédures de raisonnement qui prennent en compte ces aspects tout en
les propageant au cours des étapes du raisonnement afin de pouvoir les qualifier et les quantifier
dans les résultats.
Dans la partie suivante nous revenons en détail sur l’approche systémique, en effet le formal-
isme de modélisation utilisé est basé sur cette approche.
2.2 Théorie Systémique
Notre étude s’inscrit dans un courant de pensée qui propose une certaine vision du monde, la
systémique. De cette vision découle une pratique particulière de l’activité scientifique. La partie
36
MODELISATION ET SIMULATION DE SYSTEMES
proprement opératoire de l’analyse systémique est née des travaux de L. von Bertalanffy [Ber68] ;
elle met l’accent sur la notion du système comme faisant partie d’un tout. Jusque là, l’approche
scientifique était résolument réductionniste, c’est-à-dire qu’elle procédait par décomposition du
réel pour en isoler une partie qui devenait l’objet d’étude. Cette approche a trouvé ses limites dans
des perspectives d’explications plus globales où les mécanismes décrits au niveau individuel ne
suffisent pas à expliquer le comportement de l’ensemble.
Le mot "système" apparaît dès le XVIIIème siècle, il est à l’origine des concepts fondateurs
de la systémique ou de la science des systèmes. Il sera repris en 1950 par le biologiste théoricien
V. Bertalanffy qui voulait pouvoir décrire dans le même langage les systèmes artificiels et les sys-
tèmes naturels, à l’époque les systèmes fermés ou statiques et les systèmes ouverts ou dynamiques.
Un système permet de représenter un phénomène perçu comme complexe, il peut être déter-
miné à partir de quatre questions intrinsèquement liées :
Ces questions sont résumées par la figure 2.2 :
1. il fait quoi ?→ fonction ;
2. dans quoi ?→ environnement ;
3. pour quoi ?→ finalités ;
4. devenant quoi ?→ transformation.
Autrement dit en interrogeant les interrelations qui le constituent, interrelations avec ses sous
systèmes et avec son environnement, il est possible de décrire un système.
FIG. 2.2: Interrelation qui consituent un Système
37
MODELISATION ET SIMULATION DE SYSTEMES
Le concept moderne de système date des années 50. Un système est décrit sous deux aspects :
structurel et fonctionnel (comportemental) [Zei00].
Sous son aspect structurel un système comprend quatre composants :
1. les éléments constitutifs. Nous pouvons en évaluer le nombre et la nature ;
2. une limite, ou une frontière, qui sépare la totalité des éléments de son environnement avec
le milieu extérieur. La limite d’un système peut être floue, ou mouvante, comme dans le cas
d’un feu de forêt avec son front de flamme ;
3. des réseaux de relations (liens). Les éléments sont en effet interreliés ou connectés pour
pouvoir communiquer et s’échanger des informations ;
4. des stocks (lieu de stockage) où sont gardés les informations qui doivent être transmises ou
réceptionnées.
L’aspect structurel est la représentation de la structure potentielle d’un système.
Sous son aspect fonctionnel un système est aussi décrit par quatre éléments :
1. des flux d’informations, qui empruntent les réseaux de relations et transitent par les stocks.
Ils fonctionnent par entrées / sorties avec l’environnement ;
2. des centres de décision qui organisent les réseaux de relations, ils coordonnent les flux et
gèrent les stocks ;
3. des boucles de rétroaction, elles servent à informer les centres de décision sur l’état général
du système ;
4. des ajustements réalisés par les centres de décision en fonction des boucles de rétroaction.
L’aspect fonctionnel est la représentation du comportement du système.
Dans cette partie nous donnons plusieurs définitions. Dans la première section nous décrivons
la notion de système. Dans les sections deux, trois et quatre nous apportons les notions de mod-
élisation, simulation et paradigme de modélisation et de simulation.
38
MODELISATION ET SIMULATION DE SYSTEMES
2.2.1 Systèmes
Nous pouvons définir un système comme étant un ensemble hiérarchique d’éléments matériels
ou immatériels (êtres vivants, machines, méthodes, règles, etc.) en interaction, transformant par
un processus des éléments d’entrée en éléments de sortie. Par exemple, une éolienne transforme
le vent en électricité. C’est une organisation hiérarchique de sous systèmes, considérés eux-
mêmes comme des systèmes à part entière (le système "éolienne" est composé de sous systèmes
"palles", "moteur", etc.). Nous parlons de systèmes physiques, biologiques ou sociaux, systèmes
qui relèvent de la systémique. Nous voyons ici que la systémique se veut transdisciplinaire et / ou
pluridisciplinaire en essayant de trouver des lois générales indépendantes des contextes d’appli-
cation. Cette transdisciplinarité nous intéresse tout particulièrement.
La systémique distingue l’aspect structurel et fonctionnel des systèmes, elle définit aussi les
systèmes comme causaux, les sorties sont la conséquence d’une entrée, ou déterministes, à une
entrée donnée ne peut correspondre qu’une seule sortie. Cette définition est à la base de nombreux
formalismes tels les équations différentielles, les automates à états finis, les réseaux de Pétri, etc.
Plus généralement, un système A peut être défini par la formule :
A =< τ,X ,Ω,S,Y,δ ,λ > (2.1)
avec :
– τ : base de temps ;
– X : ensemble des états d’entrée ;
– Ω : τ → X : états d’entrée courants ;
– S : ensemble des états du modèle ;
– δ : Ω×S→ S : fonction de transition, elle fait évoluer l’état du modèle en fonction des états
d’entrées (activations) ;
– Y : ensemble des états de sortie ;
– λ : S→ Y : fonction de sortie.
Dans l’équation 2.1, la base de temps τ représente la variable de temps ou l’écoulement d’une
39
MODELISATION ET SIMULATION DE SYSTEMES
durée. L’ensemble des états d’entrée X constitue toutes les activations d’entrées possibles pour le
système. S représente l’ensemble des états que peut prendre le système. Etymologiquement, un
état est une matière d’être à un moment donné.
La dynamique du système est décrite par la fonction de transition δ , elle applique les états
d’entrée Ω à l’état courant S pour transiter vers un nouvel état. Le système génère une sortie en
appliquant la fonction λ à partir de l’état courant. Les fonctions de transition et de sortie sont
activées pour faire évoluer le système dans le temps.
2.2.2 Modélisation
Selon le domaine historique et la discipline étudiée, la définition de modèle et de modéli-
sation peut varier notablement. Il y a une relation forte entre contexte et définition. D’après P.
Fishwich [Fis95] "modéliser c’est décrire une réalité sous la forme d’un système dynamique, à
l’aide d’un langage de description, à un certain niveau d’abstraction". Toujours d’après P. Fish-
wich [Fis95] la modélisation est représentée par la symbiose entre le formalisme et les techniques
de modélisation qui poursuivent le même objectif : "dégager les meilleures métaphores et analo-
gies permettant de mieux comprendre un phénomène quelconque".
Selon C. Oussalah [Ous88] "la modélisation est un épimorphisme entre un système réel et un
modèle dont la finalité est de donner une représentation simplifiée et observable de la structure et
du comportement du système réel".
Ceci nous conduit à définir, dans notre contexte, la modélisation comme un processus d’iden-
tification d’un phénomène et l’opération par laquelle on établit son modèle, afin d’en proposer
une représentation interprétable, reproductible et simulable. C’est une technique qui consiste à
restituer, sous une forme compréhensible par l’ordinateur, un objet ou un phénomène quelconque.
Ce modèle, ainsi constitué, permet d’approcher le fonctionnement ou le comportement du sys-
tème par l’intermédiaire d’un certain nombre d’hypothèses et de règles qui composent ce que l’on
appelle un formalisme de modélisation.
La modélisation et la simulation sont des domaines scientifiques faisant un grand usage de
l’informatique, et leur mise en œuvre s’effectue au sein de logiciels appelés environnements de
40
MODELISATION ET SIMULATION DE SYSTEMES
FIG. 2.3: Cycle de vie d’un modèle.
modélisation et de simulation.
La modélisation systémique caractérise une des grandes méthodes de modélisation contempo-
raine. Elle veille à expliciter "les points de vue" de l’observateur-concepteur qui la met en œuvre,
et à proposer une des formes de compréhension intelligible du système sans prétendre l’expliquer.
La modélisation systémique est fondée sur deux hypothèses :
1. rendre compte des fonctions et fonctionnements du système ;
2. expliciter les finalités attribuées au phénomène modélisé en veillant à les différencier ex-
plicitement des finalités de l’observateur-concepteur.
En considérant un système de manière globale, par abstraction de certaines contraintes, nous pou-
vons associer à un système complexe une représentation simplifiée de sa structure et de son fonc-
tionnement. Cette représentation, plus simple à décrire et utiliser s’appelle un modèle.
L’usage de l’ordinateur et des modèles numériques ouvre, grâce à la modélisation et à la sim-
ulation, un champ scientifique nouveau avec sa méthodologie propre de validation expérimentale
du modèle (figure 2.3) et l’usage de celui-ci pour prédire des comportements inaccessibles à la
mesure car situés dans le futur lointain ou à des échelles trop grandes ou trop petites pour être
instrumentées.
41
MODELISATION ET SIMULATION DE SYSTEMES
2.2.3 Simulation
La simulation est rapidement devenue incontournable pour la modélisation des systèmes com-
plexes. Elle permet de gérer des modèles afin de produire des données comportementales, c’est-à-
dire de faire évoluer les états du modèle dans le temps.
Le temps peut être vu de manière continue ou discrete. Selon que les états du système soient
spécifiés de manière dénombrable ou non dans un modèle on parle de simulation discrète ou
continue. Parmi ces systèmes, les ondes en général, ou la quantité d’oxygène dans l’air, constituent
des systèmes à états continus car leurs valeurs changent continuellement. Un système représentant
un guichet automatique de banque peut être vu au contraire comme un système à états discrets car
l’arrivée d’un client est un évènement subi et dont les quantités sont dénombrables.
FIG. 2.4: Simulation continue.
Figure 2.4 : Un système continu est un système mettant en jeu des signaux continus. Ils ont
les mêmes propriétés qu’une fonction continue. Dans le cadre de simulation continue, une
fonction continue est à la base de l’évolution du modèle dans le temps. Ces simulations né-
cessitent une description de type mathématique analytique du modèle car il doit être possible
de donner l’état du système en tout temps. La complexité de tels modèles grandit toutefois
avec le nombre de paramètres et il devient rapidement impossible de modéliser des systèmes
complexes de manière purement analytique. Il est alors nécessaire de décrire ces systèmes
avec d’autres approches de simulation.
42
MODELISATION ET SIMULATION DE SYSTEMES
FIG. 2.5: Simulation discrète dirigée par horloge.
Figure 2.5 : Un système discret est un système qui met en jeu des informations qui ne sont prises
en compte qu’à des moments précis. En général ces instants sont espacés d’une durée con-
stante appelée période d’échantillonnage (δt). On parle de systèmes discrets par opposition
aux systèmes continus. Le terme discret vient des mathématiques.
Dans une approche de simulation discrète, l’état futur du modèle dépend de son état actuel. Les
méthodes de simulation discrète correspondent aux méthodes de résolution d’équations différen-
tielles. La simulation de ce type de modèles implique que les changements d’états s’effectuent de
manière discrète dans le temps. Il existe deux façons de gérer le temps en simulation discrète. La
simulation est :
– dirigée par une horloge, lorsque l’état du modèle est réévalué à intervalles réguliers. Dans
la figure 2.5, un intervalle δt sépare deux transitions d’états.
– dirigée par les évènements, lorsque l’état du modèle est réévalué en fonction de l’arrivée
d’évènement. Dans ce cas la simulation est dite à évènements discrets (figure 2.6).
Les méthodologies de simulation à évènements discrets présentent de nombreux avantages sur
la simulation dirigée par horloge. En effet, il est possible de simuler un modèle en temps dis-
cret grâce aux évènements discrets en programmant des évènements d’activation à intervalles
réguliers. L’intérêt de l’utilisation de la simulation à évènements discrets apparaît lorsque le
phénomène simulé utilise des échelles de temps très différentes, de l’ordre de la seconde pour
une partie du modèle et de l’année pour une autre ; dans ce cas, si la simulation est dirigée par une
horloge, la règle veut que le pas de temps utilisé soit celui du modèle utilisant la plus petite échelle
43
MODELISATION ET SIMULATION DE SYSTEMES
FIG. 2.6: Simulation discrète dirigée par évènements.
de temps, même si le sous modèle n’est actif que pendant une petite partie du temps complet de la
simulation. Les simulations dirigées par évènements discrets permettent de ne pas réévaluer l’état
du modèle lorsque ce n’est pas jugé nécessaire.
Dans notre contexte, nous pouvons définir la simulation comme un procédé informatique
visant à faire évoluer un système afin de prédire son comportement. Ceci dit, il ne faut pas oublier
que les résultats obtenus par simulation dépendent des hypothèses retenues pour construire les
modèles (figure 2.3) ; et qu’il ne faut évidemment pas confondre résultat de simulation et résultat
réel. La simulation ne doit pas être utilisée sans prise de recul ; la vérification de la validité des
modèles (figure 2.3), et si nécessaire leurs améliorations sont des phases importantes afin de ne
pas prendre de risque inconsidéré dans les décisions.
Nous l’avons vu, la modélisation peut être représentée par la symbiose entre le formalisme et
les techniques de modélisation ; en fonction du système à étudier ou du domaine d’application,
il peut être nécessaire d’utiliser différentes techniques de modélisation. Celles-ci peuvent être
regroupées au sein d’un paradigme de modélisation et de simulation.
44
MODELISATION ET SIMULATION DE SYSTEMES
2.2.4 Paradigme de Modélisation et de Simulation
Un paradigme est un modèle exemplaire d’une chose ou d’une réalité. En sciences le paradigme
désigne une vision du monde ou un mythe fondateur d’une communauté scientifique particulière.
Nous pouvons alors parler d’un paradigme de modélisation et de simulation comme étant l’ensem-
ble des définitions et formalismes, des méthodes, des outils et techniques qui caractérisent une ac-
tivité de modélisation. Par exemple, nous parlons du paradigme objet, caractérisé par les notions
d’encapsulation, d’héritage et de polymorphisme.
Il existe beaucoup de paradigmes de modélisation. Parmi les plus connus, nous pouvons
citer les modèles stochastiques, les algorithmes évolutionnaires ou les techniques d’apprentissage
comme les réseaux de neurones.
L’augmentation de la puissance de calcul des ordinateurs nous autorise aujourd’hui à être plus
pointus dans nos représentations des systèmes. La question n’est pas de savoir si leurs états sont
dénombrables ou indénombrables, mais plutôt de faire cohabiter plusieurs représentations au sein
d’un même modèle. Il semble assez évident que la complexité et la diversité des systèmes soient
mieux appréhendées par une diversité des modèles. L’hétérogénéité des modèles nous amène donc
à la construction de multi-modèles. Un multi-modèle rassemble plusieurs paradigmes et / ou for-
malismes dans sa réalisation - nous parlons alors de multi-modélisation. Ce terme a été introduit
par T.I. Oren en 1989 [Ore89] et s’est fait connaître par les travaux de P. Fishwick et B.P. Zei-
gler [FZ92]. Il existe aussi le terme de modélisation multi-paradigmes ; H. Vangheluwe [VdLM02]
le définit comme s’adressant à trois axes de recherches orthogonaux :
1. à la modélisation liée au multi-formalisme (donc à la multi-modélisation), c’est-à-dire au
couplage de modèles spécifiés dans différents formalismes ;
2. au problème de changement de niveau d’abstraction dans les modèles ;
3. à la méta-modélisation, c’est-à-dire la construction de modèles de modèles.
Pour intégrer différents paradigmes, nous considérons les travaux effectués par B.P. Zeigler depuis
le début des années 1970 [Zei76]. Ces travaux se basent sur les mathématiques discrètes et plus
particulièrement sur la théorie générale des systèmes. Dans ce contexte, des travaux formels ont
45
MODELISATION ET SIMULATION DE SYSTEMES
été menés pour développer les fondements théoriques de la modélisation et de la simulation des
systèmes dynamiques [ZKP00]. Ces travaux ont notamment donné naissance au formalisme DEVS
(Discrete EVent system Specification) pour la spécification des systèmes à évènements discrets.
Nous avons choisi comme paradigme de modélisation et de simulation le multi formalisme
DEVS [Zei76]. Il offre la possibilité d’encapsuler, pour un même système, des modèles décrits
à partir de différents formalismes tels que les équations différentielles [ZKP00] ou les réseaux
de Pétri [JW02], etc. De plus, il permet d’appréhender la complexité des systèmes étudiés, et il
s’abstrait totalement de la mise en œuvre des simulateurs associés aux modèles. Il existe également
plusieurs extensions du formalisme DEVS adaptées à domaines précis mais nous y reviendrons
par la suite.
2.3 Modélisation à évènement discret
Depuis les années 1970, des travaux formels ont été menés pour développer les fondements
théoriques de la modélisation et de la simulation des systèmes dynamiques à évènements discrets.
Le formalisme DEVS, de l’anglais Discrete EVent system Specification, a été introduit par le pro-
fesseur B.P. Zeigler [Zei76] comme un formalisme abstrait pour la modélisation à évènements
discrets.
Le formalisme DEVS est une approche de modélisation basée sur la théorie générale des
systèmes. Plus précisément, c’est un formalisme modulaire et hiérarchique pour la modélisation,
centré sur la notion d’état. Un système est représenté, pour sa forme structurelle, par deux types
de modèles.
La modélisation consite à interconnecter ces différents types de modèles afin de former un
nouveau modèle décrivant le comportement du système étudié, c’est l’aspect fonctionnel.
Les modèles atomiques sont les composants de base du formalisme, ils décrivent le com-
portement du système. Leur fonctionnement est proche de celui des "states machine" (machines
d’états).
Pour décrire un système plus complexe nous interconnectons plusieurs modèles atomiques
46
MODELISATION ET SIMULATION DE SYSTEMES
pour former un modèle couplé. Ce nouveau modèle peut être utilisé comme modèle de base dans
une description de plus haut niveau, c’est l’aspect hiérarchique du formalisme.
Au niveau de la structure du système, cette approche peut sembler statique ; le formalisme
DEVS dans sa forme basique ne tient pas compte de l’évolution potentielle de la structure du
système, seul les états peuvent évoluer. Toutefois le formalisme a été étendu pour permettre ces
changements de structure, et il en est, ou peut en être de même pour d’autres aspects.
Le formalisme DEVS peut être vu comme un environnement de multi-modélisation regroupant
de manière cohérente d’autres formalismes de modélisation basés eux aussi sur la théorie générale
des systèmes et centrés sur les états. Sa capacité d’ouverture, au sens informatique, en fait un
formalisme adapté à un grand nombre de domaines d’application [Bar95][Uhr01][NZ02, TW03].
Au niveau de la simulation, il permet l’analyse de systèmes complexes à évènements discrets
décrits par des fonctions de transitions d’états, et des systèmes continus décrits par des équations
différentielles [ZKP00]. A ce niveau, le principal avantage de l’approche tient au fait que, pour un
modèle décrit suivant les spécifications du formalisme, les algorithmes de simulations sont générés
automatiquement. Cela permet de s’abstraire totalement de l’implémentation des simulateurs lors
de la phase de modélisation, ce qui conduit à une séparation explicite entre la modélisation et la
simulation.
Les deux types de modèles (atomique et couplé) du formalisme sont décrits dans la première
section, dédiée à la phase de modélisation, et dans la seconde section, nous présentons les aspects
de simulation.
2.3.1 Modélisation DEVS
Le formalisme DEVS repose sur la définition de deux types de modèles : les modèles atom-
iques et les modèles couplés. Les modèles atomiques permettent de représenter le comportement
de base du système. Les modèles couplés, quant à eux, sont définis par un ensemble de sous mod-
èles atomiques et / ou couplés. Ils permettent de représenter la structure interne du système grâce
à la définition de couplages entre modèles.
47
MODELISATION ET SIMULATION DE SYSTEMES
2.3.1.1 Modèle Atomique
Le modèle atomique peut être vu comme un machine d’états basé sur le temps. Il permet de
décire l’aspect fonctionnel ou comportemental du système.
Le modèle atomique fournit une description autonome du comportement du système, défini
par des états et des fonctions d’entrées / sorties et de transitions internes du modèle. L’évolution
du modèle se fait par changement d’état en fonction de stimuli externes (via une entrée) ou internes
(via une fonction de transition). Ces changements d’états ont pour but de déterminer la réponse
comportementale du système à ces stimuli.
Dans le formalisme DEVS (classique) la notion de couple (numéro de port, valeur) est intro-
duite pour chaque entrée, ou sortie d’un modèle atomique. Une entrée correspond à la réception
d’une ou plusieurs valeur(s) sur un numéro de port. Une sortie correspond à l’émission d’une ou
plusieurs valeur(s) sur un numéro de port.
Le modèle atomique, figure 2.7, est caractérisé par la formule suivante (équation.2.2) :
FIG. 2.7: Description d’un modèle atomique DEVS
MA =< X , Y, S, ta, δext , δint , λ > (2.2)
Avec
– X = (pIN ,v) | pIN ∈ Portsd′entree, v∈ XpIN : la liste des entrées du modèle, chaque entrée
étant caractérisée par un couple (numéro du port / valeur) ;
– Y = (pOUT ,v) | pOUT ∈ Portsdesortie, v ∈ YpOUT : la liste des sorties du modèle, chaque
sortie étant caractérisée par un couple (numéro du port / valeur) ;
– S : l’ensemble des états ou des variables d’états du système ;
48
MODELISATION ET SIMULATION DE SYSTEMES
– ta : S→ R+ : la fonction d’avancement du temps, ou le temps de vie de l’état S ;
– δext : Q×X → S : la fonction de transition externe, où :
– e : est le temps écoulé depuis la dernière transition ; La fonction de transition externe
spécifie comment le modèle atomique change d’état (passage de l’état S1 à l’état S2 (fig-
ure 2.8)) quand une entrée survient (évènement externe) avant que ta(S1) ne soit écoulé ;
– δint : S→ S : la fonction de transition interne. Elle permet de passer d’un état S2 à l’instant
t1, à un état S1 à l’instant t2 lorsqu’aucun évènement externe n’arrive durant le temps de vie
de l’état ta(S2) (figure 2.8) ;
– λ : S→ Y : la fonction de sortie.
FIG. 2.8: Description de l’évolution des éléments d’un modèle atomique
Les modèles atomiques réagissent à deux types d’évènements (stimuli) externes ou internes.
Un évènement externe provient d’un autre modèle, il déclenche la fonction de transition externe
(δext) et met à jour le temps de vie de l’état (ta(Si)). Un évènement interne entraîne un changement
49
MODELISATION ET SIMULATION DE SYSTEMES
d’état du modèle. Il déclenche les fonctions de transition interne (δint) et de sortie (λ ). Le mod-
èle calcule ensuite avec la fonction d’avancement du temps (ta) la date du prochain évènement
interne. Ces enchaînements d’actions et la description du comportement du modèle sont présentés
figure 2.7.
La figure 2.8 présente l’évolution des états d’un modèle. Xi=1,2 représente les entrées, Si=1,2,3
les états du modèle, e l’écoulement du temps, il est remis à zéro à chaque changement d’état. ta
représente la durée de vie d’un état, elle est mise à jour après chaque changement d’état, si elle est
égale à zéro la fonction de transition interne est déclenchée. Y représente les sorties du modèle.
A chaque instant le modèle est dans un état (Si=1,2,3). Si un évènement externe Xi=1,2 ∈ X
est détecté avant que e = ta(Si), le système change d’état grâce à la fonction de transiton externe
(δext(Si,e,Xi)).
Dans la figure 2.8, nous passons de l’état S1 à l’état S2 lorsque l’entrée X1 est détectée, puis de
l’état S1 à l’état S3 lorsque X2 est détectée à son tour.
Si aucun évènement externe (Xi=1,2) n’est détecté, le modèle reste dans le même état pendant
un temps donné par la fonction ta(Si). Lorsque le temps du vie de l’état est écoulé, c’est-à-dire
lorsque e = ta(Si) le système active sa fonction de sortie (λ (Si)) (envoie de Y0 sur la figure 2.8). De
plus, l’état du système est aussi mis à jour grâce à l’exécution de la fonction de transition interne
(δint(Si)). Dans les deux cas, le système est dans un nouvel état (figure 2.8 : S1 avec δint et S2 et
S3 avec δext), avec un nouveau temps de vie et ainsi de suite.
En fonction de son temps de vie, l’état d’un modèle peut être défini comme transitoire ou
passif.
Si ta(S) = 0 alors la durée de vie de l’état est tellement courte qu’aucun évènement externe ne
peut intervenir avant l’arrivée du prochain changement d’état, le système est dans un état transi-
toire.
Si ta(S) = ∞ le système restera dans le même état tant qu’aucun évènement externe n’est
détecté, il est dans un état passif.
A partir de modèles atomiques nous pouvons représenter un grand nombre de systèmes en les
interconnectant au sein d’un modèle couplé de plus haut niveau.
50
MODELISATION ET SIMULATION DE SYSTEMES
2.3.1.2 Modèle Couplé
Le formalisme DEVS utilise la notion de hiérarchie de description qui permet la construction
de modèles dits "couplés" à partir d’un ensemble de modèles atomiques et / ou couplés, et de trois
relations de couplage :
– une relation de couplage interne (IC) pour le couplage des ports des sous-modèles qui com-
posent le modèle couplé (en bleu sur la figure 2.9) ;
– une relation de couplage des entrées externes (EIC) pour le couplage des ports d’entrée du
modèle couplé avec les ports d’entrées de ses sous-modèles (en noir sur la figure 2.9) ;
– une relation de couplage des sorties externes (EOC) pour le couplage des ports de sortie du
modèle couplé avec les ports de sortie de ses sous-modèles (en rouge sur la figure 2.9).
FIG. 2.9: Description d’un modèle couplé DEVS
Le modèle couplé (équation 2.3 et figure 2.9) est une composition de modèles atomiques et
/ ou de modèles couplés. Il présente un exemple de hiérarchie entre modèles, il est composé de
deux modèles couplés (A et B) et cinq modèles atomiques (1,2,3,4 et 5).
Le modèle de plus haut niveau, qui contient tous les autres modèles est le modèle couplé A. Le
second modèle couplé B est composé des modèles atomiques (3,4,5). La figure 2.9 présente un
modèle couplé A avec 2 entrées "IN" et une sortie "OUT ". Il contient 2 modèles atomiques (1) et
(2) et un modèle couplé B.
Un modèle couplé DEVS est modulaire et présente une structure hiérarchique, ce qui permet
la création de modèles complexes à partir de modèles atomiques et / ou couplés. Il est décrit par
51
MODELISATION ET SIMULATION DE SYSTEMES
la formule :
MC =< X , Y, D, Mi, Ii, Zi, j, L > (2.3)
Avec
– X = (pIN ,v) | pIN ∈ Portsd′entree, v∈ XpIN : la liste des entrées du modèle, chaque entrée
étant caractérisée par un couple (numéro du port / valeur) ;
– Y = (pOUT ,v) | pOUT ∈ Portsdesortie, v ∈ YpOUT : la liste des sorties du modèle, chaque
sortie étant caractérisée par un couple (numéro du port / valeur) ;
– D : la liste des modèles composant le modèle couplé MC ;
– Mi =< Xi,Yi,Si,δexti,δinti ,λi, tai > : un modèle atomique ;
– Pour chaque modèle i ∈ D∪MC, Ii est l’ensemble des modèles qui influence i ;
– Zi, j est la fonction de transition des sorties du modèle i vers le modèle j, telle que :
– ZMC, j : XMC→ X j est la fonction de couplage des entrées externes (EIC) ;
– Zi,MC : Yi→ XMC est la fonction de couplage des sorties externes (EOC) ;
– Zi, j : Yi→ X j est la fonction de couplage interne (IC) ;
– L : la liste des priorités entre modèles.
La structure d’un modèle couplé doit répondre à des contraintes telles que, ∀ i ∈ D :
1. Mi doit être un modèle atomique ;
2. Une seule fonction Zi, j peut contenir l’ensemble des informations sur le couplage du modèle
couplé ;
3. Ii est un sous ensemble de D∪MC et i /∈ Ii.
La cohérence et la conservation des propriétés du système entre ces niveaux de hiérarchie est
résumée par la propriété de "fermeture sous composition1". En effet dans le formalisme DEVS,
chaque modèle est indépendant et peut être considéré comme une entité à part entière ou comme
le modèle d’un système plus grand. Il a été montré dans [Zei84] que le formalisme DEVS est
fermé sous composition, c’est à dire que pour chaque modèle couplé DEVS, représenté par le
1traduction de l’anglais "closed under coupling"
52
MODELISATION ET SIMULATION DE SYSTEMES
couplage d’un ensemble de sous modèles, il est possible de construire un modèle atomique DEVS
équivalent.
2.3.2 Simulation DEVS
Nous définissons la simulation comme un procédé informatique visant à faire évoluer un sys-
tème afin de prédire son comportement. Etablir une simulation exige donc la définition précise du
comportement ainsi que la description des interactions qui existent entre les modèles.
FIG. 2.10: Arbre de Classe du simulateur DEVS
L’une des propriétés importantes du formalisme DEVS est qu’il fournit automatiquement un
processeur pour chacun des modèles. Le formalisme DEVS établit une distinction entre la mod-
élisation et la simulation (figure 2.10) d’un système telle que n’importe quel modèle DEVS puisse
être simulé sans qu’il soit nécessaire d’implémenter un processeur spécifique.
La figure 2.10 montre comment sont organisés les processeurs (figure 2.11, root, coordina-
teur, simulateur) dans le cas du modèle couplé présenté dans la partie modélisation (cf. 2.3.1.2,
53
MODELISATION ET SIMULATION DE SYSTEMES
figure 2.9).
Chaque modèle atomique est associé à un Simulateur (figures 2.10 et 2.11) chargé de gérer le
comportement du modèle, et chaque modèle couplé est associé à un Coordinateur chargé de la
synchronisation temporelle des modèles sous jacents. L’ensemble de ces modèles est géré par un
processeur spécifique appelé Root [Zei84, Van01].
FIG. 2.11: Hiérarchie de Classe d’un environnement DEVS
Comme nous l’avons vu, le formalisme DEVS est basé, pour la modélisation, sur deux types de
modèles : les modèles couplés et atomiques. Ces modèles possèdent des ports d’entrée, des ports
de sortie et des variables d’état. Chaque modèle communique grâce à l’envoi et à la réception de
plusieurs types de messages. Le principe est décrit dans [Zei84, Van01]. Chaque message génère
des évènements qui sont stockés dans un échéancier, qui est une structure de données composée
d’évènements classés suivant un ordre chronologique, la tête de l’échéancier représentant le futur
immédiat, et la queue le futur plus lointain. La simulation consiste à faire évoluer les états des
modèles dans le temps en fonction d’évènements. Nous distinguons deux types d’évènements :
les évènements externes et les évènements internes :
– Un évènement externe, prévu à l’instant t sur un port d’entrée donné du modèle représente
une modification d’un des états du modèle ;
– Un évènement interne, prévu à l’instant t, correspond à une modification d’un des états du
modèle et provoque l’émission d’une valeur de sortie via la fonction (λ ) sur un des ports de
54
MODELISATION ET SIMULATION DE SYSTEMES
sortie du modèle.
Un évènement interne ou externe DEVS peut être caractérisé de la façon suivante (eq.2.4) :
E = (temps, port, valeur) (2.4)
Le premier champ représente la date d’occurrence de l’évènement, le second désigne le port
sur lequel l’évènement intervient, il n’est pas renseigné pour les évènements internes, et le troisième
symbolise la valeur de l’évènement.
Il a été défini dans le formalisme DEVS [ZV93], dans le cas où plusieurs évènements sont pro-
grammés au même instant t, que le choix de l’évènement à exécuter en premier se fait en fonction
de la liste de priorité.
Après avoir détaillé les mécanismes de fonctionnement du formalisme DEVS, dans la partie
suivante, nous nous intéressons à deux extensions du formalisme DEVS qui permettent de faire
de la modélisation approximative.
2.4 Modélisation approximative
On peut intégrer dans le multi-formalisme DEVS de nombreux autres formalismes ou méth-
odes de modélisation. Dans cette partie nous nous intéressons aux extensions de DEVS qui per-
mettent de prendre en compte imprécision et incertitude sur les événements ou sur les états. L’in-
certitude intervient au niveau des changements d’états, alors que l’imprécision intervient sur le
temps ou les variables des événements. Dans les deux cas, ces changements modifient la structure
des modèles et les algorithmes de simulation.
Le formalisme Fuzzy-DEVS [KPJK96] permet de traiter des données incertaines, cette in-
certitude intervient uniquement au niveau des changements d’états du système. Une méthode de
défuzzification permet de transformer les incertitudes sur le temps des évènements en valeurs
réelles, et effectue l’opération inverse pour fournir un temps de sortie floue. Le formalisme Min-
Max-DEVS [GG01, HGF06] permet de prendre en compte uniquement une imprécision sur le
55
MODELISATION ET SIMULATION DE SYSTEMES
temps d’un événement pour des systèmes électroniques. Ces deux formalismes sont détaillés dans
cette partie.
2.4.1 Fuzzy-DEVS
Le formalisme Fuzzy-DEVS introduit par Y. Kwon dans [KPJK96], dérive du formalisme
DEVS tout en conservant sa sémantique, une partie de ses concepts et sa modularité. Il est basé
sur la logique floue, une règle "max-min" définie dans [KPJK96] et les méthodes de fuzzification
et de défuzzification pour prendre en compte les incertitudes sur le temps des évènements. Pour
permettre la simulation, les incertitudes sur le temps doivent être transformées en valeurs réelles
(défuzzification) ; pour pouvoir être exploités, les temps de sortie sont de nouveau transformés en
données incertaines (fuzzification).
La structure du modèle atomique flou décrite dans [KPJK96] est la suivante :
˜AMF =< X , Y, S, δint , δext , λ , ta > (2.5)
avec :
– X ,Y , l’ensemble des ports d’entrée et de sortie non flous ;
– S , l’ensemble des états séquentiels non flous ;
– δint : S×S→ [0, 1], fonction floue de transition interne ;
– δext : Q×X×S→ [0, 1], fonction floue de transition externe, avec :
– Q = (s, e) | s ∈ S,0≤ e ≤ ta(s), ou
– ta(s) est la valeur de défuzzification de ta(s) ;
– λ : S×Y → [0, 1], fonction floue de sortie ;
– ta : S× N→ [0, 1], fonction floue d’avancement du temps, où N est l’ensemble des nombres
flous appartenant à R[0,∞[.
Tel qu’il est décrit, le modèle atomique Fuzzy-DEVS ne permet de prendre en compte que les dif-
férentes possibilités de transition ( ˜δint , ˜δext) entre état. Les entrées et les sorties du modèle ne sont
d’ailleurs pas représentées comme imprécises. De plus, le modèle atomique flou de Fuzzy-DEVS,
56
MODELISATION ET SIMULATION DE SYSTEMES
contrairement au modèle atomique DEVS, est non déterministe, c’est-à-dire qu’il ne répond pas
aux deux conditions suivantes :
1. la fonction de transition interne est exécutée (δint(si) = si+1) quand la durée de vie de l’état
est écoulée (ta = 0 ou ta = e) et la fonction de transition externe (δext(si,Xi) = si+1) est
exécutée lorsqu’un évènement externe arrive ;
2. la fonction de sortie (λ (si) = Yi) est exécutée quand la durée de vie d’un état est finie
(ta = 0).
Dans le formalisme Fuzzy-DEVS, l’état suivant du système si+1 n’est pas déterminé avec δint et
δext mais avec la règle "max-min" ; elle détermine, suivant un algorithme, l’état qui a le plus de
chances d’être mis à jour. Les différentes possibilités de changement d’état sont représentées par
des matrices, et l’évolution du modèle par des arbres de possibilités [KPJK96, ACG+00].
Fuzzy-DEVS ne traite pas les valeurs imprécises d’un modèle, mais propose une méthode qui
fournit un arbre de possibilités représentant l’évolution des états du système, les feuilles sont les
états et les branches la possibilité associée à un état.
FIG. 2.12: Arbre de simulation Fuzzy-DEVS
57
MODELISATION ET SIMULATION DE SYSTEMES
La figure 2.12 présente l’évolution d’un système en fonction des possibilités µs de transition
entre états. Le système est défini par deux entrées X = x1,x2, deux sorties Y = y1,y2 et trois
états S = s1,s2,s3.L’évolution du système se fait non pas en fonction de δint et δext comme dans le formalisme
DEVS classique, mais en fonction de matrices représentant les relations (R) entre fonctions de
transition et états.
Relation interne :
s1 s2 s3
s1
s2
s3
0.8 0.2 0.1
0.6 0.1 0.3
0.9 0.1 0.2
Rint
;
Relation de sortie :
y1 y2
s1
s2
s3
0.7 0.5
0.6 0.9
0.7 0.2
Rout
;
Relations externes :
s1 s2 s3
s1
s2
s3
0.5 0.8 0.2
0.7 0.4 0.2
0.2 0.7 0.6
Rext(x1)
, et
s1 s2 s3
s1
s2
s3
0.4 0.6 0.7
0.5 0.7 0.3
0.1 0.4 0.8
Rext(x2)L’état suivant du système si+1 est choisi en fonction de la règle "max-min" définie, pour les
transitions :
– interne par : µSi+1(si+1) = max(min(µSi
(si), δint(si,si+1))) ;
– externe par : µSi+1(si+1) = max(min(µSi
(si), δext(si,xi,si+1))).
L’état suivant du système (figure 2.12), après détection d’une entrée (x1) et déclenchement de
la fonction de transition externe, sera choisi en fonction du degré de possibilité défini par :
max(min(0.5,0.8), min(0.5,0.2)) = 0.5, nous restons donc dans l’état s1→ s1.
58
MODELISATION ET SIMULATION DE SYSTEMES
Après une transition interne max(min(0.8,0.2), min(0.8,0.1)) = 0.2, nous passons dans l’état
s1→ s2.
Nous pouvons remarquer que comme dans le formalisme DEVS classique, avant une transition
interne, la fonction de sortie est déclenchée.
Fuzzy-DEVS est un formalisme théorique toujours en phase de recherche [KPJK96, ACG+00].
L’idée de base est très intéressante, mais est limitée à l’étude de systèmes à états finis. De plus,
ce formalisme ne nous paraît pas totalement cohérent avec le formalisme DEVS, mais il fournit
de bonnes pistes de travail, comme la possibilité de définir le temps de vie d’un modèle ta à l’aide
d’un label linguistique [KPJK96]. Pour autant il ne permet pas de répondre à notre probléma-
tique, à savoir la définition d’une méthode de prise en compte d’imprécision au niveau de tous
les paramètres du modèle (X ,Y,S,λ , ta,δext ,δint) et pas seulement au niveau des transitions entre
états.
2.4.2 Min-Max-DEVS
Le formalisme Min-Max-DEVS [GG01, HGF06] introduit par N. Giambiasi fait suite au
travaux de M. Smaili [Sma94] sur la modélisation et la simulation de circuits logiques à retard
flou. Le but de Min-Max-DEVS est de permettre de modéliser et de simuler des systèmes réels
pour lesquels les valeurs des retards ne sont pas connues avec exactitude. Ce formalisme a été pro-
posé pour modéliser les systèmes dans lesquels la durée de vie des états transitoires est représentée
par des intervalles de temps et non par les valeurs moyennes comme dans le formalisme DEVS
classique.
Les modèles atomiques Min-Max-DEVS et DEVS classique sont quasiment identiques, le seul
changement est la représentation de la fonction d’avancement du temps ta. Dans Min-Max-DEVS
elle est définie comme suit :
– ta(si) : S→R+×R+ ;
– ta(si) = (dmin,dmax) ;
où
– dmin est le temps minimum pendant lequel le modèle reste dans le même état si, dmin
59
MODELISATION ET SIMULATION DE SYSTEMES
représente l’évolution la plus rapide du système ;
– dmax est le temps maximum pendant lequel le modèle reste dans le même état si, dmax
représente l’évolution la plus lente du système.
Cette modification entraîne deux changements importants par rapport au formalisme DEVS clas-
sique. Le premier intervient au niveau de l’évolution du modèle ; dans Min-Max-DEVS les évène-
ments externes sont choisis en fonction du temps minimum ; si il n’y a pas d’évènement externe
détecté, un évènement interne est déclenché au temps maximum. Le second changement touche
les algorithmes de simulation, la fonction ta ayant été modifiée, il faut en tenir compte de niveau
de la simulation. Chaque évènement est déclenché en fonction du temps, et tous les temps des
évènements internes sont fixés par la fonction ta. Pour cela deux nouvelles variables de temps ont
été définies, ts représentant le temps maximum avant le prochain évènement et t f représentant le
temps minimum avant le prochain évènement. Ces évolutions ont engendré une modification des
algorithmes de simulation, ils sont présentés dans [GG01].
Ces travaux fournissent des pistes intéressantes pour la représentation et prise en compte des
imprécisions au niveau du temps de vie de l’état ta, mais sont essentiellement applicables dans les
domaines de la détection de fautes ou de la prise en compte de retards flous dans la définition de
circuits digitaux. Notre approche se veut totalement indépendante de toutes applications données,
et doit aussi permettre de prendre en compte les imprécisions sur les entrées des modèles.
2.5 Conclusion du Chapitre
Nous avons présenté dans ce chapitre les notions théoriques de la modélisation et de la simula-
tion de système, et en particulier nous avons détaillé le formalisme développé par B.P Zeigler. Ce
formalisme présente plusieurs avantages en ce qui concerne les objectifs que nous nous sommes
fixés, à savoir la modélisation de systèmes naturels complexes à paramètres imparfaits.
En effet, le formalisme DEVS peut être défini comme une méthodologie universelle et générale
qui fournit des outils pour modéliser et simuler des systèmes dont le comportement repose sur
la notion d’évènements. Ce formalisme est basé sur la théorie générale des systèmes, la notion
60
MODELISATION ET SIMULATION DE SYSTEMES
de modèle, et permet la spécification de systèmes complexes à évènements discrets sous forme
modulaire et hiérarchique. Nous pouvons aussi définir le formalisme DEVS comme un outil de
multi-modélisation regroupant plusieurs formalismes de modélisation de manière cohérente, de
fait, lorsqu’il est replacé dans le contexte spécifique d’un domaine d’application, si aucune ap-
proche de modélisation ne permet de traiter le domaine, il doit être adapté et étendu.
Dans le langage courant, les termes exprimant le raisonnement approximatif sont variés "à
peu près, environ, approximativement, etc.". Seuls quelques-uns sont liés à des théories mathé-
matiques. Dans le chapitre suivant nous présentons certaines de ces théories. L’intérêt au final est
de pouvoir associer plusieurs de ces approches et notamment l’approche systémique, à la base du
formalisme DEVS, et une approche de modélisation approximative. Le but étant évidemment de
pouvoir modéliser des systèmes à paramètres imparfaits à partir du formalisme DEVS classique.
Les formalismes de modélisation sont des outils d’analyse et de prédiction indispensables pour
nous renseigner sur les conséquences des actions humaines ou sur les changements naturels, mais
il est important d’évaluer et de prendre en compte correctement le système étudié. Tout ce qui
touche à l’homme ou à son environnement est difficile à décrire précisément, et pour cela, prendre
en compte, dans des modèles, le caractère imparfait de notre environnement ne peut s’avérer que
positif. La prise en compte des imprécisions des paramètres des modèles permet de fournir une
fourchette de valeurs et non une valeur unique comme résultat de simulation. Le résultat est plus
imprécis, certes, mais a de grandes chances d’être juste.
Deux approches basées sur le formalisme DEVS permettent de prendre en compte des im-
perfections sur les paramètres des modèles. Min-Max-DEVS est trop spécifique à un domaine
d’application, et ne traite que les retards sur le temps de déclenchement des évènements, et Fuzzy-
DEVS ne traite que les incertitudes au niveau des transitions entre états.
Bien que ces deux formalismes ne répondent pas à notre problématique, ils nous ont servi de
base de réflexion pour définir une partie des spécifications d’une nouvelle méthode de prise en
compte des imprécisions au niveau de tous les paramètres des modèles DEVS. Dans le chapitre
suivant nous présentons cette nouvelle méthodologie de modélisation et de simulation de systèmes
61
MODELISATION ET SIMULATION DE SYSTEMES
à paramètres imprécis appelée iDEVS. Elle est basé sur la théorie des sous ensembles flous et sur
le formalisme DEVS, et plus précisement, elle associe ces deux approches.
62
CHAPITRE 3
Approche de Modélisation et de Simulation iDEVS
Quand la théorie rejoint la pratique, ça ne
marche pas et on ne sait pas pourquoi.
Edmond Wells
CE travail de thèse s’inscrit dans le cadre des recherches développées au sein de notre lab-
oratoire [Aie97, Del97, Ber02, dG02, Fil03, Muz04, Cap05], autour de la modélisation
et de la simulation à événements discrets de systèmes complexes. Comme nous l’avons vu dans
le chapitre précédent, le formalisme DEVS peut être considéré comme un multi-formalisme re-
groupant de manière cohérente plusieurs méthodes de modélisation, c’est à partir de cette ap-
proche que nous allons proposer une nouvelle méthode de modélisation approximative basée sur
la théorie des sous ensembles flous.
Lors de l’étude de systèmes naturels complexes, il est fréquent qu’un certain nombre de
paramètres soient imparfaitement définis. A partir de la théorie des sous ensembles flous, qui
permet de représenter et de manipuler des variables imprécises, nous avons défini une nouvelle
méthode pour la modélisation et la simulation de systèmes à paramètres imprécis. Cette nouvelle
méthode a plusieurs objectifs, le premier est bien évidemment de permettre la modélisation et la
63
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
simulation de systèmes flous, et d’étendre ainsi le champ d’action du formalisme DEVS classique ;
le second est de fournir plusieurs modèles de base afin de faciliter le rôle du concepteur ; enfin, le
troisième est de rendre plus souple la spécification des modèles grâce à l’utilisation de variables
linguistiques. Ces modèles doivent respecter les contraintes du formalisme DEVS, afin de rester
cohérents avec ses concepts et permettre d’exploiter pleinement la possibilité de connecter entre
eux des modèles hétérogènes, c’est-à-dire des modèles provenants de méthodes de modélisation
différentes.
L’enjeu de ce chapitre est de présenter cette nouvelle méthodologie de modélisation et de sim-
ulation basée sur l’utilisation d’outils liés à la logique floue, ainsi que les méthodes développées
pour permettre leur intégration dans le formalisme DEVS.
Dans la première partie, nous présentons en détail notre problématique ainsi que les solutions
envisagées, et nous revenons sur la notion d’évènement DEVS, abordée dans le chapitre 2 ; à partir
de cette forme nous avons identifié les paramètres pouvant être imprécis.
Nous présentons dans la seconde partie notre approche de modélisation. Elle est axée sur une
librairie de fonctions et sur une bibliothèque de modèles pré-programmés. La librairie est con-
struite à partir d’une structure de données permettant de représenter les imprécisions, et propose
plusieurs méthodes afin d’effectuer des opérations.
Notre approche de simulation est décrite dans la partie suivante. Celle-ci est basée sur une
fonction de défuzzification qui complète notre librairie.
Dans la quatrième partie nous présentons le modèle atomique iDEVS sous sa forme générale.
Avant de conclure, dans la dernière partie nous détaillons certains des modèles réalisés.
3.1 inaccuracy Discrete EVent system Specification
Dans cette partie, nous présentons le cheminement scientifique initié dans [BdGSB06] qui
nous a conduit jusqu’à la définition d’une nouvelle méthode de modélisation. A partir des formal-
ismes existants, nous avons défini plusieurs contraintes, et avons posé les bases d’une nouvelle
méthode de modélisation approximative. La première étape, semblable à la définition d’un cahier
64
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
des charges, est rapportée dans la première section.
Dans le seconde section, nous revenons sur la notion d’évènement DEVS ; cette notion est très
importante car centrale dans le formalisme DEVS, elle nous permet d’identifier les paramètres
pouvant être imprécis.
3.1.1 Pourquoi iDEVS ?
Fuzzy-DEVS et Min-Max-DEVS nous ont non seulement servi pour définir les bases de
notre approche, mais également largement inspiré, notamment pour le mode de représentation
des paramètres, la possibilité de décrire de manière linguistique le temps de vie des états ou en-
core les techniques de simulation floue. A partir de leur étude (cf. 2.4) nous pouvons constater
que les fonctions d’évolution des états des modèles sont modifiées et qu’il faut pour cela adapter
les algorithmes de simulation. Si l’on souhaite intégrer dans un système décrit suivant le formal-
isme DEVS classique, un ou plusieurs modèles définis à partir d’une de ces deux approches, il est
nécessaire de réécrire les algorithmes de simulation. Un de nos objectifs est de pouvoir intégrer
dans un système DEVS classique des modèles imprécis sans avoir à modifier la partie simulation.
De plus le formalisme Fuzzy-DEVS ne permet de prendre en compte que les incertitudes liées
aux transitions entre états (incertitude → théorie des possibilités), et Min-Max-DEVS ne traite
que l’imprécision sur le temps de vie des états (imprécision→ théorie des sous ensembles flous).
Comme nous l’avons vu, l’imprécision est relative à la valeur d’un évènement, et l’incertitude
est relative à sa réalisation. A partir de ces deux notions, et pour fournir une méthode complémen-
taire à celles déjà existantes, nous proposons la création d’une nouvelle approche de modélisation
qui va prendre en compte les paramètres imprécis des modèles DEVS : cette méthode est appelée
iDEVS pour inaccuracy DEVS ou DEVS imprécis.
Nous nous sommes volontairement limités aux imprécisions, car comme nous l’avons rappelé,
les incertitudes sont relatives à la réalisation d’un fait ; donc, dans le formalisme DEVS elles ne
peuvent intervenir qu’à deux niveaux :
1. les transitions entre états ;
2. les évènements.
65
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Dans le premier cas, Fuzzy-DEVS nous paraît assez pertinent, et répond à la problématique bien
qu’il soit toujours en phase de développement.
Dans le second cas, définir un degré de possibilité sur les évènements entraîne, comme dans
Fuzzy-DEVS, de profondes modifications au niveau de la simulation, ce qui ne nous permet pas
de conserver les algorithmes de simulation du formalisme DEVS classique.
Nous avons donc choisi de ne pas traiter l’incertitude, d’ailleurs, la prise en compte d’impréci-
sions est plus révélatrice des besoins rencontrés sur le terrain. En effet, les spécialistes qui ont des
difficultés à retranscrire clairement un paramètre approximatif, ont plutôt tendance à le décrire à
partir de termes linguistiques. C’est pour cela que nous avons choisi d’intégrer dans le formalisme
DEVS des modèles imprécis basés sur la théorie des sous ensembles flous.
Notre approche se veut donc plus proche de Min-Max-DEVS que de Fuzzy-DEVS, mais nous
la voulons cependant plus générique. Elle doit permettre la prise en compte d’imprécisions au
niveau de tous les paramètres des modèles.
3.1.2 Imprécisions sur les paramètres
Notre réflexion s’est d’abord portée sur l’identification des paramètres pouvant être imprécis.
Au niveau des modèles atomiques, tous les paramètres peuvent être imprécis, entrées X , sorties Y ,
états S, fonctions de transition δ , fonction de sortie λ , fonction d’avancement du temps ta.
En fait, les fonctions ne sont pas réellement imprécises, leur réalisation peut être incertaine,
c’est-à-dire qu’elles peuvent être exécutées ou non, mais elles ne sont pas imprécises. Par la suite
nous les considérons comme imprécises car elles manipulent des données imprécises.
Les paramètres les plus sujets aux imprécisions sont les variables d’états, le temps de vie des
états, et les valeurs d’entrées et de sorties des modèles. Les variables d’état n’interviennent qu’au
niveau des modèles, le temps de vie des états et les valeurs d’entrées et de sorties sont : soit à
l’origine des évènements ; soit directement manipulées par les évènements.
Nous nous sommes donc logiquement tournés vers la notion d’évènement pour prendre en
compte les imprécisions dans le formalisme DEVS. Celle-ci est essentielle, les évènements diri-
gent toute la simulation, ils distribuent les informations aux modèles.
66
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Dans un évènement, l’imprécision peut intervenir au niveau du temps et/ou de la valeur.
Dans l’approche proposée, l’imprécision sur une valeur peut être traitée sans avoir à modifier
la partie simulation du formalisme DEVS. Un évènement à valeur imprécise peut être inséré dans
l’échéancier de DEVS (cf. 2.3.2) comme un évènement standard ; seul le type des données change.
Une imprécision sur la valeur induit un problème de modélisation, c’est-à-dire qu’il incombe au
concepteur du modèle de définir ses données dans un type approprié, mais il n’y a pas de change-
ment à apporter au formalisme DEVS classique. En fait, nous donnons la possibilité au concepteur
de spécifier ses données de manière imprécise. Au niveau du temps, une imprécision sur une date
induit des problèmes au niveau de la modélisation et de la simulation. Un évènement est envoyé et
placé dans l’échéancier de simulation à une date donnée ; si l’on ne connaît pas cette date précisé-
ment, l’évènement ne peut avoir lieu et donc ne peut être pris en compte dans l’échéancier DEVS
classique. Nous reviendrons sur cette problématique dans la partie 3.3 consacrée à la simulation.
Au niveau des modèles la prise en compte d’imprécision induit une évolution comportemen-
tale et non structurelle, elle est traitée par les différentes fonctions caractéristiques des modèles
DEVS (δint ,δext ,λ , ta). Nous laissons au concepteur la possibilité de décrire le comportement des
modèles à partir d’une librairie de fonctions prés programmées (+,−,×,/,sin,cos,etc.) ou en
réutilisant des modèles iDEVS prédéfinis et stockés dans une bibliothèque.
L’identification des paramètres a été une étape importante, elle pose les bases de l’approche
iDEVS. L’étape suivante doit permettre la représentation de ces paramètres imprécis, pour cela il
est nécessaire de choisir un type de données approprié.
3.2 Modélisation iDEVS
Le choix de la représentation des paramètres imprécis est une étape importante, car elle con-
ditionne toute la partie de modélisation et en particulier les différentes méthodes de manipulation
que nous pouvons utiliser. Dans la première section, nous définissons la structure de représentation
des données. Dans la seconde section, nous décrivons les méthodes de manipulations employées,
leurs intégrations dans une librairie, et nous donnons des exemples de fonctions. Dans notre con-
67
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
texte, nous définissons une librairie comme un ensemble de fonctions utilitaires, regroupées et
mises à disposition afin de pouvoir être employées sans avoir à les réécrire. Les fonctions sont
regroupées selon leur appartenance à un même domaine conceptuel (traitement des imprécisions).
L’intérêt principal d’une librairie est qu’elle contient du code, utile, que l’on ne désire pas avoir à
réécrire à chaque fois.
Pour permettre à un expert de définir des modèles iDEVS, une première méthode consiste
à utiliser la librairie pour décrire les différentes fonctions caractéristiques des modèles DEVS
[BdGBS07]. La seconde méthode [BCdGB07] consiste a utiliser des modèles iDEVS déjà pro-
grammés et stockés dans une bibliothèque de composants.
3.2.1 Représentation des données
Pour décrire les paramètres, il est important de choisir un mode de représentation adapté, nous
nous sommes basés sur la théorie des sous ensembles flous et la description de paramètres sous
forme de quantité floue. Une quantité floue permet de modéliser un intervalle ou un nombre flou
(nous utiliserons pour simplifier le terme intervalle).
Comme nous l’avons vu dans le chapitre (cf 1.2.4), ce mode de représentation est adapté au
dialogue avec les spécialistes concepteurs. De plus, il permet de tenir compte de l’imprécision
de la proposition, et grâce aux fonctions d’appartenance, de coupler représentations numérique et
linguistique.
FIG. 3.1: Différents types de fonctions
Notre réflexion s’est plus particulièrement portée sur la façon de décrire l’intervalle. Faut-il
laisser au spécialiste le choix du nombre de valeurs le définissant ou restreindre ce choix ?
En résumé, allons-nous utiliser une représentation triangulaire (a), trapézoïdale (b), un ensem-
ble de points (c), ou une courbe parabolique (d) (figure 3.1) ?
68
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Nous avons testé ces différentes représentations : plus il y a de points, plus les calculs sont
longs et complexes. Une représentation avec un nombre de points élevé est peu conforme aux
attentes des spécialistes, qui veulent pouvoir décrire leurs paramètres le plus simplement possible.
En outre, plus il y a de points, plus nous ajoutons de la précision dans l’imprécision. Cette dose de
précision influence peu les résultats finaux. C’est pourquoi, conformément à la théorie des sous
ensembles flous, nous avons choisi de représenter les paramètres sous forme trapézoïdale. Cette
forme est simple à utiliser, visuelle, et permet aussi bien de représenter un intervalle flou décrit
par une fonction trapézoïdale qu’un nombre flou décrit par une fonction triangulaire.
FIG. 3.2: Intervalle flou
Pour décrire un intervalle flou, et afin de fournir des outils de représentation adaptés aux spé-
cialistes et à leurs domaines d’étude, nous proposons deux méthodes de construction.
La première méthode permet de décrire rapidement et simplement une imprécision. Elle est
basée sur une description de l’intervalle à partir de points références, c’est-à-dire quatre cou-
ples : valeur-degré d’appartenance, de type [(a,1);(b,1);(ψ,0);(ω,0)]. Ils sont présentés sur la
figure 3.2 :
– a et b sont les sommets de la fonction d’appartenance ;
– ψ = a−α est la limite inférieure de l’intervalle ;
– ω = b+β est la limite supérieure de l’intervalle ;
La seconde méthode permet de représenter l’intervalle sous forme d’équation. Ce style est pra-
tique, simple, intuitif, et permet de traduire rapidement une imprécision sous forme graphique.
L’utilisation d’une description visuelle est facile à appréhender et à assimiler. Deux formes d’équa-
tions sont présentées, fonction de λ (axe des ordonnées) ou fonction de x (axe des abscisses). Selon
les opérations à appliquer sur les intervalles, il peut être nécessaire et pertinent de passer de l’une
69
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
à l’autre.
– fonction de λ , selon les opérations à appliquer, utiliser cette forme peut être avantageux,
comme par exemple pour faire une intégration, car le domaine de variation λ est connu,
borné entre 0 et 1.
– f−(λ ) = α×λ +(a−α) avec λ ∈ [0;1], le front gauche de la courbe ;
– f +(λ ) =−β ×λ +(β +b) , le front droit de la courbe ;
– fonction de x, équation standard de type Y = A×X +B :
– µ−(x) = x−ψa−ψ avec x ∈ R, l’équation de la partie gauche de la fonction ;
– µ+(x) = x−ωb−ω , l’équation de la partie droite de la fonction.
Ces modes de description permettent de modéliser différentes propositions, par exemple :
P1 : "le vent souffle à 20 kilomètres par heure à plus ou moins 10%"
La proposition P1 peut être représentée par les couples [a = 20,b = 20,ψ = 18,ω = 22] et les
équations :
f onctiondeλ f onctiondex
f−(λ ) = 18+2×λ µ−(x) = (x−18)/2
f +(λ ) = 22−2×λ µ+(x) =−(x−22)/2
Ou encore
P2 : "la vent souffle entre 20 et 30 km par heure"
Si on fuzzifie la proposition P2 avec une précision de 20%, elle peut être alors représentée par
les couples [a = 20,b = 30,ψ = 16,ω = 36] et les équations :
f onctiondeλ f onctiondex
f−(λ ) = 16+4×λ µ−(x) = (x−16)/4
f +(λ ) = 36−6×λ µ+(x) =−(x−36)/6
Cette méthode permet aussi de représenter un nombre entier :
70
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
P3 : "A = constante"
par l’intervalle [a = b = constante,α = β = 0].
Cette représentation est une généralisation du concept d’intervalle classique. Le principe fon-
damental est de remplacer tout nombre imprécis par un intervalle le contenant et d’effectuer les
calculs sur des intervalles, tout intervalle calculé contient le résultat du calcul exact. Ces notions
sont reprises dans la théorie des sous ensembles flous, avec en plus l’ajout d’un degré d’apparte-
nance. Grâce au principe d’extension (cf. 1.1) il a été prouvé qu’une grande partie des opérations
définies pour les intervalles classiques sont utilisables pour les intervalles flous.
3.2.2 Manipulation des données
Une fois le mode de représentation choisi, le but étant de simuler des données, il faut pouvoir
effectuer des opérations et les manipuler.
Les intervalles flous sont couramment utilisés dans les domaines du raisonnement approxi-
matif, il existe donc un grand nombre de travaux de recherche visant à étendre les opérations de
base.
Nous classons ces opérations en plusieurs catégories, les opérations classiques (+,−,×,/,etc.),
les fonctions monotones, fonctions dont le sens de variation ne change pas sur l’intervalle (√,expo,
ln,etc.), et les fonctions non monotones (sin,cos, tan,etc.).
Chacun de ces cas demande l’utilisation de méthodes spécifiques, issues soit du principe d’ex-
tension, soit du calcul d’intervalles classiques, soit des travaux de D. Dubois [DFF04, FDF04],
présentés dans la partie 1.2.5.2.
Ces différentes méthodes permettent d’effectuer des opérations sur les intervalles flous comme
s’il s’agissait d’intervalles classiques.
La forme des données, intervalle ou équation, n’est pas importante dans le choix des fonctions
de manipulation. Selon les besoins nous basculons de l’une à l’autre.
Par exemple, pour le principe d’extension, la représentation sous forme intervalle est plus
appropriée mais les deux formes sont utilisées.
71
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Pour la méthode des fronts, la représentation sous forme d’équation est incontournable ; de
plus, elle permet d’effectuer des opérations comme les intégrations.
Nous utilisons, en fonction des opérations à effectuer, les méthodes qui nous semblent les plus
adaptées, et les plus intuitives. Le but est de favoriser la compréhension des opérations.
La méthode des fronts est utilisée pour les opérations simples (+,−), le calcul d’intervalles et
le principe d’extension pour les opérations plus complexes (×,/,√
,expo,ln,sin,cos,tan,∫,etc.).
Il est à noter que l’on peut aussi utiliser une approximation du résultat donné par la méthode
des fronts pour effectuer des divisions et des multiplications. Comme il a été montré dans [FDF04]
le résultat d’une multiplication avec cette méthode est une fonction linéaire par morceaux, non
représentable à partir de la forme de notre structure de données définie par quatre points. La méth-
ode des fronts donne un résultat exact, nous utilisons le plus souvent une représentation approchée
des résultats.
Une grande partie de ces méthodes et la structure de données sont intégrées dans une librairie
pour permettre la définition et la manipulation de données de type intervalle flou.
Dans l’algorithme 1 nous présentons cette librairie de fonctions sous forme d’une classe, ap-
pelée IntervalleFlou.
Il est possible de créer une instance de la classe à partir des valeurs a,b,ψ,ω auquelles ont
peut ajouter un label linguistique caractérisant l’intervalle.
Dans cette librairie nous avons implémenté les différentes opérations classiques de manipula-
tion des quantités floues et avons choisi d’utiliser les méthodes les plus appropriées pour répondre
à nos objectifs. Par exemple pour l’opération +, nous travaillons sur les bornes de l’intervalle. Un
utilisateur souhaitant tester d’autres méthodes devra surcharger nos fonctions. Si pour une grande
partie des opérateurs classiques les différentes méthodes donnent les mêmes résultats, une sur-
charge n’est alors pas d’un grand intérêt, pour les autres fonctions, qui ont été programmées de
manière spécifique pour nos besoins, leur utilisation peut donner des résultats imprévus. Dans ce
cas, il est conseillé de les adapter au contexte.
72
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 1 Classe IntervalleFlou en pseudo langageliste fonction = ln,expo,
√,sin,cos, tan,etc.
liste opérateur = +,−,×,/,etc.class IntervalleFlou// Structure de donnéesréel λ ∈ [0,1] // valeur en ordonnéecaractère label // label linguistique caractérisant l’intervalleréel a,b // sommets des fonctions d’appartenanceréel ψ ,ω // limites inférieure et supérieureréel α = a−ψ , β = ω−b
// Fonctions caractéristiquesfunction f rontGauche(λ ) = α×λ +(a−α) // représentation du front gauche de la courbefunction f rontDroit(λ ) =−β ×λ +(β +b) // représentation du front droit de la courbefunction partieGauche(x) = x−ψ
a−ψ // représentation de la partie gauche de µ(x)function partieDroite(x) = x−ω
b−ω // représentation de la partie droite de µ(x)// Constructeurs d’intervalle flou, avec comme paramètres pour un intervalle classique (a,b),pour un nombre réel (a), pour un nombre flou (a,ψ,ω), et pour un intervalle flou (a,b,ψ,ω)IntervalleFlou(a,b = a,ψ = a,ω = b, label =′ I′)
// Surcharges d’opérateurs entre intervalleIntervalleFlou operator× (IntervalleFlou) // fonction multiplicationIntervalleFlou operator = (IntervalleFlou) // fonction d’affectationIntervalleFlou operator +(IntervalleFlou) // fonction d’additionIntervalleFlou operator/(IntervalleFlou) // fonction division
// Surcharges d’opérateurs entre intervalle et réelIntervalleFlou operator = (réel) // fonction d’affectationIntervalleFlou operator +(réel) // fonction d’additionIntervalleFlou operator− (réel) // fonction de soustractionIntervalleFlou operator/(réel) // fonction division
// Fonctions de manipulationIntervalleFlou supMin(IntervalleFlou,operateur) // principe d’extension pour les opérateursIntervalleFlou supMin(IntervalleFlou, f onction) // principe d’extension pour les fonctions
...// Fonctions d’affichageIntervalleFlou operator > (IntervalleFlou) // fonction d’entréeIntervalleFlou operator < (IntervalleFlou) // fonction de sortieIntervalleFlou operator > (réel) // fonction d’entréeIntervalleFlou operator < (réel) // fonction de sortie// Autres fonctionsIntervalleFlou sin(IntervalleFlou) // fonction sinus pour les intervalles flousIntervalleFlou cos(IntervalleFlou) // fonction cosinus pour les intervalles flous...
Dans la classe IntervalleFlou, les principales fonctions de manipulation sont décrites à partir
d’un prototype (Type_de_donnee_renvoyee Nom_De_La_Fonction(type_argument1, type_argument2,
73
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
...) ;). Sous sa forme finale, la classe propose beaucoup plus de fonctions que celles présentées dans
l’algorithme 1.
Dans les algorithmes 2, 3, 4 et 5 nous allons détailler quelques unes des fonctions présentées
dans la classe. La personne intéressée par l’ensemble du code peut se référer à l’annexe page 159.
Dans l’algorithme 2, nous présentons la fonction qui permet d’additionner deux intervalles
flous. Cette fonction est issue de l’arithmétique floue, nous aurions tout aussi bien pu utiliser la
méthode des fronts ou le principe d’extension, mais comme nous l’avons déjà précisé, dans le cas
de l’addition ces trois méthodes donnent les mêmes résultats.
Algorithme 2 Addition floue// Définition des variablesIntervalleFlou m, n// surcharge d’opérateurfunction : IntervalleFlou operateur +(IntervalleFlou n) // fonction d’addition IntervalleFlou r // résultatψr← ψm +ψnωr← ωm +ωnar← am +anbr← bm +bnreturn r
La classe IntervalleFlou permet de manipuler des intervalles décris à partir d’équations. Bien
qu’en réalité la fonction de soustraction ait été implémentée en utilisant l’arithmétique floue, il
est possible de réécrire l’algorithme de cette opération (algorithme 3) en utilisant la méthode des
fronts [FDF04].
Algorithme 3 Soustraction floue// Définition des variablesIntervalleFlou m, n// surcharge d’opérateurfunction : IntervalleFlou operateur− (IntervalleFlou n) // fonction de soustractionIntervalleFlou r // résultatf rontGaucher(λ )← f rontGauchem(λ )− f rontDroitn(λ )f rontDroitr(λ )← f rontDroitm(λ )− f rontGauchen(λ )return r
Comme nous venons de la voir au travers des algorithmes 2 et 3, il est possible d’utiliser
74
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
indifféremment la méthode des fronts ou l’arithmétique floue pour décrire les fonctions de ma-
nipulation. La classe IntervalleFloue fournit également une fonction générique de manipulation
basée sur le principe d’extension. Par exemple, les opérations précédentes peuvent faire appel à la
fonction supMin (algorithme 4) avec pour argument le type de l’opération (+,−).
Dans l’algorithme 4 les calculs sont effectués sur le support de l’intervalle, son parcours peut
être fixé par l’utilisateur (pas = 0, 1, 0.1, 0.01, etc.) et est défini par défaut comme une fraction du
support. Il est à noter que plus le pas est petit et plus les temps de calcul augmentent. L’algorithme
peut être simplifié en ne calculant les résultats que pour les bornes de l’intervalle (a,b,ψ et ω), ce
cas particulier est pris en compte si l’utilisateur entre un pas égal à zéro (pas = 0).
Algorithme 4 Fonction décrivant le principe d’extension pour les opérateurs// Définition des variablesIntervalleFlou m, noperateur = +, -, /, %, ×, etc.// principe d’extension pour les opérateursfunction : IntervalleFlou supMin(IntervalleFlou n, operateur O, reel pas) Tableau min // tableau qui contient le plus petit degré d’appartenanceIntervalleFlou r // résultatréel x, y, z, paspour z←ψm Oψn à ωm Oωn // parcours de toutes les valeurs prises par l’intervalle résultat en
fonction de l’opération O et du paspour x← ψm à ωm // parcours des valeurs de l’intervalle m avec un pas fixé
pour y← ψn à ωn // parcours des valeurs de l’intervalle n avec un pas fixési xOy = z alors min←Min(µm(x),µn(y)) // sélection du plus petit degré d’appartenance
µr(z)←Max(min) // sélection du plus grand degré d’appartenance parmi les plus petitsreturn r
Pour les opérations de type fonction, il faut distinguer plusieurs cas :
1. la fonction est monotone et croissante, ou l’intervalle est sur une partie croissante de la
fonction. Dans ce premier cas nous pouvons simplement appliquer le principe d’extension
sur les fonctions ou calculer les images des points a,b,ψ et ω de l’intervalle I tel que
l’intervalle résultat R = F(I), avec F la fonction.
2. la fonction est monotone et décroissante, ou l’intervalle est sur une partie décroissante de
75
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
la fonction. Ici, nous pouvons aussi utiliser le principe d’extension mais il faut permuter a
avec b et ψ avec ω . L’image de a sera F(b), etc.
3. la fonction n’est pas monotone et l’intervalle est à cheval sur plusieurs zones de variation
différentes. Dans ce cas, il existe plusieurs méthodes pour calculer l’image de l’intervalle.
L’une d’elle consiste à découper l’intervalle en zones sur lesquelles la fonction est monotone
croissante ou décroissante, d’appliquer le principe d’extension sur chacune des zones et
enfin de trier les valeurs résultats pour reconstruire un intervalle image cohérent.
Nous avons choisi d’utiliser une autre méthode qui consite dans un premier temps à calculer les
images du noyau (a,b) et à les inverser si F(b) < F(a), à calculer ensuite, les images par F des
bornes (ψ,ω). Si F(ψ) ou F(ω) est inférieur à F(a) et F(b) et que F(ψ) ou F(ω) est supérieur
à F(a) et F(b) alors il est possible de trier les images par F de a,b,ψ,ω et ainsi de reconstruire
l’intervalle résultat R = F(I).
Dans le cas où la condition n’est pas valide, on obtient un intervalle résultat à partir de la for-
Comme nous l’avons précisé précédemment, il est à noter que pour certaines fonctions (fonc-
tions trigonométriques, fonctions non continues, etc.) les résultats peuvent être incohérents suivant
l’intervalle sur lequel elles sont appliquées. L’expert concepteur doit veiller à utiliser ou définir
des algorithmes adaptés aux fonctions qu’il souhaite employer.
L’algorithme 5 met en œuvre cette proposition de traitement dans le cas de la fonction carré
F = I2.
Il est à noter, qu’en arithmétique d’intervalle, le carré de l’intervalle n’est pas égal au produit
par lui-même.
La fonction carré est décroissante sur ]−∞;0] et croissante sur [0;+∞[, il faut donc tester si
l’intervalle sur lequel on souhaite effectuer l’opération se situe sur R−, R+ ou entre les deux. Si
il est sur R+ nous appliquons le cas 1 (fonction monotone et croissante) ; si il est sur R−, il faut
utiliser le cas 2 (fonction monotone et décroissante) ; sinon nous devons appliquer le cas 3.
Par exemple, soit I un intervalle, et R son image par la fonction F = I2 :
76
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 5 Carré d’un intervalle flou// Définition des variablesIntervalleFlou m// Fonction carré d’un intervalle floufunction : IntervalleFlou carre(IntervalleFlou m) IntervalleFlou r // résultat
// cas 1 et 2si ψm ≥ 0 ou ωm ≤ 0 alors // partie croissante ou décroissante
En fait, il est nécessaire de programmer une méthode spécifique pour chaque fonction non
monotone.
Pour permettre la prise en compte de paramètres imprécis, nous avons défini un nouveau type
de données et plusieurs fonctions de manipulation, puis nous les avons regroupé dans une librairie.
Cette librairie implémente la plupart des fonctions classiques de l’arithmétique et fournit les outils
pour surcharger ou définir de nouvelles fonctions en utilisant la méthodologie la plus appropriée
au contexte (méthode des fronts, arithmétique floue, principe d’extension). Avec cette approche,
un concepteur a la possibilité d’utiliser dans ces modèles des variables imprécises pour décrire
le comportement d’un système, il lui suffit de les définir à partir du type IntervalleFlou. Les
algorithmes de simulation sont générés automatiquement, conformément au formalisme DEVS,
les modifications apportées pour conserver cette propriété sont présentées dans la partie suivante.
78
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
3.3 Simulation iDEVS
Une simulation informatique désigne un procédé selon lequel on exécute un programme infor-
matique sur un ordinateur en vue de le simuler. Ce procédé permet de voir l’évolution du modèle
dans le temps, la notion de temps est donc centrale. Dans le formalisme DEVS classique, l’exé-
cution des fonctions comportementales (δext , ta,λ ,δint) est géré par les processeurs (cf.2.3.2), ils
peuvent recevoir ou émettre quatre types de messages :
1. un message d’initialisation (i, t) : il permet à tous les acteurs d’effectuer une synchronisation
temporelle initiale ;
2. un message de transition interne (∗, t) : il permet la gestion des évènements internes avec
l’exécution des fonctions δint ,λ ;
3. un message de sortie (y, t) : il permet l’envoi des sorties, données par λ , aux éléments parents
et résulte de la réception d’un message (∗, t) ;
4. un message de transition externe (x, t) : il permet la gestion des évènements externes avec
l’exécution de la fonction δext .
De plus, les processeurs de type root et simulateur sont à la base de la dynamique de simulation
et de la gestion du temps. Pour cela ils utilisent deux variables temporelles, tl qui correspond
au temps de simulation du dernier évènement (last time), et tn qui est le temps d’apparition du
prochain évènement (next time). A partir de la définition de la fonction d’avancement du temps ta,
nous avons :
tn = tl + ta
Si le temps de simulation t est connu, les processeurs peuvent calculer, à partir de cette vari-
able, le temps écoulé depuis le dernier évènement,
e = t− tl
ainsi que le temps restant avant l’apparition du prochain évènement,
79
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
σ = tn− t = ta− e
Le temps ta est envoyé au processeur parent pour lui permettre d’effectuer une bonne synchro-
nisation des évènements.
Dans notre cas, toutes ces variables de temps peuvent être imprécises, il serait donc impossible
de définir le temps du prochain évènement, et la simulation ne progresserait jamais.
Pour résoudre ce problème, nous avons étudié deux solutions. La première consiste, un peu
comme dans Min-Max-DEVS [HGF06], à modifier les algorithmes de simulation en ajoutant une
fonction de classement floue [LLL04, TD02, ZML05]. Le but est d’évaluer et de ranger les dif-
férents temps imprécis en fonction de leur date d’exécution, ainsi il est possible de choisir quel
évènement déclencher. L’inconvénient de cette solution est qu’elle implique des modifications sur
les algorithmes de simulation ce qui nous conduirait à modifier la partie simulation du formalisme
DEVS classique, or nous nous sommes fixé comme objectif prioritaire de pouvoir utiliser l’ap-
proche iDEVS dans n’importe quel environnement DEVS sans avoir à apporter de modifications
importantes sur la partie simulation.
La seconde solution est l’utilisation d’une fonction de défuzzification (cf.1.4.3). Cette méthode
nous paraît plus adaptée à notre problématique.
Dans cette partie, nous allons présenter sa mise en place dans le formalisme DEVS.
Dans la première section, nous proposons l’étude de plusieurs méthodes de défuzzification à
partir d’un exemple simple.
Dans la seconde section nous présentons l’intégration de la méthode choisie dans le formal-
isme iDEVS.
3.3.1 Exemple de méthodes de défuzzification
Les imprécisions sur le temps peuvent intervenir au niveau de la fonction d’avancement du temps
(ta), et sur la date de déclenchement des évènements.
Pour résoudre le problème de simulation à dates imprécises, nous proposons l’étude de plusieurs
80
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
techniques. Elles passent toutes par une phase de défuzzification.
La défuzzification a pour but de passer d’une valeur imprécise à une valeur précise ; plusieurs
techniques peuvent être employées, on se propose d’en comparer cinq, afin de choisir celle qui
nous parait la plus appropriée. Pour cela, nous allons étudier deux propositions floues :
1. C1: la valeur x1 est envoyée aux environs du temps t = 4. Nous choisissons de représen-
ter cette proposition avec un support compris entre 2 et 8, elle est donc modélisée par
l’intervalle [4,4,2,8] et sous forme d’équation :
(a) fonction de λ (ordonnée),
i. C−1 (λ ) = 2+2×λ ;
ii. C+1 (λ ) = 8−4×λ ;
(b) et fonction du temps (abscisse),
i. C−1 (t) = (t−2)/2 ;
ii. C+1 (t) =−(t−8)/4 .
2. C2 : la valeur x2 est envoyée entre les temps 3 < t < 5. Nous choisissons de représenter
cette seconde proposition avec un support compris entre 1 et 8, elle est donc décrite par
l’intervalle [3,5,1,8], et sous forme d’équation :
(a) fonction de λ ,
i. C−2 (λ ) = 1+2×λ ;
ii. C+2 (λ ) = 8−3×λ ;
(b) et fonction du temps
i. C−2 (t) = (t−1)/ 2;
ii. C+2 (t) =−(t−8)/3.
81
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
3.3.1.1 Noyau
Cette méthode consiste à choisir comme temps celui qui a le meilleur degré d’appartenance, c’est-
à-dire le temps correspondant à la condition d’exécution de l’évènement la plus valide (λ = 1).
Si (a = b) Noy(Cn) = a et si (a 6= b) Noy(Cn) = (a+b)/2 algorithme 6.
Algorithme 6 Fonction qui renvoie le noyau d’un intervalle// Définition des variablesIntervalleFlou m// fonction qui renvoie la valeur la plus plausiblefunction : réel noyau() réel r // résultatr← (am+bm)
2return r
Dans l’exemple, Noy(C1) = 4 et Noy(C2) = 5+32 = 4.
C1 :
t = 4
λ = 1
C2 :
t = 4
λ = 1Cette méthode ne donne pas la possibilité de refuzzifier le résultat, c’est-à-dire de revenir à un
temps représenté par un intervalle, nous perdons donc de l’information sur l’axe des abscisses. Le
seul moyen pour refuzzifier est de lancer plusieurs simulations avec comme paramètres les bornes
ψ et ω (2 et 8 dans C1) et le noyau a, b (4 dans C1). Après plusieurs simulations (3 ou 4) il est
alors possible de recomposer le résultat.
Nous cherchons une méthode pertinente, qui fournit après son application la possibilité de
reconstituer un résultat sous forme d’intervalle, tout en gardant le degré d’appartenance. La méth-
ode du noyau ne le permet pas ; de plus, en choisissant toujours le temps avec le meilleur degré
d’appartenance, nous perdons de l’information sur les deux axes.
3.3.1.2 Milieu
Cette méthode consiste à calculer le temps moyen auquel pourrait se déclencher l’évènement,
milieu = ω+ψ2 pour C1, milieu = 5, et pour C2, milieu = 4.5.
82
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 7 Fonction qui renvoie le point milieu d’un intervalle// Définition des variablesIntervalleFlou m// fonction qui renvoie le milieu de l’intervallefunction : réel milieu() réel r // résultatr← ωm+ψm
2return r
C1 :
t = 5
λ = 0.75
C2 :
t = 4.5
λ = 1C’est une méthode simple et qui, comme la méthode du noyau, fait perdre de l’information
au niveau des abscisses. Nous pouvons tout de même conserver le degré d’appartenance ou de
validité de la condition, c’est-à-dire de l’information sur l’axe des ordonnées λ .
Avec cette méthode, nous pouvons conserver dans une variable la moyenne des λ défuzzifiés,
et ainsi définir le degré de validité du résultat final. C’est un avantage par rapport à la méthode du
noyau car nous conservons une information de validité sur l’axe des ordonnées.
3.3.1.3 Intégrale
Cette méthode consiste à calculer la moyenne de l’intégrale de la fonction IM =∫ max
min A++∫ max
min A−2 .
Nous pouvons calculer le résultat à partir des deux représentations (fonction de λ ou du temps),
mais l’intégrale en fonction de λ permet d’avoir des bornes de calcul connues [0,1] et toujours
fixes.
83
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 8 Fonction qui renvoie l’intégrale d’un intervalle// Définition des variablesIntervalleFlou m// fonction qui renvoie le résultat de l’intégrale d’un l’intervallefunction : réel integraleL() // fonction de λréel r, rGauche, rDroit // résultatréel rGauche // résultat de la partie gauche de la fonctionréel rGauche // résultat de la partie droite de la fonctionrGauche← ψ +(a−ψ
2 ) // intégrale du f rontGauche() entre [0,1]rDroit← ω− (ω−b
2 ) // intégrale du f rontDroit() entre [0,1]return r← rGauche+rDroit
2// fonction qui renvoie le résultat de l’intégrale d’un l’intervalle// par défaut m = ψ et n = ω les bornes inférieure et supérieure de l’intervallefunction : réel integraleX(réel m = ψ, réel n = ω) // fonction de xréel r, rGauche, rDroit // résultatréel rGauche // résultat de la partie gauche de la fonctionréel rGauche // résultat de la partie droite de la fonctionrGauche← ∫ a
m(x−ψ)/(a−ψ)dx // intégrale de la partieGauche() entre [ψ,a]rDroit← ∫ n
b (x−ω)/(b−ω)dx // intégrale de la partieDroite() entre [b,ω]return r← rGauche+rDroit
2
Résultat de l’algorithme 8 :
IM(C1) = (∫ 1
0 (2+2λ )dλ +∫ 1
0 (8−4λ )dλ )/2 = 4.5.
C1 :
t = 4.5
λ = 0.87
C2 :
t = 4.25
λ = 1Avec cette méthode nous perdons aussi toute possibilité de refuzzification, mais le degré
de validité λ de la condition est conservé. C’est une méthode semblable à la méthode du mi-
lieu bien qu’elle donne un meilleur résultat, car elle prend en compte la forme de la fonction
d’appartenance.
3.3.1.4 Date prévue d’exécution : EEM (Expected Existence Measure)
Cette méthode permet de calculer la date prévue d’exécution de l’évènement, elle a été présentée
par A. Anglani dans [AGN+00]. Elle s’effectue en deux étapes :
84
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
(a) C1 (b) C2
Figure 3.3: Fonctions d’appartenances de C1, C2 et fonctions EEM
1. d’abord nous calculons un rapport d’intégrales entre la fonction représentant l’intervalle
[ψ, t] avec ψ ≥ t ≥ ω :∫ t
ψ et l’intervalle [ψ,ω] :∫ ω
ψ (fonction intégraleEEM algorithme 9).
Ce rapport d’intégrale∫ t
ψ (Cn)∫ ωψ (Cn)
est représenté pour l’exemple C1 et C2 par la courbe EEM
figures 3.3 (a) et (b). Ce rapport représente le temps prévu d’exécution de l’évènement
EEM (expected existence measure).
2. la seconde étape est la définition d’un coefficient de confiance compris entre 0 et 1, fonction
coefEEM algorithme 9. 0 l’évènement n’a pas encore eu lieu, 1 il s’est produit. Nous
cherchons la valeur de l’intervalle tel que EEM = coe f . Par défaut le coefficient est fixé à
0.5.
Pour notre exemple, et avec la valeur par défaut du coefficient, l’algorithme 9 donne pour
résultat suivant :
C1 :
t = 5.5
λ = 0.62(voir figure 3.3 (a))
C2 :
t = 4.9
λ = 1(voir figure 3.3 (b))
Cette méthode permet d’ajouter à une technique de défuzzification un coefficient d’aide à la
décision. S’il est défini très petit, cela veut dire que nous cherchons à déclencher l’évènement
tôt, si nous voulons être sûrs que l’évènement ait bien eu lieu, nous pouvons fixer un coefficient
élevé. En effet, plus le coefficient se rapproche de 1 et plus on a de chance que l’évènement se
soit produit. Cette méthode ne permet pas d’effectuer de refuzzification, mais comme les autres
85
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 9 Fonctions qui renvoient la date prévue d’exécution EEM// Définition des variablesIntervalleFlou m// fonction qui renvoie le résultat de l’intégrale EEMfunction : réel integraleEEM(réel t) // fonction EEMréel r // résultatréel rNum // résultat du numérateur
∫ tψ
réel rDen // résultat du dénominateur∫ ω
ψrNum← integraleX(ψ, t) // intégrale entre [ψ , t]rDen← integraleX() // intégrale entre [ψ,ω]return r← rNum
rDen// fonction qui renvoie le résultat tel que intégraleEEM = coeffunction : réel coe f EEM(réel coe f = 0.5) // fonction coefEEMréel r // résultatréel d // la décimale de recherche d = 1,0.1,0.01,0.001,etc.r← ψtant que r ≤ ω
si integraleEEM(r) = coe freturn r
si nonr← r +d
return 0
on peut conserver le degré de validité de la condition λ .
3.3.1.5 Changement de domaine
Le changement de domaine consiste à transformer la fonction en transférant l’imprécision sur le
temps en imprécision sur la valeur de l’évènement [BdGSB06]. Par exemple, pour C1, la valeur
de l’évènement x1 est envoyé au temps [4,4,2,8] :
• aux conditions les plus favorables (max), l’évènement x1 se produit à t = 2, donc à t = 4 il
aurait pour valeur le double 2x1 ;
• aux conditions les moins favorables (min), l’évènement x1 se produit au temps t = 8 donc à
t = 4 il aurait eu pour valeur x12 ;
Au final nous obtenons un nouvel intervalle ; l’évènement x1 qui a pour valeur entre 0.5×x1 et
2×x1 va se produire au temps t = 4. Cette nouvelle fonction C1 est présentée sur la figure (3.4.a).
86
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Figure 3.4: Fonctions C1 et C2 (a et b) après l’application d’une fonction de changement dedomaine
C1 : x1 à [4,4,2,8]→C1 : 4 à [x1,x1,x12 ,2x1]
La figure 3.4.b représente l’évènement C2 après changement de domaine.
Ces fonctions sont dépendantes du domaine d’étude, c’est donc aux scientifiques concepteurs
de les définir. Elles ne peuvent ainsi intervenir que dans notre approche de conception de modèles
à partir de la librairie, car le concepteur doit lui même coder sa fonction. De plus elles posent
certains problèmes, notamment si la valeur de l’évènement est déjà représenté par un intervalle ;
dans ce cas il est difficile d’effectuer le changement.
3.3.2 Proposition
Pour valider nos choix, nous avons implémenté les différentes méthodes présentées dans la classe
IntervalleFlou (algo. 10) et les avons testé sur différents modèles iDEVS, les résultats ont fait
l’objet de deux publications [BdGBS08c, BdGBS08a]. La méthode qui, selon nous, présente
le plus d’avantages est la méthode EEM [AGN+00], elle permet d’ajouter un support d’aide à
la décision ; en définissant un coefficient de confiance, l’utilisateur peut choisir à quel moment
transformer les imprécisions sur le temps. Au final, nous perdons de l’information sur l’axe des
abscisses mais nous gardons le coefficient de validité λ de la proposition.
Nous pensons qu’il peut être utile, en plus d’avoir la moyenne des coefficients de validité dé-
fuzzifiés, de fournir en résultat l’intervalle final du temps de simulation. Cet intervalle représente
tous les temps auxquels la simulation aurait pu prendre fin. Il est calculé grâce à une variable d’état
de type IntervalleFlou qui s’incrémente de la variable imprécise de temps (avant défuzzification)
à chaque exécution de la fonction.
87
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 10 Suite de la classe IntervalleFlou en pseudo langageliste fonction = ln,expo,
√,sin,cos, tan,etc.
liste opérateur = +,−,×,/,etc.class IntervalleFlou// Structure de donnéesréel λ ∈ [0,1] // valeur en ordonnéecaractère label // label linguistique caractérisant l’intervalleréel a,b // sommets des fonctions d’appartenanceréel ψ ,ω // limites inférieure et supérieureréel α = a−ψ , β = ω−b
// Fonctions caractéristiques...// Constructeurs...// Intégrales et Simulation
réel integraleL() // renvoie la valeur de l’intégrale entre 0 et 1 en fonction de λréel integraleX(réel m = ψ, réel n = ω) // valeur de l’intégrale entre m et n, fonction de xréel integraleEEM(réel) // valeur de l’intégrale EEM en fonction d’un réelréel coe f EEM(réel) // valeur de l’intégrale tel que integraleEEM(reel) = coe f EEM(reel)réel noyau() // renvoie le noyau de l’intervalle a+b
2réel milieu() // renvoie le milieu de l’intervalle ψ+ω
2// Fonctions d’affichage...
Une fois la méthode choisie et ajoutée dans notre classe (algorithme 10), il ne reste plus qu’à
l’inclure dans DEVS et modifier le modèle atomique de base afin de prendre en compte nos mod-
ifications. Cette étape nous fait passer de DEVS à iDEVS, car le modèle atomique DEVS de base
doit évoluer. Cette évolution permet de gérer tous les problèmes de temps au niveau de la modéli-
sation. Il n’est pas nécessaire de changer les algorithmes de simulation, nos contraintes de départ
sont donc respectées.
Le problème étant lié au temps, nous avons modifié la fonction time advance (ta) du modèle
atomique pour qu’elle ne retourne que des temps précis. Ainsi nous n’avons plus de problème
de temps de simulation imprécis, il est réglé au niveau de la conception du modèle et donc de la
modélisation.
Au niveau comportemental (à l’intérieur du modèle), le temps peut être défini comme imprécis
mais il sera défuzzifié avant d’être envoyé au simulateur. La fonction ta a été modifiée pour tester
si le temps à retourner est précis ou imprécis ; dans le second cas, le temps est transformé.
88
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Nous ne considérons pas la fonction ta simplement comme une fonction qui définit le temps
de vie d’un état, mais comme une fonction qui permet de définir les temps d’exécution des évène-
ments internes.
Si les évènements proviennent d’un générateur, donc d’un modèle atomique, on gère avec la
fonction ta les valeurs imprécises sur le temps d’exécution des évènements ; cette gestion passe
par la définition d’un modèle atomique flou ; la différence entre la fonction ta du modèle DEVS
classique et la fonction ta du modèle iDEVS reste imperceptible pour l’utilisateur final.
Il est important de noter que le premier message envoyé au simulateur, message d’initialisation
(i-message qui initialise les temps de simulation), ne doit pas contenir de temps imprécis. Générale-
ment, dans le formalisme DEVS, tous les évènements ont pour source un modèle. Cette remarque
n’est à prendre en compte que dans le cas particulier où un évènement aurait une source extérieure
au système.
Dans le modèle atomique iDEVS, nous appliquons avec la fonction ta une fonction de défuzzi-
fication (EEM), et nous conservons le degré de validité de la condition (ordonnée de la fonction
d’appartenance de l’intervalle : λ ) sous forme de coefficient, moyenne des λ défuzzifiés. Cette
nouvelle variable peut être stockée en tant qu’état du système S ou ajoutée en tant que variable de
classe dans la classe modèle atomique ; il en est de même pour l’intervalle représentant le temps
à la fin de la simulation. Ces différentes modifications sont présentées dans la partie suivante.
3.4 Modèles iDEVS
Nous avons présenté tout le cheminement scientifique qui nous a conduit à proposer une nou-
velle méthode de modélisation et de simulation de système à paramètre imprécis, méthode ap-
pelée iDEVS. Pour prendre en compte les imprécisions, les modèles iDEVS doivent dériver ou
instancier la classe IntervalleFlou. Le but est de fournir au concepteur les moyens de définir
des modèles ’imprécis’ indépendamment d’une plateforme ou d’une application données, juste
en important la classe dans l’environnement de modélisation. Le concepteur peut ainsi modéliser
son système imprécis à partir de la combinaison de modèles dérivés de la classe IntervalleFlou
89
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
et de modèles atomiques DEVS classiques. Il est a noter que le modèle couplé résultant d’une
combinaison de modèles ’imprécis’ et de modèles classiques est automatiquement un modèle
qui retourne des résultats imprécis. Tous les modèles iDEVS manipulent des données imprécises
(données de type IntervalleFlou), ils ont donc la possibilité d’utiliser les fonctions définies dans
la classe IntervalleFlou. Dans cette partie, nous décrivons les évolutions apportées aux modèles
DEVS pour permettre la prise en compte d’imprécisions.
3.4.1 Modèle atomique iDEVS
Un modèle atomique iDEVS, équation 3.1 et figure 3.5, est semblable au modèle atomique
DEVS. Sa particularité est qu’il peut manipuler des variables précises ou imprécises. Son rôle
est de décrire l’aspect comportemental d’une partie d’un système à paramètres imprécis. Si tous
les paramètres du modèle iDEVS sont précis, il a le même comportement qu’un modèle DEVS
classique.
FIG. 3.5: Modèle atomique iDEVS
Au niveau des modèles atomiques DEVS et iDEVS, le comportement des fonctions de tran-
sitions interne et externe (δint ,δext) est strictement identique. Par contre, pour la manipulation
de variables imprécises, nous utilisons les fonctions surchargées dans la classe IntervalleFlou
(+,−,/,cos,etc.). Pour décrire δint et δext , l’utilisateur n’a qu’à indiquer quelles sont les vari-
ables imprécises, l’emploi des fonctions appropriées se fait automatiquement.
Pour les fonctions d’avancement du temps et de sortie, des modifications structurelles ont été
introduites, mais elles restent imperceptibles pour l’utilisateur final.
La fonction d’avancement du temps, comme nous l’avons indiqué au paragraphe 3.3.2, doit re-
90
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
tourner une valeur précise afin que l’évènement correspondant puisse être inséré dans l’échéancier.
Pour cela nous avons ajouté une fonction de défuzzification qui est présentée dans l’algorithme 11.
Cette fonction est automatiquement déclenchée et l’utilisateur final n’a pas à se soucier de son
fonctionnement. Un utilisateur averti peut modifier l’implémentation de cette fonction à partir de
la classe IntervalleFlou.
Une autre modification structurelle apparaît au niveau de la fonction de sortie λ , en fin de
simulation elle renvoie le résultat plus deux variables de classe qui permettent de connaître le
coefficient de validité du résultat et l’intervalle de temps de simulation.
Les données manipulées par un modèle atomique flou sont représentées par un quadruplet
[a,b,ψ,ω], défini dans la classe appelée IntervalleFlou. Si a = b et α = β = 0 le modèle iDEVS
devient un modèle DEVS classique (non flou) manipulant des données précises [ ˜AMiDEV S ⊂AMDEV S].
L’équation 3.1 présente en détail le modèle atomique iDEVS général. Le "tilde" () sur un
paramètre signifie qu’il est imprécis, ou qu’il manipule des variables imprécises. Les valeurs d’en-
trée peuvent être imprécises X ; à la réception d’une valeur en entrée, la fonction floue de transition
externe δext est déclenchée ; elle met à jour l’état du système S et sa durée de vie σ en fonction
des spécifications définies par le concepteur. Si aucune entrée n’est détectée avant l’expiration de
la durée de vie, les fonctions floues de transition interne ˜δint et de sortie λ sont déclenchées. ˜δint
met à jour l’état du système en fonction des spécifications définies par le concepteur et λ génère
les sorties sur Y .
MA =< X , Y , S, ta, ˜δext , ˜δint , λ > (3.1)
avec :
– X = (p, v) | p ∈ Portsd entree, v ∈ Xp : la liste des ports d’entrée, chaque port étant carac-
térisé par un couple (numéro du port / valeur), où la valeur peut être définie comme précise
ou imprécise ;
– Y = (p, v) | p ∈ Portsdesortie, v ∈ Yp : la liste des ports de sortie, chaque port étant car-
actérisé par un couple (numéro du port / valeur), où la valeur est précise ou imprécise en
91
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
fonction du comportement du modèle ;
– S : l’ensemble des états ou des variables d’états précises S ou imprécises S du système S∈ S ;
– ta(S)→ R+ : la fonction d’avancement du temps, l’algorithme 11 décrit la fonction ta ;
Algorithme 11 Fonction d’avancement du temps imprécise ta// déclaration des variables de classeIntervalleFlou τ = [0,0,0,0] // l’intervalle représentant le temps de fin de simulationréel Λ // la somme des degrés d’appartenance λ défuzzifiéréel nbrDe f uz← 1 // variable qui compte le nombre de défuzzificationsréel moyΛ = Λ
nbrDe f uz // variable qui conserve la moyenne des λ , elle est renvoyée à la fin de lasimulation par chaque modèle// Fonction d’avancement du temps imprécisefonction réel ta( état S)soit σ le temps de vie de l’état Ssi σ est précis // la nature de σ est testé, si σ est précis la fonction ta a un comportement classique
ta← στ ← τ +σ // l’intervalle τ est incrémenté de σ , en fin de simulation il va fournir un intervalle
de tempssinon
ta ← σ .coe f EEM() // σ est une instance de la classe IntervalleFlou nous appliquons laméthode coe f EEM() algorithme 9
Λ← Λ + µ(σ .coe f EEM()) // Λ est la somme des λ défuzzifiés, la fonction µ(x) renvoie lavaleur de λ pour x
nbrDe f uz← nbrDe f uz+1τ ← τ +σ // nous ajoutons à l’intervalle τ l’intervalle σ
retourner ta
– δext : Q× X → S : la fonction de transition externe, où :
– Q = (Si,e) | Si ∈ S,0≤ e≤ ta(Si) : l’ensemble des états précis ou imprécis S1,2,...,n ;
– e : est le temps écoulé depuis la dernière transition ; la fonction de transition externe
spécifie comment le modèle atomique change d’état (passage de l’état S1 à l’état S2 quand
une entrée précise ou imprécise survient (évènement externe) avant que ta(S1) ne soit
écoulé ;
– δint : S→ S : la fonction de transition interne. Elle permet de passer d’un état S2 à l’instant
t1, à un état S1 à l’instant t2 lorsqu’aucun évènement externe n’arrive durant le temps de vie
de l’état ta(S2) ;
– λ : S→ Y : la fonction de sortie, elle renvoie les sorties du modèle et aussi les variables de
92
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
classe τ et moyΛ.
3.4.2 Modèle couplé iDEVS
Le modèle couplé iDEVS a la même forme que le modèle couplé DEVS, ils sont tous deux
décrits de la même façon. La seule différence est que le modèle couplé iDEVS peut être composé
de modèles DEVS classiques ou de modèles iDEVS. Par conséquent les variables d’entrée et de
sortie sont définies comme imprécises. Une donnée imprécise inclut une donnée précise.
Dans l’équation 3.2 nous décrivons en détail les différents aspects du modèle couplé iDEVS.
CM =< X , Y , D, Mi, Ii, Zi, j, L > (3.2)
avec :
– X = (p, v) | p ∈ Portsd′entree, v ∈ Xp : la liste des ports d’entrée, chaque port étant car-
actérisé par un couple (numéro du port / valeur) ;
– Y = (p, v) | p ∈ Portsdesortie, v ∈ Yp : la liste des ports de sortie, chaque port étant car-
actérisé par un couple (numéro du port / valeur) ;
– D : la liste des modèles composant le modèle couplé CM ;
– Mi =< Xi,Yi,Si,δexti,δinti ,λi, tai> : un modèle atomique imprécis Mi ⊂Mi ;
– Pour chaque modèle i ∈ D∪CM, Ii est l’ensemble des modèles qui influencent i ;
– Zi, j est la fonction de transition des sorties du modèle i vers le modèle j, telle que :
– ZCM, j : XCM→ X j est la fonction de couplage des entrées externes (EIC) ;
– Zi,CM : Yi→ XCM est la fonction de couplage des sorties externes (EOC) ;
– Z ˜i, j : Yi→ X j est la fonction de couplage interne (IC) ;
– L : la liste des priorités entre modèles.
L’intérêt de la méthode iDEVS est la prise en compte des imprécisions en définissant les paramètres
des modèles sous forme d’intervalles. Les intervalles peuvent être décrits à partir de valeurs
numériques ou linguistiques. Ces modèles peuvent être utilisés pour la description de systèmes
spécifiques, c’est-à-dire que le concepteur doit lui-même coder son modèle pour représenter le
93
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
système à simuler. Après avoir présenté les formes générales des modèles iDEVS, dans la partie
suivante, nous décrivons certains de ces modèles dans leur contexte d’application.
3.5 Réalisation
Il existe de nombreux environnements de modélisation qui intègrent la méthodologie DEVS.
Nous avons choisi de travailler avec deux environnements différents afin de prouver la généricité
de l’approche iDEVS. Les différents modèles développés ont été stockés dans une bibliothèque
conformement aux standards de l’environnement, ceci afin de permettre leur réutilisation.
Le premier environnement est powerDEVS [KLP03]. powerDEVS est un outil pour la mod-
élisation et la simulation de systèmes hybrides, basé sur le formalisme DEVS. Il est libre et inclut
le compilateur GCC1 de GNU2. Il permet de définir ses propres modèles, librairies C++ et fournit
une interface graphique pour la conception des modèles et la simulation.
Le second environnement est une extension de pythonDEVS3 développé pendant la thèse de
L. Capocchi [Cap05] à l’Université de Corse. Initialement créé pour le test de circuits digitaux,
il peut tout aussi bien être utilisé dans d’autres domaines. Il est basé sur un simulateur codé en
langage Python.
La méthode à employer pour associer DEVS à notre approche est décrite en détail en annexe
page 159.
3.5.1 Bibliothèque de modèles iDEVS
Une bibliothèque de modèles peut être définie comme une collection organisée de modèles.
C’est un dépôt accessible et ouvert, où nous regroupons divers modèles en fonction de leur do-
maine d’application (opération de base, circuit, etc.).
Notre bibliothèque contient un ensemble de modèles utiles à la modélisation de systèmes à
paramètres imprécis. Le but principal est de permettre au concepteur de créer des modèles à partir
1GCC : GNU Compiler Collection est le compilateur C de GNU2GNU est un système d’exploitation compatible UNIX et totalement libre3http ://moncs.cs.mcgill.ca/MSDL/research/projects/DEVS/PythonDEVS/PythonDEVS.pdf
94
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
de sous modèles existants, et ainsi ne pas à avoir à programmer. Cette approche est restreinte à
l’utilisation de modèles pré-conçus, et donc limitée dans ses domaines d’application, mais elle est
aussi plus accessible au non spécialiste de DEVS.
Pour étendre l’intérêt de cette approche, il est nécessaire de définir un grand nombre de mod-
èles.
Le septuplet représenté par la formule 3.3 propose un exemple de modèle atomique iDEVS
qui reproduit le comportement des fonctions de la classe IntervalleFlou (algorithme 1). C’est un
modèle de base, qui, par exemple, peut permettre de faire une opération binaire entre deux valeurs
d’entrée imprécises. Ce modèle suppose que les deux opérandes de la fonction sont accessibles,
dans le cas où l’un des deux ne l’est pas, ce modèle peut renvoyer un résultat erroné.
˜AMiDEV S :< X ,Y , S, ta, ˜δint , ˜δext , λ > (3.3)
avec
• X : f I1, f I2, les ports d’entrée qui reçoivent les données de type IntervalleFlou ;
• Y : f IR, le port de sortie qui renvoie le résultat de la fonction F ;
• S : Status,σ ,R,x, où :
– Status, le statut du modèle, ACT IV E/INACT IV E/BUZZY1/BUZZY2, son état ini-
tial est : INACT IV E ;
– σ , le temps de vie de l’état ;
– R, le résultat de la fonction F appliqué à l’état et aux entrées ;
– x stocke les valeurs d’entrées.
• ta(S) :→ renvoieσ , la fonction d’avancement du temps ;
95
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
• ˜δext :
si Status = INACT IV E x← f Isi f I1 Satuts← BUZZY2sinon Satuts← BUZZY1
sinon
si BUZZY2 et f I2 ou BUZZY1 et f I1
R = xop f I, Statuts← ACT IV E, σ ← 0
sinon x = f I
’op’ une opération binaire quel-
conque +,−,/,etc..
• ˜δint :
Status← INACT IV E
σ ← in f inie;
• λ :→ send(R).
Cette approche permet de concevoir rapidement un modèle imprécis sans avoir à écrire de code,
simplement en interconnectant plusieurs sous modèles déjà conçus. Un exemple d’application
est présenté dans [BCdGB07]. Dans les deux sections suivantes nous décrivons deux modèles en
fonctions de l’environnement utilisé.
3.5.2 Modèles powerDEVS
La première étape a été de coder la librairie présentée section 3.2.1 dans le langage C++ pour
pouvoir l’utiliser dans l’environnement powerDEVS. Ensuite nous avons développé plusieurs
modèles iDEVS, additions, soustraction, multiplication, division, intégration, etc., afin de com-
poser notre bibliothèque. Certains modèles sont présentés dans [BCdGB07, BdGBS07, BdGBS08c].
L’inconvénient du langage C++ est qu’il ne permet pas de définir de lamdba fonction, les
lambda calculs sont à l’origine des langages de programmation fonctionnels comme Lisp. Le
lambda calcul est apparenté à la logique combinatoire et permet de remplacer une variable par un
terme. Grâce à ce mécanisme, nous pouvons interpréter l’expression sans avoir à calculer le terme.
96
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 12 Exemple de modèle powerDEVS#include "FuzzyTimeModel.h"// la librairie "FuzzyInterval.h" est inclue dans "FuzzyTimeModel.h"void FuzzyTimeModel : :init(double t, ...)//The ’parameters’ variable contains the parameters transferred from the editor.va_list parameters ;va_start(parameters,t) ;//To get a parameter : %Name% = va_arg(parameters,%Type%)//where :// %Name% is the parameter name// %Type% is the parameter typeS[0] = va_arg( parameters, double) ; // état du systèmeLambda = 0 ; // somme des degrés d’appartenance defuzzifiésnbrDefuz = 1 ; //Compteur de defuzzificationSigma = 0 ; // temps de vie de l’étatfor(int i=1 ;i<11 ;i++)S[i] = random() ; ; // initialisation des états//initialisation du temps imprécisFuzzyInterval fuzzySigma(0,0,0) ; // création d’un Sigma flouFuzzyInterval tpsSim(0,0,0) ; // intervalle du temps de simulationdouble FuzzyTimeModel : :ta(double t)//This function returns a double.Sigma = fuzzySigma.coefEEM(0.5) ; // defuzzyfication de fuzzySigmaLambda += t_mu(fuzzySigma.coefEEM(0.5)) ; // lambda après defuzzificationtpsSim += fuzzySigma ; // intervalle de temps de fin de simulationnbrDefuz++ ; // nombre de defuzzificationreturn Sigma ;void FuzzyTimeModel : :dint(double t)fuzzySigma(4,2,5) ; // pas de temps de déclenchement des évènementsvoid FuzzyTimeModel : :dext(Event x, double t)//The input event is in the ’x’ variable.//where :// ’x.value’ is the value (pointer to void)// ’x.port’ is the port numberEvent FuzzyTimeModel : :lambda(double t)//This function returns an Event :// Event(%&Value%, %NroPort%)//where :// %&Value% points to the variable which contains the value.// %NroPort% is the port number (from 0 to n-1)return Event(&S[0],0,Lambda/nbrDefuz,1,tpsSim,2) ; // sorties
97
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Il faut donc, en fonction des méthodes définies dans la classe IntervalleFlou, changer les
types de données pour s’adapter au langage de programmation utilisé. Dans ce cas, nous pouvons
déclarer les fonctions comme des tableaux.
L’algorithme 12 donne un exemple de modèle atomique iDEVS codé sous powerDEVS. Ce
modèle est un générateur de valeurs aléatoires à temps imprécis. Il renvoie une valeur comprise
entre 0 et 199 à pas de temps compris dans l’intervalle [4,4,2,5]. Après chaque évènement in-
terne (fonction dint()) l’intervalle de temps est défuzzifié dans le fonction ta(), et les valeurs
de sortie sont envoyées. Dans ce modèle nous renvoyons la moyenne des degrés d’appartenance
(Lambda/nbrDe f uz) et le temps de fin de simulation t psSim avec la fonction de sortie lambda
sur des ports différents.
Ce modèle fait parti de la bibliothèque de modèles développés en C++ pour l’environnement
powerDEVS.
Nous pouvons remarquer que lors de la phase d’implémentation des modèles, il est possible,
voire même nécessaire, de ne pas toujours respecter les prérogatives définies dans l’approche
théorique. Le concepteur a la possibilité d’interpréter et de retranscrire à sa manière ces diverses
prérogatives.
3.5.3 Modèles pythonDEVS
pythonDEVS est un environnement de modélisation et de simulation DEVS développé pour
l’enseignement et la recherche. Python est un langage de programmation interprété, multi-paradigme
qui favorise la programmation impérative structurée, et orientée objet. Il permet la définition de
lambda fonctions, et leur utilisation comme arguments dans des expressions fonctionnelles. Par
exemple : f ilter(lambdax : x < 5,uneliste) retournera une liste constituée des éléments de uneliste
inférieurs à 5.
Comme pour les modèles powerDEVS, la première étape a été de développer la librairie en
python.
Dans l’algorithme 13, nous décrivons un modèle atomique iDEVS codé sous l’environnement
pythonDEVS. Ce modèle permet d’effectuer une opération d’incrémentation. Il a été développé
98
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 13 Exemple de modèle pythonDEVSclass AI_Compte(AtomiciDEVS) :
”’ Modèle atomique###def __init__(self) :
”’ ConstructeurAtomiciDEVS.__init__(self)# Déclaration des variables d’état.self.state = ’status’ : ’INACTIF’, ’sigma’ : INFINITY , ’cb’ : [ 0 for i in range(3)]# Déclaration des ports de sortieself.IN = self.addInPort()self.OUT = self.addOutPort()###
def extTransition(self) :print ’\x1B[1 ;33 ;40m %s extTransition \x1B[0 ;37 ;40m’%self.__str__()# Récupération du message sur le port d’entréeself.msg = self.peek(self.IN)if self.msg.operation == "add" :cb=self.state[’cb’]for i in range(len(self.msg.value)) :
dans le but de résoudre une équation différentielle imprécise du première ordre, l’application est
présentée dans [BCdGB07].
A la réception d’un message d’entrée la fonction de transition externe est déclenchée (ext-
Transition(self )). Elle teste le type d’opération a effectuer (if self.msg.operation == "add"). Les
variables d’état du modèle (status,sigma,cb) sont mises à jour, la valeur de cb (de type Inter-
valleFlou) est recalculée en fonction des valeurs du message d’entrée (self.msg.value), le modèle
devient actif (status = ACTIVE), et sigma est fixé à zéro ce qui a pour conséquence d’activer les
fonctions de sortie (outputFnc(self) :) et de transition interne (intTransition(self)).
La fonction de sortie envoie la valeur de la variable d’état cb via un port de sortie (self.poke(self.OUT,
self.state[’cb’])).
La fonction de transition interne met à jour les variables d’état du modèle via la fonction
(changeState()). Le statut passe à inactif et le modèle est désactivé jusqu’à la détection du prochain
message d’entrée.
Ce modèle a été ajouté à la bibliothèque de modèles iDEVS codé en python afin de permettre
sa réutilisation.
3.6 Conclusion du Chapitre
Dans ce chapitre nous avons présenté une nouvelle méthode de modélisation et de simulation
de système à évènements discrets qui permet la spécification de systèmes à paramètres flous. Un
système peut être considéré comme flou, si son comportement est partiellement connu (incom-
plet), si ses paramètres sont connus de manière non précise (imprécis), si la réalisation de ses
paramètres n’est pas sûre (incertain).
Cette nouvelle approche appelée iDEVS a été développée pour être complémentaire avec les
formalismes Fuzzy-DEVS et Min-Max-DEVS. A partir de l’étude de ces deux méthodes nous
avons défini des contraintes et des objectifs à respecter.
iDEVS est basé sur la théorie des sous ensembles flous pour la représentation et la manip-
ulation de quantités floues, une quantité floue est un intervalle ou un nombre défini de manière
100
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
imprécise. Grâce à l’arithmétique floue, extension d’une partie des fonctions de manipulation
des intervalles aux quantités floues, nous pouvons modéliser au format DEVS des systèmes à
paramètre imprécis.
Pour faire le lien entre le formalisme DEVS et la théorie des sous ensembles flous, nous avons
créé une librairie (classe objet) qui permet de construire des objets représentant des variables
imprécises. Cette librairie a ensuite été intégrée dans le formalisme DEVS.
La structure de données choisie, soit un intervalle soit un nombre flou, peut être définie par
quatre points ou deux fronts. Un front représente la partie gauche ou droite de la fonction d’appar-
tenance de l’intervalle, mais ne permet pas de décrire exactement le résultat de toutes les opéra-
tions. Effectivement, lorsqu’on applique certaines fonctions sur un intervalle flou, sa forme peut
évoluer, l’image d’un intervalle par une fonction n’est pas toujours un intervalle. L’intervalle ré-
sultat peut être défini par plusieurs fronts. Nous avons délibérément choisi de décrire les résultats
en utilisant une représentation approchée définie à partir de quatre points de références [a,b,ψ,ω].
Au niveau du formalisme DEVS nous avons identifié comme imprécis plusieurs éléments, no-
tamment les valeurs et les temps des évènements. Pour prendre en compte toutes les imprécisions
des modèles, sans avoir à modifier les algorithmes de simulation comme dans Fuzzy-DEVS ou
Min-Max-DEVS, nous avons défini de nouveaux modèles atomiques et couplés. Nous les avons
conçus de telle façon que leur modification reste imperceptible pour l’utilisateur final, sauf si
celui-ci veut lui même coder son modèle.
Cette nouvelle approche ne permet pas de prendre en compte imprécision, incertitude et in-
complétude. Seules les imprécisions des paramètres sont traitées. Nous réfléchissons à l’intégra-
tion dans DEVS d’un modèle d’inférence floue, ainsi qu’à l’amélioration du formalisme Fuzzy-
DEVS. Fuzzy-DEVS permet déjà de prendre en compte les incertitudes liées au comportement
d’un système mais ses algorithmes de simulation ne sont pas très performants.
Le calcul d’intervalle est plus coûteux en temps que le calcul de réels, mais la puissance des
ordinateurs actuels permet tout de même de ne pas faire la différence.
L’interprétation des résultats peut être problématique, en fonction du domaine d’application il
faut pouvoir comprendre et utiliser les résultats. Pour les phénomènes de propagation, la représen-
101
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
tation graphique de toutes les propagations peut rendre les résultats impossibles à interpréter. Il
faut choisir une partie des résultats.
La partie suivante présente l’application de cette méthode pour l’étude de la propagation des
feux de forêt.
102
CHAPITRE 4
Application : Propagation de feux de forêts
Ce n’est pas le but de la promenade qui
est important mais les petits pas qui y
mènent.
Proverbe Chinois
CES dernières années nous ont rappelé avec force que la lutte contre les incendies de forêt
n’est pas un combat gagné d’avance. On parle d’incendie de forêt lorsque le feu concerne
une surface minimale d’un hectare d’un seul tenant, et qu’une partie au moins des étages arbus-
tifs et/ou arborés (parties hautes de la végétation) est détruite. Un incendie est un phénomène
qui échappe au contrôle de l’homme, tant en durée qu’en étendue. Lorsqu’un feu éclate, il n’est
pas nécessairement dangereux, car son impact va dépendre de son intensité et de sa surface d’ex-
tension. La propagation d’incendie est le plus souvent déterminée par des facteurs naturels : les
conditions météorologiques et les caractéristiques du terrain conditionnent le développement des
incendies, les premières pouvant avoir une influence non négligeable sur les secondes. Dans cer-
taines situations, par exemple vents puissants, la topographie du site peut également favoriser
le développement des incendies. D’autres facteurs peuvent aussi intervenir, comme les facteurs
103
APPLICATION : PROPAGATION DE FEUX DE FORETS
anthropiques, la structure, la composition de la végétation, le vent et le relief.
Il existe plusieurs méthodes pour l’étude de la propagation des feux de forêt. Certaines s’em-
ploient à décrire de manière plus ou moins pointue tous les mécanismes mis en œuvre, à l’aide
d’équations physiques ou mathématiques [McA66, Rot72, Web91, Gri97]. D’autres, plus proches
d’un raisonnement à l’échelle du terrain, considèrent qu’un grand nombre de paramètres peuvent
ne pas être pris en compte [IPL01, Ili05, BFdG06, BdGBS08b].
Nous avons axé nos travaux sur deux aspects : la lutte et la prévention ; dans ces deux do-
maines, nous souhaitons contribuer à l’élaboration d’outils d’aide à la décision. Devant l’ampleur
du travail, il est nécessaire de faire le pari de l’efficacité des actions engagées en fonction des
objectifs fixés. Cela implique d’ajuster en permanence la stratégie de prévention et de lutte en
fonction des moyens disponibles. Dans cette optique, et afin d’être cohérent avec les réalités de
terrain, nous avons engagé une collaboration avec le SDIS1 de Haute-Corse. Plusieurs pistes de
travail ont émergé de cette collaboration, celles-ci restent très proches de leurs besoins et de leurs
préoccupations.
Le modèle présenté dans cette partie retranscrit de manière informatique le raisonnement em-
pirique des pompiers du SDIS1 effectué sur le terrain. Leurs informations, présentées sous forme
linguistique, ont été traduites en modèles dont l’objectif est la réalisation d’un système en temps
réel.
Dans la première partie, nous abordons à la fois la problématique liée à la propagation de
feux de forêt, et nous décrivons les paramètres identifiés comme ayant une influence sur une
propagation d’incendie. Les parties deux et trois sont consacrées à la présentation de nos modèles
de propagation. Enfin, dans la dernière section, les données issues de la simulation de nos modèles
sont exposées.
1Service Départemental d’Incendie et de Secours
104
APPLICATION : PROPAGATION DE FEUX DE FORETS
4.1 Identification des paramètres
Lors de nos entretiens, l’une des problématiques mise en avant par le SDIS1 a été de prévoir
rapidement les évolutions possibles des feux, afin de mettre en place une politique de lutte adéquate.
Pour un problème aussi complexe que l’étude de la propagation des feux de forêt, de nombreux
paramètres entrent en ligne de compte. Ces paramètres sont difficiles à identifier, à quantifier, et à
modéliser.
Avec l’aide de ces spécialistes, nous avons identifié et regroupé ces paramètres en trois groupes :
le terrain, les conditions météorologiques et les facteurs humains. Ces groupes peuvent être encore
découpés, avec par exemple :
– pour le terrain : la topologie, le niveau d’entretien, et la végétation ;
– pour la météo, le vent, le degré d’humidité de l’air, ou encore la température ;
– enfin, pour les facteurs humains : le degré de risque et la densité de population ;
FIG. 4.1: Paramètres à prendre en compte pour l’étude de feux de forêt
Dans la première section, nous détaillons les mécanismes à prendre en compte afin de choisir
et d’adapter au mieux la politique d’intervention, les outils à utiliser, et les caractéristiques des
105
APPLICATION : PROPAGATION DE FEUX DE FORETS
modèles. Dans les sections suivantes, nous allons décrire avec précision, les paramètres présentés
figure 4.1 en fonction du niveau de détail souhaité. Dans la dernière section, nous présentons les
hypothèses émises en vue de la réalisation de modèles.
4.1.1 Mécanismes
Dans un premier temps, pour répondre aux préoccupations des pompiers, nous avons orienté
nos travaux sur la définition d’un modèle de propagation à l’échelle du terrain.
La lutte contre les feux de forêt (FdF) présente plusieurs difficultés : dans les régions méditer-
ranéennes, l’approche d’un foyer est rendue difficile en raison des terrains accidentés et de la
végétation ; les foyers peuvent également être très étendus, voire multiples dans le cas d’incendies
criminels ; durant les périodes estivales, les feux progressent très vite sous l’influence combinée
des vents et de la sécheresse. Des feux de cette ampleur sont difficilement maitrisables, les pom-
piers privilégient généralement une méthode d’intervention dite HBE (Hommes, Bâtiments, Envi-
ronnement) : lors de l’intervention, la priorité est donnée aux êtres humains, puis aux habitations,
et enfin à l’environnement. Pour cela il est nécessaire de fournir très rapidement (en temps réel)
une estimation des différents scénarii de propagation afin d’adapter la méthode d’intervention.
Lorsqu’il est impossible d’éteindre un feu de forêt avec seulement des moyens hydrauliques,
la technique de lutte habituellement utilisée consiste à attaquer les fronts gauche et droit pour
resserrer la tête et canaliser la propagation, c’est pourquoi il est important d’estimer l’évolution
du front de flamme. Cette technique fait intervenir des avions ou des hélicoptères bombardiers
d’eau qui effectuent des largages d’eau additionnée de "retardant" sur la végétation voisine du feu
pour éviter l’extension du sinistre et resserrer sa tête. Dans ce cas, les modèles de propagations
doivent pouvoir prendre en compte ces évolutions et utiliser différentes vitesses de propagation en
fonction de l’état de la zone.
Il existe différents mécanismes de propagation des incendies :
1. par le bas, propagation au travers de végétaux de taille basse ou moyenne, et au travers des
débris organiques exposés sur le sol ;
2. par les cimes, végétation haute ;
106
APPLICATION : PROPAGATION DE FEUX DE FORETS
3. par éléments enflammés emportés par le vent. Le feu peut ainsi sauter une zone incom-
bustible comme une route ou un coupe feu.
Dans notre cas et conformément au mode de raisonnement de terrain des pompiers, nous avons
choisi de traiter tous les incendies comme étant de la première catégorie (par le bas), avec un
coefficient lié à la hauteur de la végétation. Les sauts de feux sont très difficiles à estimer et
aucune des méthodes d’étude ne les prend en compte.
Sur les terrains du Sud de la France et avec une végétation homogène, un feu se propage sous
forme d’ellipse, dans l’axe du vent. On estime cette propagation à environ 3 à 8 % de la vitesse du
vent selon les caractéristiques du terrain (pente, densité et nature de la végétation).
Au niveau de la prévention, les pompiers pratiquent généralement des brûlages contrôlés :
ce sont des feux maîtrisés destinés à faire des "allées" dans la forêt, ou à nettoyer le sous bois.
Nos modèles peuvent permettre d’identifier les zones à risques sur lesquelles il est souhaitable de
pratiquer ces brûlages.
4.1.2 Le Terrain
Le terrain est la zone géographique où le feu va débuter et se propager. Il est caractérisé par sa
topographie, son niveau d’entretien, et la végétation qui le constitue.
La topographie est la description et la représentation sur cartes des caractéristiques physiques
de la surface de la Terre (montagnes, rivières, lacs, etc.). De cette description, nous distinguons la
pente, ou degré d’inclinaison, et la topologie.
La pente est définie comme l’inclinaison horizontale du terrain entre deux points. Elle condi-
tionne l’inclinaison des flammes par rapport au sol. Les feux brûlent plus rapidement sur les fortes
pentes ascendantes. La vitesse de propagation du feu s’en trouve accrue. Des études expérimen-
tales sur le comportement du feu ont montré que la vitesse de propagation double sur une pente
de 10° à 15° et quadruple sur une pente de 20°.
La topologie est la description détaillée d’un lieu particulier, dans notre cas il s’agit de définir
les conditions orographiques. Dans une zone sans relief, un départ de feu est facilement soumis
à l’accélération du vent. En zone de relief irrégulier, la progression du feu est accélérée dans
107
APPLICATION : PROPAGATION DE FEUX DE FORETS
les montées et ralentie dans les descentes. La topologie décrit la configuration sur le papier d’un
terrain avec tous les accidents qu’offre sa surface.
L’exposition a également un rôle indirect sur la progression du feu, car elle conditionne le
type de végétation, l’influence des vents et l’ensoleillement. Généralement, les versants sud et
sud-ouest présentent les conditions les plus favorables pour une inflammation rapide et pour la
propagation des flammes.
L’entretien d’un terrain a une influence qui peut être non négligeable sur la vitesse de prop-
agation, il représente les travaux exécutés régulièrement ou périodiquement afin qu’il conserve un
état de propreté correcte. Plus un terrain est sale, plus son accès est délicat, de plus, la propagation
d’un incendie est plus rapide sur un terrain n’ayant jamais été déboisé ou entretenu, les matériaux
laissés à l’abandon lui servant de combustible.
La prédisposition de la végétation aux incendies est souvent liée à sa teneur en eau, elle-
même déterminée par les conditions météorologiques. L’état général de la zone forestière, c’est-
à-dire les conditions de peuplement de la forêt (disposition des strates, état d’entretien, densité,
essences présentes, passage récent d’un incendie) et la composition chimique de la végétation
(teneur en essences volatiles ou en résines), jouent également un rôle déterminant dans l’éclosion
des incendies.
L’importante diversité des zones forestières françaises constituées de 136 essences d’arbres
différentes rend le territoire plus vulnérable aux incendies. Certaines espèces favorisent le développe-
ment des incendies du fait de leur composition : résine, faible teneur en ligneux hauts, essences.
Ces particularités sont présentes dans le pin sylvestre, la bruyère ou le ciste. D’autres espèces
comme la bruyère arborescente, le pin d’Alep, le chêne vert, le châtaigner ou le chêne liège sont
capables quant à eux de résister aux incendies. Les différentes espèces de végétation sont réper-
toriées afin de définir leur influence sur les feux.
L’inflammabilité des végétaux est leur propriété à s’enflammer lorsqu’ils sont exposés à
une source de chaleur. Elle varie fortement en fonction de la période de l’année, des conditions
108
APPLICATION : PROPAGATION DE FEUX DE FORETS
climatiques, de l’état de la végétation et de l’intervention humaine. Le terme de combustibilité
caractérise l’aptitude de la végétation à propager le feu en se consumant. Lors de la combustion
(décomposition d’un objet par l’action du feu), des quantités de chaleur plus ou moins importantes
vont être libérées, selon la structure de la forêt et des essences végétales présentes.
La densité de la végétation est le nombre d’espèces végétales présentes sur une zone donnée.
Elle influe sur la propagation d’un incendie, son développement est plus lent dans une végétation
dense comme le maquis - strate des ligneux bas - que dans une végétation plutôt ouverte comme
la garrigue.
FIG. 4.2: Niveaux de végétation
Les niveaux de végétation ou hauteur, sont la description verticale de la forêt (figure 4.2), on
distingue quatre niveaux :
1. Niveau un, la litière : très inflammable, elle est à l’origine d’un grand nombre de départs de
feux, difficiles à détecter, car se consumant lentement ;
2. Niveau deux, la strate herbacée : d’une grande inflammabilité, le vent peut y propager le feu
sur de grandes superficies ;
109
APPLICATION : PROPAGATION DE FEUX DE FORETS
3. Niveau trois, la strate des ligneux bas (maquis, garrigue) : d’inflammabilité moyenne, elle
transmet rapidement le feu aux strates supérieures ;
4. Niveau quatre, les ligneux hauts : rarement à l’origine d’un feu, elle permet cependant la
propagation des flammes lorsqu’elle est atteinte, ce sont les feux de cimes.
4.1.3 Les conditions météorologiques
Les périodes de sécheresse et de vents forts sont favorables à l’éclosion des incendies. Ainsi
le vent accélère le dessèchement des sols et des végétaux et augmente les risques de mise à feu,
par la dispersion d’éléments incandescents et d’arcs électriques. La chaleur dessèche les végétaux
par évaporation et provoque, lors des périodes les plus chaudes, la libération d’essences volatiles
à l’origine de la propagation des flammes.
On distingue trois facteurs influents liés aux conditions météorologiques, le vent, l’humidité
de l’air et la température.
Le vent est de l’air qui se déplace des anticyclones (hautes pressions) vers les dépressions
(basses pressions) ; comme une rivière dévalerait la pente d’une montagne, le vent "coule" entre
hautes et basses pressions ; plus la différence de pression est grande, plus le vent souffle fort.
Le vent agit de plusieurs manières : il apporte de l’oxygène, activant ainsi la combustion, il
rabat les flammes sur la végétation (phénomène amplifié avec la pente), il modifie la direction du
feu et il transporte des particules incandescentes (sautes de feu). On le caractérise en fonction de
sa direction et de sa puissance.
L’échelle de Beaufort décrite par le tableau 4.1 permet d’estimer la vitesse du vent selon ses
effets sur l’environnement. La direction du vent est toujours donnée par la direction d’origine. On
parlera par exemple d’un vent du nord lorsque le vent souffle du nord vers le sud.
L’humidité de l’air et la température influent aussi bien sur la sécheresse des sols que sur les
départs d’incendies en augmentant le facteur risque (surtout l’été). Un vent chaud, sec et puissant,
associé à un terrain asséché et incliné favorise énormément la propagation d’un incendie.
Le degré d’humidité de l’air est calculé grâce aux centrales météorologiques. Pour la façade
110
APPLICATION : PROPAGATION DE FEUX DE FORETS
Degré Appellation Effets produits par le vent vitesse (km/h)0 Calme Calme, la fumée s’élève verticalement. 0 à 11 Brise très légère La direction du vent est révélée. 1 à 52 Brise légère Les feuilles bougent. 5 à 113 Petite brise Feuilles et petites branches agitées. 11 à 194 Jolie brise Petites branches constamment en mouvement. 19 à 285 Bonne brise Les arbustes en feuilles balancent. 28 à 386 Vent frais Les grandes branches bougent. 38 à 507 Grand vent Les arbres sont agités. 50 à 618 Coup de vent Brise les petites branches. 62 à 749 Fort coup de vent Légers dommages aux constructions. 75 à 88
10 Tempête Arbres déracinés. 89 à 10211 Violente tempête Ravages étendus. 103 à 11712 Ouragan Destructions considérables. 118 et plus
TAB. 4.1: Echelle de Beaufort
méditerranéenne française nous disposons des données du satellite NOAA-AVHRR2 qui traite les
données en temps quasi réel. Le principe consiste à mesurer la réflexion par la couverture du sol
des radiations solaires et à en déduire divers paramètres dont la température de surface. Toutefois
l’utilisation de ces données en routine se heurte à plusieurs inconvénients : la résolution pratique
de 4 kilomètres carrés est insuffisante pour tenir compte de l’hétérogénéité des couverts forestiers
méditerranéens, le relief crée des zones ’d’ombre’, le satellite ne ’voit’ la strate arbustive qu’en
zone en plein découvert végétal et sans couverture nuageuse.
4.1.4 Conclusion
Avant une intervention, pour prendre en compte les facteurs humains, les pompiers doivent
acquérir un certain nombre d’informations sur la zone de l’incendie. Leurs décisions sont forte-
ment influencées par la présence d’êtres humains. Le degré de risque correspond au danger en-
couru par la population et la densité de population est le nombre total de personnes vivant dans
la zone concernée par l’incendie.
Tous ces paramètres identifiés ont une influence sur le déroulement d’un incendie, ou sur
le mode opératoire choisi par les pompiers. Cependant, l’impact de certains est beaucoup plus
2National oceanic and atmospheric administration - Advanced very high resolution radiometer.
111
APPLICATION : PROPAGATION DE FEUX DE FORETS
important, par exemple le vent donne la direction et la vitesse de propagation. Nous pouvons aussi
constater que tous ces paramètres sont liés les uns aux autres, de plus, la plupart sont entachés
d’imprécision. L’utilisation de la logique floue est donc un bon moyen de les représenter et les
prendre en compte.
Dans la partie suivante, nous présentons un premier exemple d’application pour la propagation
de feux de forêt. Dans cet exemple, tous les paramètres ne sont pas forcément pris en compte. De
plus la simulation est dirigée par horloge.
Dans le second exemple, présenté dans la partie suivante, nous proposons aussi l’étude de la
propagation de feux de forêt, mais la simulation est dirigée par évènement et la prise en compte
des paramètres est plus pointue.
4.2 Premier exemple
Pour définir un modèle de haut niveau, simulable en temps réel, et prenant en compte les
paramètres les plus influents, il est nécessaire de faire quelques simplifications. Par hypothèse,
et suite aux différents entretiens avec les pompiers qui utilisent comme vitesse approximative de
propagation un pourcentage de la vitesse du vent, nous considérons qu’à l’échelle du terrain, seul
le vent a une véritable influence sur la propagation. Les paramètres de terrain sont représentés par
un coefficient.
Dans cette partie nous présentons nos modèles de propagation de feux de forêt basés sur les
paramètres identifiés dans la partie précédente. Afin de prendre en compte l’influence des impré-
cisions des paramètres, nous avons défini deux types de modèles :
1. un modèle de base sans paramètres imprécis ;
2. deux modèles flous ;
(a) pour le premier modèle flou nous avons considéré comme imprécis le pourcentage de
la vitesse du vent choisi par les pompiers pour représenter la vitesse de propagation du
front de flamme ;
112
APPLICATION : PROPAGATION DE FEUX DE FORETS
(b) pour le second modèle flou, les paramètres imprécis sont le pourcentage de la vitesse
du vent, le coefficient de végétation et la vitesse du vent.
4.2.1 Modèle de base
Nous avons défini le modèle de base à partir des hypothèses suivantes :
FIG. 4.3: Modèle sous powerDEVS
– la vitesse de propagation est considérée comme constante entre deux évènements. Pour son
calcul, nous supposons qu’elle est égale à 3% de la vitesse du vent, ce pourcentage est
communément utilisé par les pompiers du SDIS1 dans leurs modèles de propagation. Nous
ne prenons pas en compte la largeur et la hauteur du front de flamme ;
– le front de flamme est schématisé par une droite. Pour représenter son évolution, nous cal-
culons les coordonnées du point d’intersection entre le centre de cette droite et un segment
perpendiculaire représentant le sens du vent. Le front de flamme évolue en fonction du sens
du vent ;
– l’évolution du front de flamme est calculée avec un pas de temps fixé, nous avons choisi de
recalculer son évolution toutes les 1800 secondes ;
– les facteurs dépendants du terrain sont représentés par un coefficient fixé à 1. Ce facteur
peut avoir une influence directe sur la propagation du front de flamme, si la valeur est fixée
à 1, il n’a pas d’influence, si la valeur est supérieure (ou inférieure) à 1, alors il correspond
113
APPLICATION : PROPAGATION DE FEUX DE FORETS
à une zone propice (ou non) à la propagation du feu.
FIG. 4.4: Comportement du modèle PowerDEVS
Le modèle de la figure 4.3 est un modèle couplé PowerDEVS qui décrit le modèle de propa-
gation.
Le modèle (1), figures 4.3 et 4.4, est un modèle couplé à cinq sorties, qui génère les paramètres
du terrain : coordonnées (x,y) du point représentant le front de flamme, coefficient de terrain,
puissance et sens du vent.
Les modèles (2) et (3), figures 4.3 et 4.4, permettent d’afficher dans un fichier les paramètres
de sortie des modèles (1) et (4).
Le modèle (4), figures 4.3 et 4.4, décrit le modèle de propagation et calcule la distance par-
courue par le feu. Il prend en entrée les paramètres du modèle (1) :
Entrée : Xinput :→Xc,Yc,Coe fvege,Sv,Pv
Algorithme 14 δext : fonction de transition externefunction δext(Xc,Yc,Pv,Sv,Coe fvege)Coor[Xc]← Xc ; // coordonnée en abscisseCoor[Yc]← Yc ; // coordonnée en ordonnéeVent[Pv]← Pv ; // puissance du vent en mètre par secondeVent[Sv]← Sv ; // sens du vent en degréCoe fvege←Coe fvege ; // coefficient de végétationta = 0;
Le comportement du modèle général est décrit par la figure 4.4.
A la réception d’une entrée, il met à jour ses variables d’état en lançant la fonction δext (algo.14).
114
APPLICATION : PROPAGATION DE FEUX DE FORETS
Variables d’état : S :→ doubleCoor[Xc,Yc],Vent[Sv,Pv],Coe fvege
La fonction δext met aussi le temps de vie de l’état à 0 (ta = 0), ce qui, suivant la démarche
DEVS, exécute la fonction de transition interne δint (fig. 4.4).
La fonction δint (algo.15) calcule les nouvelles coordonnées Coor[Xc,Yc] et lance la fonction
de sortie λ qui envoie les coordonnées Coor[Xc,Yc] vers le modèle (3).
Algorithme 15 δint : fonction de transition internefunction δint()double prC← 0.03 ; // pourcentage (3%)double angle←Π/180 ; // valeur de l’angle en degrédouble distance← time×Vent[Pv]× prC×Coe fvege ;Coor[Xc]←Coor[Xc]+distance× cos(Vent[Sv]×angle) ;Coor[Yc]←Coor[Yc]+distance× sin(Vent[Sv]×angle) ;ta = time; // temps avant un nouveau calcul time = 1800
4.2.2 Modèles flous
Comme nous l’avons vu (cf. chapitre 3), notre approche permet de traiter des modèles flous
comme des modèles DEVS classiques. Nous pouvons définir le même comportement et les mêmes
fonctions, seul le type des données change.
Les deux modèles flous ont le même comportement que le modèle de base. Les seuls change-
ments apportés sont le type des données traitées. Le modèle simple utilise des ’double’ alors que
le modèle flou utilise des objets de type ’FuzzyInterval’ (cf. 3.1).
Pour permettre d’effectuer les différents types d’opérations, il a été nécessaire dans la classe
FuzzyInteral de surcharger un grand nombre d’opérateurs, tels que (+,−,/,×,=, ...) (cf. 1).
Pour le modèle flou 2.a, nous avons considéré que la proposition "3% de la vitesse du vent"
était une proposition imprécise. Elle a donc été modélisée à l’aide d’un intervalle ( ˜prC = [0.03,0.03,0.026,0.034])
présenté figure 4.5. Nous considérons que cette proposition est imprécise à plus ou moins 0.004.
Ce choix est totalement arbitraire, nous fuzzifions la condition "3% de la vitesse du vent" car c’est
une constatation de terrain fondée sur l’expérience de pompiers. Les autres paramètres du modèle,
vent-coordonnée-coefficient de végétation, restent inchangés.
115
APPLICATION : PROPAGATION DE FEUX DE FORETS
(a) (b)
FIG. 4.5: Fonctions d’appartenance représentant le proposition 3% de la vitesse du vent (a) et lecoefficient de terrain (b).
Pour le modèle flou 2.b, nous avons défini comme paramètres imprécis : le coefficient de
terrain, le pourcentage et la vitesse du vent. Ils ont pour valeurs respectives :
– coefficient de terrain ˜Coe fv← [1,1,0.6,1.4], est présenté figure 4.5.b ;
– pourcentage de la vitesse du vent ˜prC← [0.03,0.03,0.026,0.034], est modélisé par la fonc-
tion d’appartenance de la figure 4.5.a ;
– vitesse du vent Pv← [2.7,2.7,2.5,2.9], est représenté sur la figure 4.6.
Les autres paramètres, coordonnées et sens du vent, sont les mêmes que pour les autres modèles.
Algorithme 16 Fonction de transition interne ˜δint
function ˜δint()FuzzyInterval ˜prC← [0.03,0.03,0.026,0.034] ; // +
−3%double angle←Π/180 ; // valeur de l’angle en degréFuzzyInterval distance← Pv× ˜Coe fv× time× ˜prC ;Xc← Xc +distance× cos(Sv×angle) ;Yc← Yc +distance× sin(Sv×angle) ;ta = time; // temps avant un nouveau calcul time = 1800
L’algorithme 16 présente la fonction δint qui permet de calculer les nouvelles coordonnées du
front de flamme pour les deux modèles.
116
APPLICATION : PROPAGATION DE FEUX DE FORETS
FIG. 4.6: Fonction d’appartenance représentant la vitesse du vent.
4.2.3 Résultats
Les résultats sont issus de la simulation des modèles sous l’environnement PowerDEVS.
TAB. 4.4: Données d’entrée et de sortie du modèle avec 3 paramètres imprécis
Les données d’entrée du tableau (4.3) sont précises et les données de sortie sont représentées
sous forme d’intervalle, ceci vient de l’application d’une condition imprécise dans le modèle flou.
On remarque, pour le tableau (4.4), que les données sont saisies sous forme d’intervalle [a,b =
a,ψ,ω], et que les paramètres imprécis d’entrée sont le coefficient de végétation et la puissance
du vent. Les données de sortie sont représentées sous forme d’intervalle.
Les tableaux 4.2, 4.3 et 4.4 (b) présentent les résultats de la simulation du modèle (4) figure 4.3.
Nous constatons que les sorties des modèles flous sont des nombres flous, que pour les valeurs
représentant la meilleure condition (a,b) tous les résultats sont identiques, et que plus on ajoute
de paramètres imprécis plus l’intervalle d’arrivée (l’éventail de valeurs) est grand. Dès que l’on
ajoute un paramètre imprécis, le résultat de la simulation devient imprécis.
FIG. 4.7: Exemple d’interprétation des résultats de la simulation floue
A partir des coordonnées obtenues, nous pouvons reconstituer la propagation du front de
118
APPLICATION : PROPAGATION DE FEUX DE FORETS
flamme comme le montre la figure 4.7. Au temps (t = 3600) le front de flamme devrait être entre
les points jaunes symbolisés par un triangle sur la figure 4.7. A partir de la figure 4.7 nous pouvons
dire que si les paramètres de terrain sont maîtrisés, le front de flamme devrait être schématisé par
la courbe du milieu. Si les paramètres sont favorables à la propagation (végétation sèche, rafale
de vent) le front de flamme devrait être schématisé par la courbe la plus grande. La courbe la
plus petite représente la partie du terrain qui a déjà brûlé. Avec ces résultats les pompiers peuvent
prévoir une stratégie de lutte adaptée au terrain et à la propagation de l’incendie.
Ces résultats sont à replacer dans leur contexte, à savoir : prévoir et anticiper les différents
scénarii de propagation d’un front de flamme, il pourrait être intéressant de les coupler à un outil
d’aide à la décision afin d’optimiser leur interprétation ; nous pouvons tout de même constater que,
contrairement aux modèles standards, la prise en compte des imprécisions permet d’exploiter la
problématique de manière globale, c’est-à-dire que nous n’avons pas à ignorer certains paramètres
difficiles à modéliser, les résultats obtenus, bien qu’imprécis, ont donc plus de chances de contenir
les coordonnées réelles du front de flamme.
4.3 Second exemple
Dans cet exemple, nous présentons aussi un modèle de propagation de feux de forêt, mais cette
fois les paramètres ne sont pas simplement fuzzifiés. Nous avons mis en place une méthode plus
didactique et élaborée, pour prendre en compte un maximum de paramètres de manière cohérente
et adaptable.
Ce modèle a été développé sous powerDEVS, il permet de représenter l’évolution du front
de flammes en fonction de zones (propagation vectorielle [BFdG06, BdGFB06]). Le terrain est
modélisé en fonction des caractéristiques présentées dans la partie 4.1, et de leur influence sur
l’incendie. Le terrain est découpé en zones, chaque zone possède des caractéristiques propres.
Nous ne calculons pas la propagation du feu en fonction du temps, mais en fonction des change-
ments de zone. Sur une zone donnée nous considérons que les paramètres influençant l’incendie
sont invariants.
119
APPLICATION : PROPAGATION DE FEUX DE FORETS
Le but de ce modèle est de fournir aux pompiers la possibilité de prévoir les différents scénarii
de propagation, et de pouvoir prendre en compte des modifications structurelles ou comporte-
mentales sur les zones comme par exemple le largage d’un retardant. L’évolution du modèle se
déroule en trois étapes : on calcule dans un premier temps les points d’intersection entre le front
de flammes et les prochaines zones touchées ; on évalue ensuite les distances parcourues par l’in-
cendie ; enfin, on calcule le temps probable avant que la prochaine zone ne soit atteinte.
Dans cette partie, nous présentons les résultats obtenus à partir de ce modèle. Dans la pre-
mière section, nous décrivons l’étape de modélisation des paramètres, afin d’être le plus pointu
possible nous avons utilisé un système d’inférence floue. Dans la section suivante, nous détail-
lons le système, et notamment la représentation du terrain sous forme de zones. Dans la troisième
section, nous décrivons le comportement du modèle powerDEVS, et donnons les algorithmes des
fonctions de transition. Enfin, les résultats de la simulation sont présentés dans la dernière section.
4.3.1 Modélisation des paramètres
Comme souvent, avant de définir un modèle, il est nécessaire d’identifier les paramètres à
prendre en compte. Dans la partie 4.1, nous avons listé les différents éléments ayant plus ou moins
d’influence sur la propagation d’un incendie.
Dans le premier exemple, nous avons utilisé comme paramètres les coordonnées de départ, un
coefficient de terrain, le pourcentage, la direction, et la vitesse du vent. Pour ce nouveau modèle,
les paramètres pris en compte sont les mêmes, mais ils ont été modélisés avec plus de finesse.
Les coordonnées de départ sont fixées par l’utilisateur.
Le coefficient de terrain est remplacé par un coefficient de propagation qui décrit l’influence
de plusieurs paramètres. Pour cela nous avons utilisé un système d’inférence floue.
Les SIF ont été présentés dans la partie 1.4.2. Un SIF est formé de trois blocs : fuzzification,
moteur d’inférence, et défuzzification.
– La fuzzification transforme une valeur d’entrée numérique en sous ensembles flous ;
– L’inférence produit l’image des sous ensembles flous issus de la fuzzification par une rela-
tion floue construite à partir de règles ;
120
APPLICATION : PROPAGATION DE FEUX DE FORETS
– La défuzzification transforme l’image issue de l’inférence en valeur numérique de sortie.
Nous avons utilisé le logiciel FisPro4 qui permet de créer des systèmes d’inférence floue, et de
les utiliser à des fins de raisonnement, en particulier pour la simulation de systèmes physiques ou
biologiques.
FIG. 4.8: Représentation du niveau de stress des végétaux
Le taux d’humidité des végétaux et la température ambiante contrôlent le degré de sécheresse
de la végétation, une faible humidité et de hautes températures peuvent induire une perte d’eau
chez les végétaux, la dégradation de leur état sanitaire, leur dessèchement, et un stress. Une sécher-
esse persistante de la végétation associée à un temps sec et très chaud peut créer des conditions4Fuzzy Inference System Professional - http ://www.inra.fr/internet/Departements/MIA/M//fispro/
121
APPLICATION : PROPAGATION DE FEUX DE FORETS
favorables à l’éclosion des incendies. L’évaluation de l’intensité et de la durée du stress subi par
la végétation est donc un bon indicateur du risque incendie.
Le stress de la végétation est calculé à partir d’un outil pour l’évaluation de la sécheresse,
basé sur les données AVHRR [Kog97, Kog99]. Cet outil combine l’indice de végétation à dif-
férence normalisée (Normalised Difference Vegetation Index, NDVI) et les données thermiques,
pour obtenir des indices évaluant l’état sanitaire de la végétation par des valeurs numériques. Les
valeurs sont échelonnées d’un stress extrême (zéro) à favorable (100) sur la base des données col-
lectées par l’AVHRR pendant 14 ans. Des indices inférieurs à 35 indiquent le début d’un stress
environnemental, manifesté par une détérioration de la végétation qui perd de sa verdeur et de sa
vigueur. Un stress de végétation continu et intense est un bon indicateur de danger d’incendie.
A partir de plusieurs paramètres d’entrée comme le stress de la végétation (décrit comme
l’inflammabilité figure 4.8), ou encore les paramètres présentés section 4.1, comme la hauteur de la
végétation (figure 4.9), la vitesse du vent (modélisée à partir de l’échelle de Beaufort tableau 4.1),
la pente du terrain, la densité de végétation, et le niveau d’entretien, nous définissons plusieurs
règles.
Chaque règle, de type :
"Si le vent est fort et le niveau de stress de la végétation est élevé et etc. alors le coefficient de
propagation est élevé"
permet d’obtenir une valeur à la fois numérique et linguistique du coefficient de propagation.
La sortie du SIF qui décrit le coefficient de propagation est présentée figure 4.10.
Ce mécanisme est très utile pour définir un coefficient de propagation liant valeur numérique
et représentation linguistique. La valeur numérique est fixée en fonction des paramètres de la zone
(éléments d’entrée du SIF) touchée par l’incendie.
Le pourcentage du vent est décrit par un intervalle [0.045,0.045,0.030,0.080] (entre 3% et
8%), conformément à ce que nous avons présenté dans la section 4.1.1.
Le vent est toujours défini par sa vitesse et sa direction. Pour rendre l’utilisation du modèle
122
APPLICATION : PROPAGATION DE FEUX DE FORETS
FIG. 4.9: Représentation de la hauteur de la végétation
123
APPLICATION : PROPAGATION DE FEUX DE FORETS
FIG. 4.10: Représentation du coefficient de propagation
124
APPLICATION : PROPAGATION DE FEUX DE FORETS
plus simple, et pour permettre d’adapter les paramètres à notre région, nous avons identifié et
modélisé la direction des vents qui soufflent en Corse.
Nous en distinguons plusieurs :
– u Maestale (le Mistral), vent de la vallée du Rhône de direction Nord-Ouest, il est brusque
et violent, sec en été et humide en hiver ;
– a Tramuntana (la Tramontane), c’est le grand vent hivernal du Nord, froid et souvent violent
en longues rafales ;
– u Grecale, grand vent tyrhénien de Nord-Est, il sévit à l’automne et au printemps, déclen-
chant des tempêtes et arrosant la façade orientale de l’île ;
– u Levante (le levant), vent d’Est pouvant s’il est soutenu franchir les sommets de la Corse
et toucher la côte occidentale ;
– u Sciroccu (le sirocco), vent de Sud qui est très chaud et humide, chargé de sable du Sahara ;
– u Libecciu, vent corse par excellence, de direction Sud-Ouest au sud de la Corse et d’ouest
en Balagne et sur le cap Corse. Il est sec l’été, mais est chargé d’humidité l’hiver, apportant
des précipitations sur les versants occidentaux ;
– u Punente, vent d’Ouest très proche du Libecciu.
FIG. 4.11: Direction du vent en Corse
Chacun de ces vents est représenté en fonction de sa direction, un vent de nord souffle du nord
vers le sud (180°). En utilisant plusieurs sous ensembles flous, nous avons modélisé ces vents
locaux en associant leurs noms et un angle. La figure 4.11 donne la direction, le nord est fixé à 0
125
APPLICATION : PROPAGATION DE FEUX DE FORETS
ou 360 degrés. La figure 4.12 donne pour chaque vent, sa direction et l’angle associé.
FIG. 4.12: Représentation des vents locaux
La vitesse du vent, comme pour le SIF, est modélisée à partir des vitesses (km/h) définies par
l’échelle de Beaufort, tableau 4.1.
4.3.2 Système
Le système est basé sur tous ces paramètres, l’incendie débute aux coordonnées (10,10) fixées
par l’utilisateur. Le terrain est découpé en trois zones :
1. la première zone représente un rectangle. Elle est décrite à partir des coordonnées [(0,0) ;(80,200)],
la pente est de 28° (monté), le degré d’inflammabilité est fixé à 0.7 (très), la hauteur de la
végétation est de 1.60m (ligneux bas), le terrain est sale (entretien = 1.6), et le vent vient du
126
APPLICATION : PROPAGATION DE FEUX DE FORETS
sud ouest (Lebecciu), il souffle entre 50 et 70km/h (grand vent). A partir de ces paramètres,
le coefficient de propagation retourné par le SIF est égal à 1.8 (élevé) ;
2. la seconde zone a pour coordonnées [(80,200) ;(140,200)]. Le terrain est plat (0°), l’in-
flammabilité et la densité normales (0.5), le sol est recouvert d’herbe (hauteur 0.4m), l’en-
tretient est normal (1), et le vent (Lebecciu 310-320°) souffle entre 18 et 22km/h (jolie
brise). A partir de ces paramètres le coefficient de propagation retourné par le SIF est égal à
1 (moyen) ;
3. de la même manière, sur la troisième zone le coefficient de propagation est égal à 1.4 (élevé).
Le vent souffle entre 30 et 50km/h de direction sud (Sciroccu).
4.3.3 Modèles
Les modèles reposent sur tous les paramètres présentés dans les deux sections précédentes
(cf. 4.3.1 et 4.3.2).
Afin de représenter le système nous avons défini quatre modèles atomiques powerDEVS.
FIG. 4.13: Modèle couplé PowerDEVS
Le premier modèle (modèle 1, figure 4.13) contient les paramètres de terrain. Il renvoie les
coordonnées de départ du feu et les paramètres de la zone touchée en début de simulation, et
lorsqu’il reçoit un message du modèle 3 (changement de zone).
Le second modèle (modèle 2, figure 4.13) est un générateur qui transmet les données météorologiques,
sens et puissance du vent.
127
APPLICATION : PROPAGATION DE FEUX DE FORETS
Le troisième modèle (modèle 3, figure 4.13) calcule les points d’intersection entre une zone et
le front de flamme.
Le dernier modèle (modèle 4, figure 4.13) affiche les résultats.
Le modèle 3 est le plus important, les algorithmes 17,18 et 19 décrivent son comportement.
L’algorithme 17 représente la fonction de transition externe δext . Elle permet de mettre à jour
les données du modèle (puissance et direction du vent, coordonnées de départ de l’incendie, coef-
ficient de propagation et coordonnées de la zone).
Algorithme 17 Fonction de transition externe δext .void Propagation : :dext(Event x, double t)//The input event is in the ’x’ variable.//where :// ’x.value’ is the value (pointer to void)// ’x.port’ is the port numberif (x.port == 1) // Port du modèle 1ventPui = new FuzzyInterval(&x.value[0]) ; // Puissance du ventventDir = new FuzzyInterval(&x.value[1]) ; // Direction du ventcoorD = new FuzzyInterval(&x.value[2]) ; // Coordonnées de départ du feuelsecoefProp = x.value[0] ; // Coefficient de propagation de la zonezone = &x.value[1] ; // Tableau de coordonnées de la zonesigma = 0 ; // Déclanchement de dint
L’algorithme 18 décrit la fonction de transition interne δint . Elle permet de calculer les points
d’intersection, la distance parcourue, et le temps avant la prochaine collision.
L’algorithme 19 détaille la fonction d’avancement du temps ta. Elle fixe le temps de change-
ment de zone (défuzzification de sigma en fonction du coefficient de décision EEM cf. 3.3.1.4), et
définit la date du message envoyé au modèle 1 pour avoir les paramètres de la nouvelle zone.
4.3.4 Résultats
Tous les résultats sont issus du modèle 4 de la figure 4.13. Les courbes 4.14, 4.15 et 4.16
représentent les fonctions d’appartenance du temps mis par l’incendie pour atteindre une nouvelle
zone (2,3 et 4).
128
APPLICATION : PROPAGATION DE FEUX DE FORETS
FIG. 4.14: Fonction d’appartenance du temps d’impact avec la zone 2
FIG. 4.15: Fonction d’appartenance du temps d’impact avec la zone 3
FIG. 4.16: Fonction d’appartenance du temps d’impact avec la zone 4
129
APPLICATION : PROPAGATION DE FEUX DE FORETS
Algorithme 18 Fonction de transition interne δint .void Propagation : :dint(double t)// Angle en degré orienté en fonction de xangle = new FuzzyInterval(360 - (ventDir*PI)/180) ;// recherche du point d’intersectioninter.x = (inter.b - zone.b)/( inter.a - zone.a) // En xinter.y = inter.a * inter.x + inter.b // En Y// calcul de la distancedistance = (inter.x - coorD.x) / angle.cosf() ;// calcule du temps t = d / vtemps = distance / (pcTv*ventPui*coefProp) ;sigma = temps ;
Algorithme 19 Fonction d’avancement du temps ta.double FuzzyTimeModel : :ta(double t)//This function returns a double.// test si sigma est flouif (sigma.isoccur(FuzzyInterval))sigma2 = sigma.coefEEM(0.2) ; // defuzzyfication de sigmalambda += t_mu(sigma.coefEEM(0.2)) ; // degré d’appartenance après defuzzificationtpsSim += sigma ; // intervalle de temps de fin de simulationnbrDefuz++ ; // nombre de defuzzificationsigma2 = sigma ;return sigma2 ;
Le temps a été défuzzifié à partir d’un coefficient de décidabilité fixé à 0.2 (algorithme 11).
Nous avons choisi un coefficient petit, car dans le cas d’incendie où la vie de pompiers est en dan-
ger, il vaut mieux prévoir au plus rapide. Pour cela nous déclenchons volontairement nos évène-
ments très tôt.
Le tableau 4.5 présente les données obtenues. Nous avons pour chaque zone les coordonnées,
la distance parcourue, le temps avant et après défuzzification et le degré de validité du temps
défuzzifié (figures 4.14, 4.15 et 4.16). Nous pouvons constater que les résultats obtenus sont rela-
tivement bons, le degré d’appartenance est toujours supérieur à 0.5.
A partir de ces données nous avons reconstitué la propagation de l’incendie figure 4.17. Sur
cette figure les quatre zones sont visibles, ainsi que les coordonnées de départ de l’incendie (10,10)
130
APPLICATION : PROPAGATION DE FEUX DE FORETS
X Y Distance Temps Temps précis Degré de validitéZone 80 93.4 108.9 40.3
80 80.0 98.9 20.3 17.1 0.71 80 68.7 91.3 9.1
Zone 140 164.9 93.3 172.8140 140 84.8 94.2 75.5 0.6
2 140 119.1 78.3 44.5
Zone 200 175.5 60.9 48.3200 145.2 60.2 23.9 21.2 0.8
3 200 119.1 60.0 10.7
TAB. 4.5: Résultats de la simulation.
FIG. 4.17: Propagation par zones
131
APPLICATION : PROPAGATION DE FEUX DE FORETS
et les différents points d’intersection. Nous pouvons constater que plus la simulation est longue
plus l’intervalle d’intersection s’agrandit. En effet plus nous ajoutons d’imprécision, plus elle
augmente.
L’angle aussi joue un grand rôle, il est facile de remarquer la variation du sens de propagation
entre les deux premières zones et la troisième.
A partir de ces données de simulation, nous pouvons conclure que le front de flamme devrait
atteindre la zone 4 en 21 heures avec une certitude supérieure à 0.6. Le feu aura alors parcouru
environ 244 kilomètres en 21 heures.
Ces résultats peuvent fournir aux pompiers une bonne base de données afin de positionner leurs
hommes sur le terrain bien avant que l’incendie n’arrive. Ainsi, sans craindre la mise en danger
d’hommes, il est possible de préparer le terrain afin de ralentir au mieux le front de flamme.
4.4 Conclusion du Chapitre
Dans ce chapitre, nous avons présenté une application de l’approche iDEVS pour la modéli-
sation et la simulation de propagation de feux de forêt à haut niveau d’abstraction. Le but de cette
application est double : valider la méthodologie iDEVS, et fournir une base expérimentale pour la
lutte et la prévention de feux de forêt.
Dans ce sens, les exemples présentés ont été élaborés en étroite collaboration avec les pompiers
de SDIS1.
L’étude de la propagation d’incendie est un sujet très vaste, qui peut aussi bien être traité en
physique-chimie pour définir les équations d’inflammabilité de la végétation, qu’en informatique
pour fournir des outils de simulation. Afin de proposer un outil de prédiction en temps réel, nous
avons volontairement choisi d’aborder le problème en suivant la démarche des professionnels,
c’est-à-dire en utilisant des équations de propagation simplifiées. On peut noter dès à présent que
cet outil répond correctement aux besoins des pompiers aussi bien pour la prévention que pour la
lutte, et permet de valider leurs "intuitions".
Deux types de modèles, dont le but est de prévoir rapidement la propagation du feu, ont été
132
APPLICATION : PROPAGATION DE FEUX DE FORETS
étudiés.
Dans le premier exemple (partie 4.2), nous proposons la propagation d’un feu en fonction du
temps, le front de flamme est décrit par plusieurs points afin de pouvoir être reconstitué à chaque
pas de temps. De nombreux paramètres imprécis entrent en ligne de compte, ce qui donne au final
plusieurs propagations possibles.
Dans le second exemple (partie 4.3), le modèle est basé sur la prise en compte de nombreux
paramètres grâce à l’utilisation d’un système d’inférence floue. Le but du modèle est de proposer
une propagation vectorielle, ou propagation par zone. Les paramètres du modèle sont mis à jour
après le changement de zone.
A partir de ces deux modèles, les pompiers peuvent adapter leur stratégie de prévention ou
de lutte. Grâce à l’utilisation des SIF, il est aussi possible de définir un degré de risque pour la
population, ou un degré de risque de départ d’incendie. Des travaux similaires ont déjà été conduits
en Grèce [IPL01, Ili05]. La prise en compte du facteur humain est primordiale pour les pompiers,
il fait d’ailleurs partie des paramètres identifiés dans la section 4.1. La mise en place d’un système
d’inférence floue couplé à une centrale météorologique et un logiciel de cartographie permettrait
aux pompiers d’avoir localement, pour chaque zone, et en temps réel, un niveau d’alerte optimisé.
De plus, en associant ce dispositif et nos modèles, ils auraient à leur disposition des outils de
prévention rapides, souples et adaptés à l’environnement local.
Au travers de ces deux exemples nous avons montré qu’il était possible d’utiliser notre ap-
proche pour modéliser le raisonnement intuitif des professionnels et de le mettre en œuvre sim-
plement en utilisant un outil adapté.
133
Conclusion Générale et Perspectives
Dans les sciences, le chemin est plus
important que le but. Les sciences n’ont
pas de fin.
Erwin Chargaff
L’OBJECTIF de nos travaux était la définition d’une nouvelle méthode de modélisation et
de simulation de systèmes à paramètres flous. Pour cela nous nous sommes basés sur le
formalisme de modélisation et de simulation DEVS et sur la théorie des sous ensembles flous.
Le multi formalisme DEVS est un formalisme de modélisation et de simulation qui regroupe
de manière cohérente plusieurs méthodologies de modélisation. Il permet de réduire la complexité
inhérente à la modélisation d’un système. De plus il fait une distinction entre la partie modélisa-
tion et la partie simulation au niveau de la conception des modèles et de la génération des algo-
rithmes de simulation. La phase de simulation est automatisée, en effet pour un modèle respectant
les propriétés fondamentales du formalisme, les algorithmes de simulation sont automatiquement
générés. Enfin, à partir du formalisme DEVS il est possible d’effectuer des simulations discrètes
en évènement ou en temps.
La théorie des sous ensembles flous (fuzzy sets) a été définie pour permettre la prise en compte
de données imprécises. Elle est basée sur le concept de fonction d’appartenance, qui donne le de-
134
CONCLUSION GENERALE ET PERSPECTIVES
gré de validité d’une proposition. En outre, elle permet de faire un lien entre données numériques
et linguistiques, ce qui est un avantage fondamental dans le dialogue avec des spécialistes non in-
formaticiens. En résumé, c’est une théorie qui ajoute beaucoup de souplesse pour la représentation
des systèmes flous.
Nos travaux sont basés en grande partie sur ces deux concepts. Notre problématique a été de
définir une méthode qui permette de les associer de manière cohérente et pertinente.
FIG. 4.18: Résumé du cheminement scientifique à la base de la méthode iDEVS
135
CONCLUSION GENERALE ET PERSPECTIVES
Bilan des travaux
L’intégration de la théorie des SEF dans DEVS s’est déroulée en plusieurs étapes :
– nous avons tout d’abord dû choisir le type de paramètre flou à prendre en compte. Un
paramètre est flou soit parce qu’il est décrit de manière imprécise, ou parce que sa réalisation
est incertaine, ou encore parce qu’il est inexact. Au travers de nos recherches nous avons axé
notre méthode sur la prise en compte de paramètres imprécis, et cela pour plusieurs raisons.
Cette forme d’imperfection est la plus rencontrée sur le terrain, l’attente des spécialistes est
donc importante. De plus, c’est un des aspects qui n’avait pas été totalement traité par le
formalisme DEVS, contrairement aux paramètres incertains (Fuzzy-DEVS) ;
– nous avons identifié les éléments pouvant être imprécis dans le formalisme DEVS, nous
pouvons citer le temps et la valeur des évènements, ou encore l’état, les valeurs d’entrée et
de sortie des modèles. Cette phase nous a conduit à proposer des approches de traitement
en fonction des éléments identifiés ;
– l’étape suivante a consisté à définir une structure de données adaptées à l’approche DEVS
et pouvant traiter des paramètres imprécis. Pour permettre une bonne représentation des
paramètres imprécis, nous avons choisi de les décrire sous deux formes : intervalle ou équa-
tion. Ce choix est lié à la théorie des SEF, et à la transcription de paramètres flous sous
forme de quantités floues. Une quantité floue permet de décrire de manière simple une im-
précision sous forme d’intervalle ou de nombre flou. De plus, utiliser les quantités floues
permet d’avoir accès à un grand nombre de fonctions de manipulation ;
– nous avons regroupé la structure de données et un grand nombre de fonctions de manipula-
tion dans une librairie. Elle permet la définition et la manipulation de données imprécises.
Cette librairie a été ajoutée au formalisme DEVS pour permettre la définition de modèles à
paramètres imprécis (modèles iDEVS) ;
– suite à cela, il a été nécessaire de modifier les modèles atomiques DEVS pour prendre en
compte l’imprécision au niveau des dates de déclenchement des évènements. En effet, une
fois la date définie de manière imprécise, il n’était plus possible de poursuivre la simulation.
Pour régler ce problème nous avons dû modifier la fonction d’avancement du temps (ta) des
136
CONCLUSION GENERALE ET PERSPECTIVES
modèles atomiques DEVS. Deux possibilités s’offraient à nous : modifier les algorithmes
de simulation comme dans Min-Max-DEVS ou Fuzzy-DEVS, ou modifier les modèles pour
traiter le problème coté modélisation. Notre choix s’est porté vers la seconde solution, car
une de nos contraintes de base était d’apporter le moins de modifications possibles au for-
malisme DEVS dans le but de fournir une méthode facilement utilisable ;
– nous avons donc proposé des modèles atomiques et couplés iDEVS. Ces modèles pren-
nent en compte toutes les étapes précédentes pour permettre la modélisation de systèmes
à paramètres imprécis. Les modèles iDEVS ont le même comportement que les modèles
DEVS, mais ils permettent la manipulation de données imprécises. Si toutes les données
sont définies de manière précises, les résultats de la simulation sont les mêmes que pour un
modèle DEVS classique ;
– enfin, la méthodologie définie a été appliquée pour l’étude de la propagation de feux de
forêt. Nous avons présenté deux exemples d’utilisation de modèles imprécis. Dans de tels
domaines, il est essentiel de pouvoir correctement modéliser les paramètres qui entrent en
jeu, de ce fait la prise en compte de leur imprécision est un avantage. Avec cette application
nous avons pu prouver la souplesse et la pertinence de cette nouvelle approche, et ainsi la
valider.
Dans ce document nous avons donc proposé, en nous appuyant sur le formalisme DEVS et sur une
partie des théories de la logique floue, une nouvelle approche de modélisation et de simulation de
systèmes à paramètres imprécis. Cette approche permet de représenter les données approxima-
tives sous forme linguistique, proche du mode de représentation de l’être humain, ou numérique,
à travers l’utilisation de quantités dénombrables imprécises. La prise en compte des imprécisions
au niveau des modèles DEVS s’est traduite par la définition de nouveaux modèles atomiques et
couplés. L’utilisation de ces modèles est indépendante de la plate forme utilisée, en effet la méth-
ode iDEVS ne modifie par les algorithmes de simulation du formalisme DEVS classique, de ce
fait elle peut être importée dans n’importe quel environnement de multi-modélisation sans avoir à
effectuer de changement au préalable. Les modèles iDEVS peuvent donc être inter-connectés avec
n’importe quels autres modèles DEVS, mais comme ils manipulent des imprécisions, les résultats
137
CONCLUSION GENERALE ET PERSPECTIVES
retournés seront forcement de type imprécis. Du point de vu de son mode d’utilisation, l’approche
iDEVS, est donc très générique.
L’arbre présenté figure 4.18 propose une vue globale de nos travaux de recherche. Les racines
représentent le socle théorique de l’approche. Le tronc de l’arbre liste les méthodologies DEVS
ayant les mêmes bases. L’étude des formalismes Min-Max-DEVS et Fuzzy-DEVS nous a guidé
pour la définition de l’approche iDEVS. Les feuilles proposent une vision de l’après iDEVS, les
perspectives de recherche qui ont émergé pendant son développement.
Perspectives de recherche
Nos perspectives sont multiples. Tout d’abord, à court terme, nous pensons améliorer l’ap-
proche iDEVS en complétant la librairie, et en ajoutant plus de fonctions de manipulation. Dans
la même optique, nous souhaitons développer plus de modèles iDEVS, et ainsi les mettre à dispo-
sition via la bibliothèque de modèles. Ensuite, nous voudrions appliquer cette approche à d’autres
domaines afin de prouver sa généricité.
Toujours à court terme, nous travaillons sur l’utilisation de la logique floue pour la définition
d’un langage de spécification de modèle DEVS à haut niveau [GBVS07].
Comme nous pouvons le voir sur la figure 4.18, à moyen terme nous désirons travailler sur
deux nouvelles approches de modélisation floue.
La première DEVFISS (Discret EVent Fuzzy Inference System Specification) a pour but de
définir des modèles d’inférence floue DEVS. Nous pensons que l’ajout de ce type de modèle peut
être un plus dans l’optique de développer un véritable environnement de multi modélisation fondé
sur le formalisme DEVS.
La seconde Fuzz-iDEVS doit regrouper, à partir de iDEVS, plusieurs méthodes de modélisa-
tion floue, comme DEVFISS, ou encore une version améliorée de Fuzzy-DEVS, qui ne traiterait
pas seulement les incertitudes sur les changements d’états, mais directement sur les évènements.
Concernant notre application, à plus long terme, il sera nécessaire de voir comment les pom-
138
BIBLIOGRAPHIE
piers pourront utiliser la méthode sur le terrain. Nous travaillons d’ailleurs sur un projet pluridisci-
plinaire dans les domaines de l’informatique, qui vise à intégrer le formalisme DEVS et plusieurs
autres techniques de modélisation comme SMA5, les SIG6, et les WEB services, dans le but de
valider un environnement logiciel de modélisation et de simulation de systèmes complexes (dy-
– SDIS : Service Départemental d’Incendie et de Secours
– FdF : Feux de Forêt
– FisPro : Fuzzy inference system Professional
158
Annexe
Pour l’environnement powerDEVS, la classe est disponible à l’adresse suivante http://
www.ent-montecristo.org/paul-antoine2.bisgambiglia/ rebrique ’recherche’.Pour l’utiliser il suffit de copier les fichiers ’FuzzyInterval.cpp’ et ’FuzzyInterval.h’ dans l’ar-
boressence de powerDEVS, et ensuite via l’outil graphique de conception de modèle inclure le.h.
Après cette étape, il est possible de définir des obljets de type ’FuzzyInterval’ et d’avoir accèsaux différentes méthodes codées dans la classe.
Pour l’environnement python, celui-ci étant toujours en phase de développement au sein denotre Université, nous travaillons afin que la classe et que la bibliothèque de modèles soient inté-grès d’origine.