Vous êtes sur la page 1sur 162

Théorie de la Modélisation et de la Simulation

Fondements formels et opérationnels de Record/VLE

Raphaël Duboz – Fréderick Garcia – Gauthier Quesnel – Éric Ramat

INRA (Institut National de la Recherche Agronomique)


LIL (Laboratoire d’Informatique du Littoral)

(LIL, INRA) Modélisation et simulation 1 / 113


Plan

1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles

2 Formalismes de modélisation

3 P-DEVS

4 Multi-formalisme et problématique du couplage


Modélisation multiple
Intégration opérationelle
Intégration formelle

(LIL, INRA) Modélisation et simulation 2 / 113


Plan

1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles

2 Formalismes de modélisation

3 P-DEVS

4 Multi-formalisme et problématique du couplage


Modélisation multiple
Intégration opérationelle
Intégration formelle

(LIL, INRA) Modélisation et simulation 3 / 113


Théorie M&S
Introduction

Les termes et concepts à développer :


Systèmes
Expérimentation
Modéles et modélisation
Paradigmes
Simulation
Spécification formelle

(LIL, INRA) Modélisation et simulation 4 / 113


Théorie M&S
Définitions - Système

Définition 1
Un système est caractérisé par le fait que l’on sait distinguer ce qui lui
appartient de ce qui ne lui appartient pas.

Définition 2
Le système est supposé contrôlable et/ou observable. Des variables,
générées par l’environnement, agissent sur le comportement du système
qui, à son tour, réagit sur cet environnement.

(LIL, INRA) Modélisation et simulation 5 / 113


Théorie M&S
Définitions - Système

Définition 3
Un système réel est une combinaison de un ou plusieurs éléments
structurels inter-reliés tels que les états d’un élément sont influencés par
ses propres états et ceux des autres éléments.

Définition 4
Mise en avant de l’aspect d’inter-influence des composantes du système
réel dont le comportement observé est, en partie, le résultat de ces
influences.

(LIL, INRA) Modélisation et simulation 6 / 113


Théorie M&S
Définitions - Schéma d’expérimentation

Définition 1
Une expérimentation est un processus par lequel on récolte des données
sur un système en agissant sur ses entrées [F. Cellier]

Définition 2
Un schéma d’expérimentation définit un ensemble limité de circonstances
sous lesquelles est conduite l’expérimentation:
variables observées,
séquencements des entrées,
conditions initiales,
conditions d’arrêt,
collecte et codage des données.

(LIL, INRA) Modélisation et simulation 7 / 113


Théorie M&S
Définitions - Modèle

Définition 1
Un modèle M d’un système S pour une expérimentation E est toute chose
à laquelle on peut appliquer E pour répondre à des questions concernant
S [M. Minsky]

(LIL, INRA) Modélisation et simulation 8 / 113


Théorie M&S
Définitions - Modèle

Définition 2
Construire une représentation simplifiée et observable du comportement
et/ou de la structure d’un système réel afin de résoudre un problème
d’analyse ou de conception.

Définition 3
modèle prédictif : on cherche à prédire une situation/un état du
système ;
modèle descriptif : on capitalise la connaissance au sein d’un modèle.

(LIL, INRA) Modélisation et simulation 9 / 113


Théorie M&S
Définitions - Modélisation

Définition 1
La modélisation est un processus par lequel on organise les
connaissances portant sur un système donné [B. Zeigler]

Définition 2
Modéliser c’est abstraire de la réalité une description d’un système
dynamique [P. A. Fishwick]

(LIL, INRA) Modélisation et simulation 10 / 113


Théorie M&S
Définitions - Paradigme

Définition
Un paradigme est un ensemble de concepts, de lois et de moyens visant à
définir une collection de modèles.

Exemple
équations différentielles ;
file d’attentes ;
automates à états finis ;
automates cellulaires ;
...

(LIL, INRA) Modélisation et simulation 11 / 113


Théorie M&S
Définitions - Système/Modèle/Paradigme/Expérimentation

(LIL, INRA) Modélisation et simulation 12 / 113


Théorie M&S
Introduction

(LIL, INRA) Modélisation et simulation 13 / 113


Théorie M&S
Définitions - Simulation

Définition 1
La simulation est la reproduction du comportement dynamique d’un
système réel s’appuyant sur un modèle

Définition 2
La simulation a pour objet d’observer le comportement en fonction du
temps d’un modèle d’un système

(LIL, INRA) Modélisation et simulation 14 / 113


Théorie M&S
Définitions - Simulation informatique

Définition 1
Traduction en programmes informatiques (algorithmes) du comportement
dynamique des modèles. Exécution en temps fini.

(LIL, INRA) Modélisation et simulation 15 / 113


Théorie M&S
Paradigme et simulateur

il y a une distinction claire entre modèle et simulateur ;


les deux peuvent s’écrire comme des systèmes ;
il est possible d’établir des relations d’équivalence entre eux.

La notion d’erreur introduite par le simulateur n’est pas toujours simple à


formuler.
sauf dans le cas d’un intégrateur où elle est peut souvent l’être (analyse
numérique)

(LIL, INRA) Modélisation et simulation 16 / 113


Théorie M&S
Paradigme et simulateur

La séquence s0 , s1 , ...sn est appelée trajectoire d’état ;


La séquence x0 , x1 , ...xn est appelée trajectoire d’entrée ;
La séquence y0 , y1 , ...yn est appelée trajectoire de sortie ;

Modèle à temps discret

(LIL, INRA) Modélisation et simulation 17 / 113


Théorie M&S
Paradigme et simulateur

Simulateur
t = t0
s = s0
tant que t <= tf faire
y (t ) = λ(s (t ), x (t ))
s (t + ∆t ) = δ(s (t ), x (t ), ∆t )
fin tant que

(LIL, INRA) Modélisation et simulation 18 / 113


Théorie M&S
Paradigme et simulateur

(LIL, INRA) Modélisation et simulation 19 / 113


Théorie M&S
Paradigme et simulateur

si possible, l’équation différentielle est résolue de façon analytique :


I impossible dans la grande majorité des modèles ;
I sinon on intégre l’équation par résolution numérique.

Simulateur
L’idée sous jacente pour un intégrateur parfait :

ds (t ) s (t + ∆t ) − s (t )
= lim
dt ∆t → 0 ∆t
Donc, pour un intervalle de temps très petit :

ds (t )
s (t + ∆ t ) ≈ ∆t + s (t )
∆t
s (t + ∆t ) ≈ ∆t [f (x (t ), s (t ))] + s (t )

(LIL, INRA) Modélisation et simulation 20 / 113


Théorie M&S
Définitions - Classes de modèles

temps :
I modèle à temps continu, le temps est spécifié comme évoluant de
manière continue, le temps est un nombre réel ;
I modèle à temps discret, le temps avance par sauts d’une valeur entière
à une autre, le temps est un entier.
variable d’états :
I modèle à états discrets, les variables prennent leurs valeurs dans un
ensemble discret ;
I modèle continu, les variables descriptives sont des nombres réels.

(LIL, INRA) Modélisation et simulation 21 / 113


Théorie M&S
Définitions - Classes de modèles

(LIL, INRA) Modélisation et simulation 22 / 113


Théorie M&S
Définitions

