Académique Documents
Professionnel Documents
Culture Documents
1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles
2 Formalismes de modélisation
3 P-DEVS
1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles
2 Formalismes de modélisation
3 P-DEVS
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.
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.
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.
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]
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.
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]
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 ;
...
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
Définition 1
Traduction en programmes informatiques (algorithmes) du comportement
dynamique des modèles. Exécution en temps fini.
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
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 )
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.
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
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 :
où
Ω 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
Niveau 2
Une fonction d’entrée-sortie IOF est une structure :
où
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.
Hiérarchie de spécification
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.
Hiérarchie de spécification
Niveau 4
Un système dynamique est une structure :
où
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.
Hiérarchie de spécification
1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles
2 Formalismes de modélisation
3 P-DEVS
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
où
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
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.
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
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 ;
...
Classe
Etat continu, temps continu et espace continu
∂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, . . . )
Classe
Etat continu, temps discret et pas d’espace
Classe
Etat continu, temps discret et espace discret
Stochastique
modélisation d’un processus Markovien d’ordre m
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
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
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
Classe
Etat discret, temps discret et espace discret
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 :
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.
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.
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.
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é.
Extensions
Enrichissement du pouvoir d’expression des RdP au détriment de
l’analyse formelle.
Classe
Etat discret, temps discret et pas d’espace
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.
1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles
2 Formalismes de modélisation
3 P-DEVS
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)
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
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
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.
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 !
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 .
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.
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.
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.
Etape 5
La seule partie d’autonomie du modèle concerne la remise à zéro du
compteur dans la phase RESET .
Etape 6
Si le compteur a atteint 10 alors on émet un événement et la phase
RESET représente cette condition.
Etape 5
La seule partie d’autonomie du modèle concerne la remise à zéro du
compteur dans la phase RESET .
Etape 6
Si le compteur a atteint 10 alors on émet un événement et la phase
RESET représente cette condition.
N = hX , Y , D , EIC , EOC , IC i
N = hX , Y , D , EIC , EOC , IC i
X l’ensemble des ports d’entrée et des valeurs associées.
N = hX , Y , D , EIC , EOC , IC i
Y l’ensemble des ports de sortie et des valeurs associées.
N = hX , Y , D , EIC , EOC , IC i
D l’ensemble des identifiants des sous-modèles avec : {Md |d ∈ D }.
N = hX , Y , D , EIC , EOC , IC i
EIC l’ensemble des connexions d’entrée.
N = hX , Y , D , EIC , EOC , IC i
EOC l’ensemble des connexions de sortie.
N = hX , Y , D , EIC , EOC , IC i
IC l’ensemble des connexions internes.
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
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
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 }
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
∀r ∈ IMM ∧ yr = ∅
envoie x-message(∅, t ) à r
tl = t
tn = min{tnd | d ∈ D }
Objectif
Montrer que :
N =< X , Y , D , (Md ), (Id ), (Zd ) >
peut être écrit sour la forme d’un modèle DEVS atomique :
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.
S = ×d ∈D Qd
ta (s ) = min{σd | d ∈ D }, s ∈ S ∧ σd = ta (sd ) − ed
Le couplage peut former un nouveau modèle dont seuls les ports d’entrée
et de sortie permettent la communication.
exécutif
exécutif
exécutif
exécutif
1 Modélisation et Simulation
Définitions
Paradigme et simulateur
Classes de modèles
2 Formalismes de modélisation
3 P-DEVS
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.
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
Les agents dans DEVS [Duboz et al., 2004, Duboz et al., 2006]
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.
}
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 .
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.
}
Universalité de DEVS
Validation
Vérification
Approximation (savoir vivre avec l’erreur)
Les cadres expérimentaux
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