Hiérarchie de spécification
niveau nom que savons nous à ce niveau ?
0 cadre d’observation quelles variables mesurer et com-
ment les observer sur une base de
temps
1 relation d’entrée sor- données indexées sur le temps. Pairs
tie d’entrée – sortie
2 fonction d’entrée – connaissance de l’état initial (un en-
sortie trée → une sortie)
3 transition d’états comment les entrées affectent les
états et comment les états affectent
les sorties
4 composants couplés comment les composants de niveaux
inférieurs sont couplés

(LIL, INRA) Modélisation et simulation 23 / 113


Théorie M&S
Définitions

Niveau 0
Un cadre d’observation O est une structure O =< T , X , Y > où
T est la base de temps ;
X ensemble des valeurs d’entrée ;
Y ensemble des valeurs de sortie.

Description
T est un ensemble d’entiers ou de réels selon la représentation du
temps (discret ou continu) ;
le système est vu comme étant soumis aux éléments de X ;
Y est un ensemble représentant l’interface au travers de laquelle le
système influe sur son environnement ;
X et Y sont des sous-ensembles quelconques d’entiers, de réels ou
de symboles.
(LIL, INRA) Modélisation et simulation 24 / 113
Théorie M&S
Définitions

Niveau 1
Une relation d’entrée-sortie IOR est une structure :

IOR =< T , X , Ω, Y , R >


Ω est l’ensemble des segments d’entrée ;
R = (ωi , ρi )

Description
ωi est une trajectoire d’entrée : variation d’une entrée entre ti et tj
ωi et ρi sont observés sur le même intervalle ;
spécification ambiguë car pour le même ωi , on peut observer deux
trajectoires de sortie différentes.
(LIL, INRA) Modélisation et simulation 25 / 113
Théorie M&S
Définitions

Hiérarchie de spécification

(LIL, INRA) Modélisation et simulation 26 / 113


Théorie M&S
Définitions

Niveau 2
Une fonction d’entrée-sortie IOF est une structure :

IOR =< T , X , Ω, Y , F >


F est un ensemble de fonctions d’entrée-sortie.

Description
chaque fi définit un segment de sortie unique pour un segment
d’entrée ;
un état initial est définit.

(LIL, INRA) Modélisation et simulation 27 / 113


Théorie M&S
Définitions

Hiérarchie de spécification

(LIL, INRA) Modélisation et simulation 28 / 113


Théorie M&S
Définitions

Niveau 3
Un système dynamique est une structure S =< T , X , Y , Ω, Q , ∆, Λ > où
Q est l’ensemble des états du système ;
∆ : Q × Ω → Q est la fonction de transition globale ;
Λ : Q → Y est la fonction de sortie.

Description
la fonction de transition globale du système définit l’état final obtenu
après l’application d’un segment d’entrée ;
pas de définition des états intermédiaires ;
spécification du comportement à reproduire et non comment le
reproduire.

(LIL, INRA) Modélisation et simulation 29 / 113


Théorie M&S
Définitions

Hiérarchie de spécification

(LIL, INRA) Modélisation et simulation 30 / 113


Théorie M&S
Définitions

Niveau 4
Un système dynamique est une structure :

CS =< T , X , Y , C , EIC , EOC , IC >


C est l’ensemble des modèles composants le modèle global ;
EIC est l’ensemble des couplages entre les entrées du modèle et
entrées des sous-modèles ;
EOC est l’ensemble des couplages entre les sorties du modèle et
sorties des sous-modèles ;
IC est l’ensemble des couplages entre les sous-modèles.

(LIL, INRA) Modélisation et simulation 31 / 113


Théorie M&S
Définitions

Hiérarchie de spécification

(LIL, INRA) Modélisation et simulation 32 / 113


Plan

1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles

2 Formalismes de modélisation

3 P-DEVS

4 Multi-formalisme et problématique du couplage


Modélisation multiple
Intégration opérationelle
Intégration formelle

(LIL, INRA) Modélisation et simulation 33 / 113


Formalismes de modélisation
Introduction

Avertissement
Le choix d’un formalisme reste un hypothèse forte dans le processus de
modélisation. Il est important de tenir compte des propriétés du système
dans ce choix !

Déterministe ou stochastique
L’aspect déterministe ou stochastique est aussi à intégrer.
(LIL, INRA) Modélisation et simulation 34 / 113
Formalismes de modélisation
Equations différentielles ordinaires

Classe
Etat continu, temps continu et pas d’espace

E.D.O d’ordre n : F (x , x 0 , . . . , x (n) , t ) = 0 où F est une fonction continue.


Le pendule simple
2 ml θ̈ − mglcos θ = −mglcos θ0
1 2


m : la masse
g : l’accéleration (9.81ms −2 )
l : longueur
θ(t ) : angle du pendule en t
θ0 : angle max ou angle à t = 0

(LIL, INRA) Modélisation et simulation 35 / 113


Formalismes de modélisation
Equations différentielles ordinaires

Résolution
Résoudre une E.D.O :
Trouver une fonction x (t ) vérifiant F (x (t ), x 0 (t ), . . . , x (n) (t ), t ) = 0 sur le
domaine de t.

(LIL, INRA) Modélisation et simulation 36 / 113


Formalismes de modélisation
Equations différentielles ordinaires d’ordre 1

E.D.O du 1er ordre : F (x , x 0 , t ) = 0

F peut être vectoriel : systèmes d’équations différentielles couplées


x (n) = f (x , x 0 , . . . , x (n−1) , t ) (1)
 x 
 
 x 0 
équivalent à y 0 = g (y , t ), avec y =  
 ···  
x (n−1)
 

Exemple : le pendule simple


θ0 = ω
ω0 = 2gl (cos θ − cos θ0 )

(LIL, INRA) Modélisation et simulation 37 / 113


Formalismes de modélisation
Equations différentielles ordinaires d’ordre 1

Pour une E.D.O du 1er ordre avec conditions initiales

x 0 = f (x (t ), t ), x (0) = x0

Simulation - Euler
h 2 00 h 3 (3)
Dév. de Taylor : x (t + h ) = x (t ) + hx 0 (t ) + 2 x (t ) + 3! x (t ) + · · · au
(tf −t0 )
premier ordre : méthode d’Euler avec pas fixe h = N .

Simulation - Runge-kutta
Evaluation itérative de f () en plusieurs points sur l’intervalle [tn , tn+1 ]
Exemple : Runge-Kutta ordre 2
" !#
hn 2 2
xn + 1 = xn + f (xn , tn ) + 3f xn + hn f (xn , tn ), tn + hn
4 3 3

(LIL, INRA) Modélisation et simulation 38 / 113


Formalismes de modélisation
Equations différentielles ordinaires

Autres méthodes
Pas adaptatifs : contrôler la précision de dt pour assurer que l’erreur ne
soit pas trop grande
RK4/RK5 adaptatif ;
méthode de Gear ;
Adams-Bashfort-Moulton ;
...

Equations différentielles stochastiques


Mouvement brownien - Équation de Langevin :
d ~v (t )
m dt = −k ~v (t ) + ~η(t ) où ~η(t ) est un terme stochastique
dN (t )
ajout de délais stochastiques : dt = rN (t )(1 − K1 N (t − η(t )))

(LIL, INRA) Modélisation et simulation 39 / 113


Formalismes de modélisation
Equations différentielles partielles

Classe
Etat continu, temps continu et espace continu

On parle d’EDP dans le cas de fonctions qui dépendent de plusieurs


variables, une EDP exprimant un lien entre les dérivées partielles d’une
fonction.

∂i +j u (x , t )
F (. . . , , . . .) = 0
∂x i ∂t j
avec conditions initiales fonctionnelles
Exemple : l’équation de la chaleur
∂u(x , t ) ∂2 u(x , t )
=
∂t ∂x 2
avec par exemple u(0, t ) = u(L , t ) = 0
(LIL, INRA) Modélisation et simulation 40 / 113
Formalismes de modélisation
Equations différentielles partielles

Simulation
on parle plutôt de résolution ;
différentes méthodes qui passent par la discrétisation en x et en t de
l’EDP (volumes finis, éléments finis, . . . )

(LIL, INRA) Modélisation et simulation 41 / 113


Formalismes de modélisation
Equations aux différences

Classe
Etat continu, temps discret et pas d’espace

xn = f (xn−1 , xn−2 , . . . , xn−m , n)


avec conditions initiales x0 , x−1 , . . . , x−m+1 ∈ R
I

Classe
Etat continu, temps discret et espace discret

Cas particulier de l’équation précédente :


p
xni = fi (xn1−1 , . . . , xni −−11 , xni −1 , xni +−11 , . . . , xn−1 )

avec x i variables d’états spatialisées.

(LIL, INRA) Modélisation et simulation 42 / 113


Formalismes de modélisation
Equations aux différences

Stochastique
modélisation d’un processus Markovien d’ordre m

xn = F (xn−1 , xn−2 , . . . , xn−m , n)


avec F fonction de distribution sur xn .
une approche très simple consiste à ajouter à f () une variable
aléatoire :

xn = f (xn−1 , xn−2 , . . . , xn−m , n, θn )


avec θn processus aléatoire.
également, possibilité de tirer aléatoirement les conditions initiales
x0 , x−1 , . . . , x−m+1 ∈ R
I .

(LIL, INRA) Modélisation et simulation 43 / 113


Formalismes de modélisation
Automates à états finis

Classe
Etat discret, temps discret et pas d’espace

A = hX , S , s0 , Q , ∆i
avec
S l’ensemble des états s du système,
s0 l’état initial,
Q les état terminaux,
X l’ensemble des symboles x possibles en entrée,
∆ la fonction de transition :

∆:X ×S →S

(LIL, INRA) Modélisation et simulation 44 / 113


Formalismes de modélisation
Automates à états finis

Exemple
S = {1, 2, 3, 4, 5} et X = {a , b }

1
a b

2 3
b a
a,b a b

4 a,b
5

(LIL, INRA) Modélisation et simulation 45 / 113


Formalismes de modélisation
Automates à états finis

Stochastique
Rendre stochastique la fonction de transition ∆.
On représente ∆ par une chaîne de Markov sur sn ∈ S contrôlée par
xn ∈ X , selon

P (s (n) | s (n − 1), x (n − 1))

(LIL, INRA) Modélisation et simulation 46 / 113


Formalismes de modélisation
Automates cellulaires

Classe
Etat discret, temps discret et espace discret

Automate à états finis particulier avec représentation spatialisée de l’état.

RdP = hG , S , ∆i
avec
I d , d = 1, 2, 3 qui porte les cellules,
G une grille infinie régulière sur R
S l’espace d’états en chaque cellule,
∆ la fonction de transition locale de chaque cellule :

si (n) = ∆i (sj1 (n − 1), . . . , sjk (n − 1)) où jk voisins de i

(LIL, INRA) Modélisation et simulation 47 / 113


Formalismes de modélisation
Automates cellulaires

Fonction de transition
La fonction de transition ∆ peut être :
spatialement homogène ou non,
dépendante du temps ou non,
synchrone ou asynchrone,
déterministe ou stochastique.

(LIL, INRA) Modélisation et simulation 48 / 113


Formalismes de modélisation
Réseaux de Petri

Classe
Etat discret, temps discret et pas d’espace

Définition
Automate à états finis particulier, avec représentation factorisée de l’état et
de la fonction de transition.

RdP = hP , T , M0 i
avec
P l’ensemble des places,
T l’ensemble des transitions,
M0 le marquage initial.

(LIL, INRA) Modélisation et simulation 49 / 113


Formalismes de modélisation
Réseaux de Petri

t2
p2

2 2
p4
p1
t1
p3
t3

Définition
La dynamique d’un RdP est modélisée par le franchissement des
transitions dont les places en amont respectent le poids des arcs,
amenant une modification du marquage M.
(LIL, INRA) Modélisation et simulation 50 / 113
Formalismes de modélisation
Réseaux de Petri

Pouvoir d’expression
Les réseaux de Pétri sont bien adaptés pour modéliser des systèmes
dynamiques présentant des propriétés telles que :
exécution séquentielle ;
conflit ;
concurrence ;
synchronisation ;
ressources contraintes.

(LIL, INRA) Modélisation et simulation 51 / 113


Formalismes de modélisation
Réseaux de Petri

Analyse
Vérification de propriétés formelles vérifiées par le réseau :
atteignabilité : Peut-on atteindre tel marquage à partir de ce
marquage ? ;
réseau borné : Est-ce que toutes les places sont bornées ? (une
place est k-bornée si le nombre de jetons est inférieur à k quelque
soit le marquage initial)
réseau vivant : Peut-on encore franchir une transition ?
(Pseudo-vivacité et quasi-vivacité)

Simulation
Un RdP peut être simuler pour être étudié.

(LIL, INRA) Modélisation et simulation 52 / 113


Formalismes de modélisation
Réseaux de Petri

Extensions
Enrichissement du pouvoir d’expression des RdP au détriment de
l’analyse formelle.

RdP généralisés : avec des poids sur les arcs ;


RdP = hP , T , WI , WO , M0 i
pur/impur ;
arc inhibiteur ;
RdP colorés : jetons et places distingués ;
RdP temporels : assignation de valeurs temporels aux transitions ou
aux places ;
I Deterministic Timed Petri nets (DTPN)
I Stochastic Timed Petri nets (STPN)
RdP hiérarchique.
(LIL, INRA) Modélisation et simulation 53 / 113
Formalismes de modélisation
Modèles à évènements discrets

Classe
Etat discret, temps discret et pas d’espace

Changement de l’état du système (event) à des dates discrètes


I +.
quelconques sur R

Simulation
La simulation d’un modèle à évènements discrets consiste à gérer une
liste courante d’évènements programmés, et, successivement :
faire avancer le temps jusqu’au prochain évènement programmé ;
exécuter l’évènement : modifier l’état et la liste d’évènements.

(LIL, INRA) Modélisation et simulation 54 / 113


Formalismes de modélisation
Autres formalismes

Il existe au delà des principaux formalismes présentés ici de nombreux


autres modèles qui s’y rattachent plus ou moins.
Autres formalismes
System Dynamics de Forrester : modèles de type systèmes d’EDO
modélisant des stocks et flux Cf. Vensim, ModelMaker, . . .
Dynamic Systems : issu de l’Automatique. Modèles de type équation
différentielles algébriques modélisant intégration, dérivation, filtrage,
retard, etc. sur des variables physiques continues. Cf. Matlab
Simulink, Scilab, . . .
Modèles d’agents et systèmes multi-agents : généralise les
automates cellulaires avec des cellules qui seraient de type modèles
à évènements discrets . . .
Modèles décisionnels : plans d’actions, ordonnancement, plans
réactifs, . . .
(LIL, INRA) Modélisation et simulation 55 / 113
Plan

1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles

2 Formalismes de modélisation

3 P-DEVS

4 Multi-formalisme et problématique du couplage


Modélisation multiple
Intégration opérationelle
Intégration formelle

(LIL, INRA) Modélisation et simulation 56 / 113


DEVS, Discrete Event System Specification
Introduction

Un formalisme systémique de modélisation :


événements discrets
ensembles, états, fonctions de transition d’états
approche modulaire et hiérarchique

DEVS à été initié par B. P. Zeigler en 1976 :


+50 simulateurs DEVS (libres/payants, spécialisés etc.)
Monde : États-Unis (Univ. Arizona), Canada (Univ. Mc Gill), Portugal
(Univ. Calombra), Corée du Sud (Univ. Hang Kong), Allemagne (Univ.
Rostock), . . .
France : Calais (LIL/ULCO), Toulouse (Inra), Montpellier (Cirad),
Clermont-Ferrand (Isima), en Corse (Univ. de Corse), Marseille (Univ
Aix 3), . . .

(LIL, INRA) Modélisation et simulation 57 / 113


DEVS, Discrete Event System Specification
Introduction

Un formalisme systémique de modélisation :


événements discrets
ensembles, états, fonctions de transition d’états
approche modulaire et hiérarchique

DEVS à été initié par B. P. Zeigler en 1976 :


+50 simulateurs DEVS (libres/payants, spécialisés etc.)
Monde : États-Unis (Univ. Arizona), Canada (Univ. Mc Gill), Portugal
(Univ. Calombra), Corée du Sud (Univ. Hang Kong), Allemagne (Univ.
Rostock), . . .
France : Calais (LIL/ULCO), Toulouse (Inra), Montpellier (Cirad),
Clermont-Ferrand (Isima), en Corse (Univ. de Corse), Marseille (Univ
Aix 3), . . .

(LIL, INRA) Modélisation et simulation 57 / 113


DEVS, Discrete Event System Specification
Introduction

DEVS [Zeigler, 1976] :


un formalisme de haut niveau (généralité)
→ DEVS « encapsule » les formalismes
propose un cadre formel pour le couplage de modèles
→ Propriété de fermeture sous couplage
utilise le paradigme des événements discrets
→ Les événements pilotent la simulation
intègre un cadre opérationnel : les simulateurs abstraits
→ Un ensemble d’algorithmes

(LIL, INRA) Modélisation et simulation 58 / 113


DEVS, Discrete Event System Specification
Description du modèle atomique

Définition du modèle atomique :


* Nous considérons ici la version parallèle de DEVS, P-DEVS. Quand
nous dirons DEVS par la suite, il s’agira en fait de P-DEVS

M = hX , Y , S , δext , δint , δcon , ta , λi

I Une structure mathématique composée de variables et de fonctions


I Une représentation graphique :

(LIL, INRA) Modélisation et simulation 59 / 113


DEVS, Discrete Event System Specification
Description du modèle atomique

M = hX , Y , S , δext , δint , δcon , ta , λi


X : l’ensemble des ports d’entrée et des valeurs attachées.

(LIL, INRA) Modélisation et simulation 59 / 113


DEVS, Discrete Event System Specification
Description du modèle atomique

M = hX , Y , S , δext , δint , δcon , ta , λi


Y : l’ensemble des ports de sortie et des valeurs attachées.

(LIL, INRA) Modélisation et simulation 59 / 113


DEVS, Discrete Event System Specification
Description du modèle atomique

M = hX , Y , S , δext , δint , δcon , ta , λi


S : l’ensemble des états du système.
À un instant t, Q = {(s , e ) | s ∈ S , 0 < e < ta (s )} est l’état total du
système où e est le temps passé dans l’état.

(LIL, INRA) Modélisation et simulation 59 / 113


DEVS, Discrete Event System Specification
Description du modèle atomique

M = hX , Y , S , δext , δint , δcon , ta , λi


δext : fonction de transition externe : δext : Q × X b → S
représente les réponses du système aux événements externes où X b est
un ensemble de bag dans X

(LIL, INRA) Modélisation et simulation 59 / 113


DEVS, Discrete Event System Specification
Description du modèle atomique

M = hX , Y , S , δext , δint , δcon , ta , λi


δint : fonction de transition interne : δint : S → S
représente les évolutions autonomes.

(LIL, INRA) Modélisation et simulation 59 / 113


DEVS, Discrete Event System Specification
Description du modèle atomique

M = hX , Y , S , δext , δint , δcon , ta , λi


δcon : fonction de conflict : δcon : Q × X b → S
représente les réponses du système si des événements externes arrivent
et que e = ta (s )
δcon (s , x ) = δext (δint (s ), 0, x ) ou δint (δext (s , ta (s ), x ))

(LIL, INRA) Modélisation et simulation 59 / 113


DEVS, Discrete Event System Specification
Description du modèle atomique

M = hX , Y , S , δext , δint , δcon , ta , λi


ta (s ) : le temps pendant lequel le modèle reste dans l’état S (hors
événements externes)

(LIL, INRA) Modélisation et simulation 59 / 113


DEVS, Discrete Event System Specification
Description du modèle atomique

M = hX , Y , S , δext , δint , ta , δcon , λi


λ : la fonction de sortie : λ : S → Y b représente les influences externes.

(LIL, INRA) Modélisation et simulation 59 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Dynamique des états

(LIL, INRA) Modélisation et simulation 60 / 113


P-DEVS
Simulateur abstrait

Variables
parent // coordinateur parent
tl // durée depuis le dernier évènement
tn // durée jusqu ’au prochain évènement
DEVS // modèle DEVS associé avec l’état total (s,e)
y // bag de sortie
e // le temps passé dans l’état courant s

Fonction d’initialisation
quand reçoit i- message (i,t) à la date t alors :
tl <- t - e
tn <- tl + ta(s)

(LIL, INRA) Modélisation et simulation 61 / 113


P-DEVS
Simulateur abstrait

Variables
parent // coordinateur parent
tl // durée depuis le dernier évènement
tn // durée jusqu ’au prochain évènement
DEVS // modèle DEVS associé avec l’état total (s,e)
y // bag de sortie
e // le temps passé dans l’état courant s

Fonction de transition interne


quand reçoit *- message (*,t) à la date t alors :
si t = tn alors :
y <- lambda (s)
envoie y- message (y, t) au coordinateur parent

(LIL, INRA) Modélisation et simulation 61 / 113


P-DEVS
Simulateur abstrait

Variables
parent // coordinateur parent
tl // durée depuis le dernier évènement
tn // durée jusqu ’au prochain évènement
DEVS // modèle DEVS associé avec l’état total (s,e)
y // bag de sortie
e // le temps passé dans l’état courant s

Fonction de transition externe et de conflit


quand recçoit x- message (x, t) alors :
si (x est vide et t = tn) alors s = delta_int (s)
sinon si (t = tn) alors s = delta_con (s, x)
sinon si (tl <= t <= tn)
e <- t - tl
s <- delta_ext (s,e,x)
tl <- t
tn <- tl + ta(s)

(LIL, INRA) Modélisation et simulation 61 / 113


P-DEVS
Exemple - un petit compteur

Exemple
à l’initialisation du modèle, la valeur du compteur est nulle ;
à chaque arrivée d’événement en entrée du modèle, un compteur est
augmenté de 1 ;
lorsque le compteur arrive à 10 alors le compteur est remis à zéro et
un événement de sortie est émis.

(LIL, INRA) Modélisation et simulation 62 / 113


P-DEVS
Exemple - un petit compteur

Etapes
1. définir l’ensemble S des états du modèle et définir l’état initial ;
2. définir la fonction d’avancement du temps ta ;
3. définir les ports d’entrée et de sortie ;
4. définir la fonction de transition externe δext ;
5. définir la fonction de transition interne δint ;
6. définir la fonction de sortie λ.

Avertissement
Cet ordre n’est pas une obligation !

(LIL, INRA) Modélisation et simulation 63 / 113


P-DEVS
Exemple - un petit compteur

Etape 1
l’état se compose de deux éléments :
I le compteur ;
I la phase pour modéliser la succession des phases du modèle.
le modèle doit toujours débuter dans un état d’initialisation : INIT ;
ensuite le modèle attend un événement externe : WAITING ;
lorsque le compteur atteint 10, on a un état transitoire de
réinitialisation et d’envoi d’événement : RESET .

S = (c , p ) o p ∈ {INIT , WAITING , RESET }

(LIL, INRA) Modélisation et simulation 64 / 113


P-DEVS
Exemple - un petit compteur

Etape 2
le modèle ne reste pas dans l’état d’initialisation : ta ((c , INIT )) = 0 ;
c’est très souvent le cas ;
le modèle attend un événement externe de manière passive :
ta ((c , WAITING )) = +∞ ;
la phase RESET est transitoire donc : ta ((c , RESET )) = 0.

(LIL, INRA) Modélisation et simulation 65 / 113


P-DEVS
Exemple - un petit compteur

Etape 3
Les interactions avec l’extérieur sont limitées :
un port d’entrée que l’on nommera in ;
un port de sortie out.

Etape 4
Si on se place sous l’hypothèse que les événements externes sont plus
prioritaires que les transitions internes alors le traitement des événements
d’entrée ne peuvent se produire que dans l’état WAITING.

δext ((c , WAITING ), e , (0 in0 , ∅)) = (c + 1, WAITING ) si c < 9

δext ((c , WAITING ), e , (0 in0 , ∅)) = (10, RESET ) si c = 9

(LIL, INRA) Modélisation et simulation 66 / 113


P-DEVS
Exemple - un petit compteur

Etape 3
Les interactions avec l’extérieur sont limitées :
un port d’entrée que l’on nommera in ;
un port de sortie out.

Etape 4
Si on se place sous l’hypothèse que les événements externes sont plus
prioritaires que les transitions internes alors le traitement des événements
d’entrée ne peuvent se produire que dans l’état WAITING.

δext ((c , WAITING ), e , (0 in0 , ∅)) = (c + 1, WAITING ) si c < 9

δext ((c , WAITING ), e , (0 in0 , ∅)) = (10, RESET ) si c = 9

(LIL, INRA) Modélisation et simulation 66 / 113


P-DEVS
Exemple - un petit compteur

Etape 5
La seule partie d’autonomie du modèle concerne la remise à zéro du
compteur dans la phase RESET .

δint ((10, RESET )) = (0, WAITING )

Etape 6
Si le compteur a atteint 10 alors on émet un événement et la phase
RESET représente cette condition.

λ((10, RESET )) = (0 out 0 , ∅)

(LIL, INRA) Modélisation et simulation 67 / 113


P-DEVS
Exemple - un petit compteur

Etape 5
La seule partie d’autonomie du modèle concerne la remise à zéro du
compteur dans la phase RESET .

δint ((10, RESET )) = (0, WAITING )

Etape 6
Si le compteur a atteint 10 alors on émet un événement et la phase
RESET représente cette condition.

λ((10, RESET )) = (0 out 0 , ∅)

(LIL, INRA) Modélisation et simulation 67 / 113


DEVS, Discrete Event System Specification
Description du modèle couplé

Définition du modèle couplé (ou réseau de modèles) :

N = hX , Y , D , EIC , EOC , IC i

I Une structure mathématique composée uniquement de variables


I Une représentation graphique :

(LIL, INRA) Modélisation et simulation 68 / 113


DEVS, Discrete Event System Specification
Description du modèle couplé

N = hX , Y , D , EIC , EOC , IC i
X l’ensemble des ports d’entrée et des valeurs associées.

(LIL, INRA) Modélisation et simulation 68 / 113


DEVS, Discrete Event System Specification
Description du modèle couplé

N = hX , Y , D , EIC , EOC , IC i
Y l’ensemble des ports de sortie et des valeurs associées.

(LIL, INRA) Modélisation et simulation 68 / 113


DEVS, Discrete Event System Specification
Description du modèle couplé

N = hX , Y , D , EIC , EOC , IC i
D l’ensemble des identifiants des sous-modèles avec : {Md |d ∈ D }.

(LIL, INRA) Modélisation et simulation 68 / 113


DEVS, Discrete Event System Specification
Description du modèle couplé

N = hX , Y , D , EIC , EOC , IC i
EIC l’ensemble des connexions d’entrée.

(LIL, INRA) Modélisation et simulation 68 / 113


DEVS, Discrete Event System Specification
Description du modèle couplé

N = hX , Y , D , EIC , EOC , IC i
EOC l’ensemble des connexions de sortie.

(LIL, INRA) Modélisation et simulation 68 / 113


DEVS, Discrete Event System Specification
Description du modèle couplé

N = hX , Y , D , EIC , EOC , IC i
IC l’ensemble des connexions internes.

(LIL, INRA) Modélisation et simulation 68 / 113


Composition hiérarchique de modèles

Relation modèle formel – simulateur abstrait

(LIL, INRA) Modélisation et simulation 69 / 113


Simulateur abstrait

Variables
N =< X , Y , D , (Md ), (Id ), (Zd ) > // le modèle couplé associé
// avec Id ⊆ D ∪ N l’ensemble des influencers de d
// et Zd : ×i ∈Id YXi → XYd ⊆ D ∪ N
// l’esemble des ports interfaces pour d
// où:
// XYi = Xi si i = N
// XYi = Yi si i , N
// XYd = Yd si d = N
// XYd = Xd si d , N

(LIL, INRA) Modélisation et simulation 70 / 113


Simulateur abstrait

Variables
parent // coordinateur parent
tl // durée depuis le dernier évènement
tn // durée avant le prochain évènement
event_list // liste des élements (d , tnd ) triés par par tnd
IMM // Les enfants imminents
mail // bag de sortie
yparent // bag de sortie pour le parent
(yd ) // ensemble bags de sortie pour les enfants

(LIL, INRA) Modélisation et simulation 71 / 113


Simulateur abstrait

Initialisation
quand reçoit i-message (i,t):
∀d ∈ D faire:
envoie i-message à d
trie la liste des évènements en fonction de tnd ∀d ∈ D
tl = max {tld | d ∈ D }
tn = min{tnd | d ∈ D }

Fonctions de sortie imminentes chez les composants


quand reçoit *-message (*,t):
IMM = {d | (d , tnd ) ∈ (event _list ∧ tnd = tn)}
∀r ∈ IMM faire
envoie *-message (*,t) à r

(LIL, INRA) Modélisation et simulation 72 / 113


Simulateur abstrait

Transitions imminentes chez les composants


quand reçoit x-message (x,t):
receveurs = {r | r ∈ children, N ∈ Ir , ZN ,r (x ) , ∅}
∀r ∈ receveurs faire :
envoie x-message (ZN ,r (x ), t ) à r
∀r ∈ IMM ∧ ∀r < receveurs faire :
envoie x-message (∅, t ) à r
trie event_list en fonction de tn
tl = t
tn = min{tnd | d ∈ D

(LIL, INRA) Modélisation et simulation 73 / 113


Simulateur abstrait

Fonctions de sortie imminentes chez le modèle couplé


quand reçoit y-message (yd ,t):
si d , dernierd ∈ IMM alors: // récup. des sorties
add yd → mail
marque d comme étant à traiter

sinon :
// traitement des sorties du modèle couplé
yparent = ∅
∀d ∈ IN ∧ d à traité faire :
si Zd ,N (yd ) , ∅ alors :
add yd → yparent
envoie y-message (yparent , t ) au parent

(LIL, INRA) Modélisation et simulation 74 / 113


Simulateur abstrait

Fonctions de sortie imminentes chez le modèle couplé


quand reçoit y-message (yd ,t):
...
sinon :
// traitement des connexions internes
∀r | d ∈ Ir ∧ d à traiter ∧Zd ,r (yd ) , ∅ faire :
∀d ∈ Ir ∧ d à traiter ∧Zd ,r (yd ) , ∅ faire :
add Zd ,ri (yd ) → yr
envoie x-messages (yr , t ) à r

∀r ∈ IMM ∧ yr = ∅
envoie x-message(∅, t ) à r
tl = t
tn = min{tnd | d ∈ D }

(LIL, INRA) Modélisation et simulation 75 / 113


Composition hiérarchique de modèles

Propriété de fermeture sous couplage


Garantie qu’un modèle DEVS couplé est rigoureusement équivalent à un
modèle DEVS atomique.

(LIL, INRA) Modélisation et simulation 76 / 113


Composition hiérarchique de modèles

Propriété de fermeture sous couplage


Garantie qu’un modèle DEVS couplé est rigoureusement équivalent à un
modèle DEVS atomique.

(LIL, INRA) Modélisation et simulation 76 / 113


Propriété de fermeture sous couplage

Objectif
Montrer que :
N =< X , Y , D , (Md ), (Id ), (Zd ) >
peut être écrit sour la forme d’un modèle DEVS atomique :

M = hX , Y , S , δext , δint , ta , δcon , λi

Méthode
Écrire le modèle résultant du modèle couplé en définissant les fonctions
de transition, la fonction d’avancement du temps, la fonction de sortie et
l’ensemble des états.

(LIL, INRA) Modélisation et simulation 77 / 113


Propriété de fermeture sous couplage
À un instant donné, en considérant qu’il n’y a pas d’évènement en
entrée du modèle couplé, nous pouvons écrire:
I L’état du modèle résultant est :

S = ×d ∈D Qd

I La fonction d’avancement du temps est:

ta (s ) = min{σd | d ∈ D }, s ∈ S ∧ σd = ta (sd ) − ed

I La fonction de sortie est l’ensemble des fonctions de sortie du bag


imminent:

λ(s ) = {Zd ,N (λd (sd )) | d ∈ IMM (s ) ∧ d ∈ IN }

I De même, à partir de l’ensemble des composant imminents, on définit


les fonctions de transition internes, externes et de conflict...

(LIL, INRA) Modélisation et simulation 78 / 113


Les extensions de DEVS

Les extensions de DEVS permettent d’étendre formellement la


spécification DEVS : nouveaux types modèles.

Quelques exemples pour les modèles :

Cell-DEVS l’état du modèle S contient son état et celui de ces


voisins
une diffusion instantanée λ ou avec délais δint des
modifications ou perturbations aux voisins δext
la cellule est dupliquée pour former un automate
cellulaire.

(LIL, INRA) Modélisation et simulation 79 / 113


Les extensions de DEVS
Graphe de couplage d’un CellDevs

(LIL, INRA) Modélisation et simulation 80 / 113


Les extensions de DEVS
QSS : moteur d’intégration d’équations différentielles

Comment résoudre les équations différentielles ordinaires :


DESS [Zeigler et al., 2000] : discrétisation de l’espace du temps :
I ta la constante du pas d’intégration
I δint le moteur d’intégration (Euler, Runge Kutta, etc.).

(LIL, INRA) Modélisation et simulation 81 / 113


Les extensions de DEVS
QSS [Kofman and Junco, 2001] : discrétisation de l’espace des
valeurs :
I δ
int calcul de la pente (pour QSS1)
I ta calcul de la date de dépassement du seuil δq .

(LIL, INRA) Modélisation et simulation 82 / 113


Développement d’un système d’équations
Exemple avec le modèle de Lotka-Voltera

DEVS s’appuie, entre autre, sur deux propriétés très importantes :


le couplage de modèles : un modèle atomique peut être combiné à
un autre modèle pour former le couplage de modèle.
la fermeture sous couplage : un modèle couplé possède les mêmes
propriétés qu’un modèle atomique.

(LIL, INRA) Modélisation et simulation 83 / 113


Développement d’un système d’équation
Exemple avec le modèle de Lotka-Voltera couplé à un modèle de décision

Deux modèles QSS avec une équation chacun : construction d’un


système d’équations par le couplage.

(LIL, INRA) Modélisation et simulation 84 / 113


Développement d’un système d’équation
Exemple avec le modèle de Lotka-Voltera couplé à un modèle de décision

Le couplage peut former un nouveau modèle dont seuls les ports d’entrée
et de sortie permettent la communication.

(LIL, INRA) Modélisation et simulation 84 / 113


Développement d’un système d’équation
Exemple avec le modèle de Lotka-Voltera couplé à un modèle de décision

Un modèle de décision peut venir


(LIL, INRA) se coupler
Modélisation et simulation sur ce modèle. 84 / 113
Développement d’un système d’équation
Exemple avec le modèle de Lotka-Volterra couplé à un modèle de décision

1 Vert, variable X (proies) sans perturbation.


2 Rouge, variable X avec une perturbation commençant quand les
proies dépassent le seuil de 2000 puis toutes les 5 ut. (-75% de X).

(LIL, INRA) Modélisation et simulation 85 / 113


Développement d’un système d’équation
Exemple avec le modèle de Lotka-Volterra couplé à un modèle de décision

1 Vert, variable Y sans perturbation.


2 Rouge, variable Y lorsque la variable X répercute ses modifications.

(LIL, INRA) Modélisation et simulation 85 / 113


Les extensions de DEVS
DEVS structures dynamiques

DEVS possède une structure statique : modèles couplés/atomiques


→ offrir une structure dynamique permet de répondre à la
diversité des modèles
La spécification choisie : Dynamic Structure DEVS [Barros, 1995].
→ ajoute un modèle atomique au réseau de modèles :
exécutif
→ le modèle exécutif possède le contrôle complet de la
structure du modèle couplé :
I ajouts et suppressions de modèles, de connexions et/ou
de ports.

(LIL, INRA) Modélisation et simulation 86 / 113


Les extensions de DEVS
DEVS structures dynamiques

Réseau de modèles : déportent les connexions dans un modèle dit


exécutif :
DSDEVNN = hXN , YN , χ, Mχ i
où :
XN et YN sont les ports d’entrée et de sortie du réseau
χ le nom du modèle exécutif
Mχ le modèle exécutif
χ χ
Mχ = hXχ , Yχ , Sχ , δint , δext , taχ , λχ , Σ∗ , γi
Avec :
 γ : Sχ → Σ∗ la fonction de structure

 Σ∗ : l’ensemble des structures

 Σ ∈ Σ∗ :
 α
Σα = hD , EIC , EOC , IC i
(LIL, INRA) Modélisation et simulation 87 / 113
Les extensions de DEVS
DEVS structures dynamiques

exécutif

(LIL, INRA) Modélisation et simulation 88 / 113


Les extensions de DEVS
DEVS structures dynamiques

exécutif

(LIL, INRA) Modélisation et simulation 88 / 113


Les extensions de DEVS
DEVS structures dynamiques

exécutif

(LIL, INRA) Modélisation et simulation 88 / 113


Les extensions de DEVS
DEVS structures dynamiques

exécutif

(LIL, INRA) Modélisation et simulation 88 / 113


Les extensions de DEVS

DESS, Qss1, Qss2 et Qss3 Moteur d’intégration d’équations


différentielles
Cell-Qss Moteur d’intégration d’équations différentielles spatialisées
Réseau de Petri Traduction (mapping) des RdP en DEVS
Automate à état finis Traduction des FSA en DEVS
etc.

GSMP et GSMDP Processus de Markov généralisé, en cours par


Emmanuel Rachelson

(LIL, INRA) Modélisation et simulation 89 / 113


Plan

1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles

2 Formalismes de modélisation

3 P-DEVS

4 Multi-formalisme et problématique du couplage


Modélisation multiple
Intégration opérationelle
Intégration formelle

(LIL, INRA) Modélisation et simulation 90 / 113


Modélisation multiple
Définitions

(LIL, INRA) Modélisation et simulation 91 / 113


Modélisation multiple
Définitions

Un multi-modèle est un modèle qui rassemble plusieurs paradigmes


et/ ou formalisme dans sa réalisation.
⇒ Augmentation de la puissance descriptive du modèle.
La multi-modélisation est l’ensemble des concepts, outils et
techniques de construction de multi-modèles.

Les précurseurs
[Ören, 1989] Dynamics Templates and Semantic Rules for Simulation
Advisters and Certifiers.
[Fishwick and Zeigler, 1992] - A multi-model methodology for
qualitative model engineering.

(LIL, INRA) Modélisation et simulation 92 / 113


Modélisation multiple
Définitions

Cadre conceptuel de la modélisation et de la simulation


[Zeigler and Sarjoughian, 2000]

(LIL, INRA) Modélisation et simulation 93 / 113


Modélisation multiple
Définitions

États, temps, espace [Ramat, 2003]

(LIL, INRA) Modélisation et simulation 94 / 113


Modélisation multiple
Définitions

Trois directions orthogonales


L’intégration de plusieurs formalismes dans un nouveau
⇒ [Vangheluwe, 2000] (Differential Algebraic Equations),
⇒ [Zeigler et al., 2000] DEV&DESS,
⇒ [Barros, 2003] (HFSS) pour l’intégration de systèmes discrets et
continus.

La spécification des sous systèmes dans un formalisme unique


⇒ Réecriture de tous les sous systèmes dans le même formalisme.

L’approche de co-simulation. Tous les sous modèles ont leur propres


simulateurs. La difficulté et de les coupler (solution HLA par exemple).

(LIL, INRA) Modélisation et simulation 95 / 113


Intégration opérationelle
Définition

Trouver des moyens techniques et algorithmiques de coupler des


modèles hétérogènes
Trouver des moyens techniques
⇒ Problèmes d’architecture matérielle et logicielle
⇒ Problèmes des langages de programmation différents
Intégrer les représentations de la dynamique des sous systèmes
⇒ Intégration des notions de temps, d’espace, d’états et de transition
[Quesnel et al., 2004]

Besoin de définir un bus logiciel commun

(LIL, INRA) Modélisation et simulation 96 / 113


Intégration opérationelle
DEVS-Bus

Schéma conceptuel du bus DEVS (modifié d’après


[Kim and Kim, 1998])

(LIL, INRA) Modélisation et simulation 97 / 113


Intégration opérationelle
DEVS-Bus

Les capsules ou wrappers:


sont des modèles DEVS classiques
font le lien entre un simulateur DEVS et un programme existant
(traduction des notions de temps, d’états et de transitions).
l’état d’un wrapper est l’union de son état et du composant encapsulé

(LIL, INRA) Modélisation et simulation 98 / 113


Intégration opérationelle
Exemple : couplage avec une base de données

Graphe d’états d’un wrapper autour d’une base de données SQL.

(LIL, INRA) Modélisation et simulation 99 / 113


Intégration opérationelle
Exemple : wrapping d’un réseau de Petri

Traduction :
I Événement d’entrée en jetons (fonction de transition externe)
I Fonction de transition interne (évolution du marquage)
I Fonction d’avancement du temps → introduction du temps ?
I Fonction sortie en fonction du marquage

(LIL, INRA) Modélisation et simulation 100 / 113


Intégration opérationelle
DEVS-Bus

Les agents dans DEVS [Duboz et al., 2004, Duboz et al., 2006]

(LIL, INRA) Modélisation et simulation 101 / 113


Intégration formelle
Vers du "tout en DEVS"

(LIL, INRA) Modélisation et simulation 102 / 113


Intégration formelle
mapping : Définition

Reformalisation d’un système d’écriture dans un autre


Préservation de la dynamque des états – transitions
Homomorphisme (niveau 3)
Pas forcement d’isomorphisme au niveau du modèle couplé

Il s’agit essentiellement de traduire une sémantique particulière dans


DEVS

(LIL, INRA) Modélisation et simulation 103 / 113


Exemples de reformalisation

Les automates à états finis


Les automates cellulaires
Les systèmes à temps discrets
Les chaînes de Markov temporisées

(LIL, INRA) Modélisation et simulation 104 / 113


Exemples de reformalisation
Les réseaux de Petri [Jacques and Wainer, 2002]

Bien adapté pour la simulation de la concurence des évènements


Trois éléments : les places, les transitions et les arcs
Une place à 0 ou + entrées et sorties
Une transition peut avoir 0 ou + entrées et sortie (si 0 sortie alors
c’est un puit)
Le mouvements des jetons (ressource par exemple) décrit la
dynamique du système sur les places (lieux par exemple)
Une transition est permise si au moins un jeton est présent sur une
des ses places connectée en entrée
Quand une transition est déclanchée, elle retire un jeton de chaque
place connectée en entrée et en dépose un sur chaque place
connectée en sortie.

(LIL, INRA) Modélisation et simulation 105 / 113


Exemples de reformalisation
Les réseaux de Petri

une place peut être formalisée par:

M =< X , S , Y , δint , δext , D , λ >

X = {IN ∈ N + }
Y = {OUT ∈ N + }
S = {tokens ∈ N0+ } ∪ {id ∈ N + }
tokens est le nombre de jetons
id est l’identifiant de la place
(LIL, INRA) Modélisation et simulation 106 / 113
Exemples de reformalisation
Les réseaux de Petri

dext (s,e,x) {
retrieve id and number of tokens from message
case id = 0 /* generic message */
increment tokens
hold in active 0 /* to advertise the number
of tokens */
case id != 0 /* specific message */
id matches id of this place ?
no: disregard the message
yes: decrement tokens by the number of
tokens specified if there are enough . Otherwise
throw an exception .
hold in active 0 /* to advertise the number
of tokens */
}
dint (s) {
}
lambda (s) {
combine id and tokens state variables in one message
and send on the out port.
}

(LIL, INRA) Modélisation et simulation 107 / 113


Exemples de reformalisation
Les réseaux de Petri

une transition peut être formalisée par:


M =< X , S , Y , δint , δext , D , λ >
X = {IN0 ∈ N + , IN1 ∈ N + , IN2 ∈ N + , IN3 ∈ N + , IN4 ∈ N + }
Y = {OUT 1 = 1, OUT 2 = 2, OUT 3 = 3, FIRED ∈ N + }
S = {inputs ∈ N0+ } ∪ {enable ∈ bool }
inputs nombre de place en entrée
enable transition possible ou non
(LIL, INRA) Modélisation et simulation 108 / 113
Exemples de reformalisation
Les réseaux de Petri

IN1 combien de jeton dans la place ?


IN2 idem mais modélise une double connexion
IN3 idem mais modélise une triple connexion
IN4 idem mais modélise une quadruple connexion
IN0 inibiteur (pas de jeton sur la place)
OUT 1 donne un jeton
OUT 2 donne 2 jetons
OUT 3 donne 3 jetons
OUT 4 donne 4 jetons
fired suprime les jetons de la place en entrée

(LIL, INRA) Modélisation et simulation 109 / 113


Exemples de reformalisation
Les réseaux de Petri

dext (s,e,x) {
case port
in0: set arcwidth (temp var) to 0.
in1: set arcwidth (temp var) to 1.
in2: set arcwidth (temp var) to 2.
in3: set arcwidth (temp var) to 3.
in4: set arcwidth (temp var) to 4.
- extract id ( place of origin ) and number of tokens
from the message .
First message we get from this id?
yes: increment inputs .
no: continue
- save id , arcwidth and number of tokens in database .
- scan the entire database to determine if all input
places have enough tokens to enable the transition .

(LIL, INRA) Modélisation et simulation 110 / 113


Exemples de reformalisation
Les réseaux de Petri

transition is enabled ?
yes: set enabled to true
hold in (active , random (0 â 60 sec ))
no: set enabled to false
passivate
}
dint (s) {
inputs = 0?
yes: /* transition is a source */
hold in (active , random (0 â 60 sec ))
no: passivate
}
lambda (s) {
- send 1 on out1 port.
- send 2 on out2 port.
- send 3 on out3 port.
- send 4 on out4 port.
- go through the database and send a message to
every input place via the fired port.
}

(LIL, INRA) Modélisation et simulation 111 / 113


Points importants non abordés ici

Universalité de DEVS
Validation
Vérification
Approximation (savoir vivre avec l’erreur)
Les cadres expérimentaux

(LIL, INRA) Modélisation et simulation 112 / 113


Barros, F. J. (1995).
Dynamic structure discrete event system specification: A new
modeling and simulation formalism for dynamic structure systems.
In Proceedings of the 1995 Winter Simulation Conference, pages
781–785.
Barros, F. J. (2003).
Dynamic structure multiparadigm modeling and simulation.
ACM Transactions on Modeling and Computer Simulation,
13(3):259–275.
Duboz, R., Ramat, É., and Quesnel, G. (2004).
Systèmes multi-agents et théorie de la modélisation et de la
simulation : une analogie opérationnelle.
In Boissier, O. and Guessoum, Z., editors, Actes des douzièmes
Journées Francophones sur les Systèmes Multi-Agents (JFSMA) -
Systèmes multi-agents défis scientifiques et nouveaux usages, Paris.
Duboz, R., Versmisse, D., Quesnel, G., Muzzy, A., and Ramat, É.
(2006).

(LIL, INRA) Modélisation et simulation 112 / 113


Specification of dynamic structure discrete event multiagent systems.
In Conference proceedings of Agent Directed Simulation (Spring
Simulation Multiconference), Huntsville, Alabama, USA.
Fishwick, P. A. and Zeigler, B. P. (1992).
A multi-model methodology for qualitative model engineering.
ACM transaction on Modeling and Simulation, 2(1):52–81.
Jacques, C. and Wainer, G. A. (2002).
Using the CD++ DEVS tookit to develop petri nets.
In SCS Conference.
Kim, J. Y. and Kim, T. G. (1998).
A heterogeneous simulation framework based on the DEVS bus and
the High Level Architecture.
In Winter Simulation Conference, Washington, DC.
Kofman, E. and Junco, S. (2001).
Quantized State Systems. a DEVS Approach for Continuous Systems
Simulation.
In Transactions of SCS., volume 18, pages 123–132.

(LIL, INRA) Modélisation et simulation 112 / 113


Ören, T. (1989).
Knoledge Based Simulation: Methodology and Application, chapter
Dynamics Templates and Semantic Rules for Simulation Advisters and
Certifiers.
Berlin Springer Verlag.
Quesnel, G., Duboz, R., and Ramat, É. (2004).
DEVS wrapping: A study case.
In Proceedings of Conference on Conceptual Modeling and
Simulation 2004, pages 374–382, Genoa, Italy.
Ramat, É. (2003).
Contributions à la modélisation et à la simulation des systèmes
complexes.
Habilitation à diriger des recherches.
Vangheluwe, H. (2000).
DEVS as a common denominator for hybrid systems modelling.

(LIL, INRA) Modélisation et simulation 112 / 113


In Varga, A., editor, IEEE International Symposium on
Computer-Aided Control System Design, pages 129–134, Anchorage,
Alaska. IEEE Computer Society Press.
Zeigler, B. and Sarjoughian, H. S. (2000).
Creating distributed simulation using devs m& s environment.
In Proceedings of the 2000 Winter Simulation Conference.
Zeigler, B. P. (1976).
Theory of Modeling and Simulation.
Wiley Interscience.
Zeigler, B. P., Kim, D., and Praehofer, H. (2000).
Theory of Modeling and Simulation: Integrating Discrete Event and
Continuous Complex Dynamic Systems.
Academic Press.

(LIL, INRA) Modélisation et simulation 112 / 113


Théorie de la Modélisation et la Simulation

Auteurs
Raphaël Duboz duboz@users.sourceforge.net
Fréderick Garcia fgarcia@toulouse.inra.fr
Gauthier Quesnel quesnel@users.sourceforge.net
Éric Ramat eramat@users.sourceforge.net

Licence
Copyright (C) 2008 - INRA - Cirad - LIL

Permission is granted to copy, distribute and/or modify this document


under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy
of the license is included in the section entitled "GNU Free Documentation
License".

(LIL, INRA) Modélisation et simulation 113 / 113

Vous aimerez peut-être aussi