Академический Документы
Профессиональный Документы
Культура Документы
5.
Chapitre 0 - Motivations
Rappels 2 1 R 5
Modlisation statique (instantane) / Modlisation comportementale (dynamique)
3 4
Proprits dcidables rgime permanent/terminaison prsence ou absence de blocage existence d'actions non ralisables persistance des fonctionnalits rinitialisation toujours possible dbordement de buffer
Multitches Communication Prcdence par signal Synchronisation par RV Concurrence Producteur/consommateur Lecteurs/crivains Paralllisme
Rappels
Statiques Rseau Place/transitions : N = (P, T, W) o P ensemble ni de places T ensemble ni de transitions (P T = ) W : P x T T x P N fonction de valuation Pr : fonction de prconditions : W|P x T Post : fonction de postconditions : W|T x P Marquage : M : P N Dynamiques
Dnitions formelles
M( t > : p P, M(p) W(p, t) (M W(., t)) Nouveau marquage : M : p P, M(p) = M(p) - W(p, t) + W(pt, p) M( t > M
Extensions RdP - Annie Geniet 5
Rappels
DM1
Al1 UM1
DM2
DM
Al M UM
SR1
UM2
SR2
SR
L1
L2
Identiques Perte de place Objectifs : - gain de place - pas de perte dinformations Moyen : faire vhiculer des infos par les marques
Extensions RdP - Annie Geniet 6
Rseaux colors
Motivation
Rseaux de Petri
Si p = 0 alors...
Le producteur/consommateur
Producteur actif Bascule Prod/Cons Consommateur actif
Prod
Entrept Buffer
Cons
Motivation
AM1-UM2
Phnomne de famine
Rseaux les
Motivation
t1
t3
t4
2 P2 t2 Conit effectif P3
Rseaux priorits
Marquages terminaux
P1 Gestion du paralllisme :
2 t1 t3
t4
2 P2 t2 P3
Rseaux synchroniss
Paralllisme effectif
Extensions RdP - Annie Geniet 9
Motivation
Dure dune action Description plus raliste Analyse de performances Respect de contraintes temporelles
Rseaux temporiss
Rseaux temporels
10
Motivation
Dnitions et notations
N entiers naturels Soit A un ensemble Un multi ensemble dlments de A = ensemble o les lments peuvent tre rpts M(A) = lensemble des multi ensembles de A Exemple : A = {a, b, c, d} - E = {a, a, b, c, c, c} est un multi ensemble de A N = (P, T, W) rseau place/transition = {p P /, W(p, t) 0} - t = {p P /, W(t, p) 0} p = {t T /, W(t, p) 0} - p = {t T /, W(p, t) 0}
t
Notation : E = 2a + b + 3c
11
Dnitions et notations
12
Dnitions et notations
Exemple de l'imprimante
13
14
Informations
r+v Mmoire SC f f g
Rseaux colors
t j
SR - M
16
Rseaux colors
{(r,d), (r, a), (r, l), (v,d), (v, a), (v, l)}
Id : fonction identit Id1_Suiv2 ((c1, c2)) = (c1, h(c2)) Y((c1, a)) = Y((c1, d)) = , Y((c1, l)) = X((c1, d)) = X((c1, l)) = , X((c1, a)) =
17
Rseaux colors
Statiques
Rseau de Petri color = (P, T, Pr, Post, C, CT, CP) o P ensemble ni de places T ensemble ni de transitions (P T = ) C un ensemble ni de couleurs Pr et Post fonctions de prcondition et Postcondition :
Dnitions
M(C) o Post : T x P X C M(C) CT : T P(C) associe un ensemble de couleurs une transition CP : P P(C) associe un ensemble de couleurs une place
o Pr : P x T x C Marquage M:P
Rseaux colors
Illustration
19
Rseaux colors
Exemple
{(r,d), (r, a), (r, l), (v,d), (v, a), (v, l)}
P = {Etat, M} - T = {t} - C = {(r,d), (r, a), (r, l), (v,d), (v, a), (v, l), } CT(t) = {(r,d), (r, a), (r, l), (v,d), (v, a), (v, l)} CP(M) = { } Pre(t, Etat, (r,d)) = (r, d) .. Post(t, M, (v, a)) = .....
20
Rseaux colors
Dnitions Dynamiques
t valide pour la couleur c (c CT) partir du marquage M :
! " p # P, "c' # C P (p), M'(p)(c') = M(p)(c') - Pr(p, t, c)(c') + Post (t, p, c)(c')
21
Rseaux colors
Exemple
p 3b + 2v +r CT(t) = CP(p) = CP(q) = {b, v, r} Pr(p, t, v) = b + v Post(t, q, v) = r + b t g M0(p) = 3b + 2v + r
f {b, v, r}
22
Rseaux colors
Exemple
p 2b + v +r CT(t) = CP(p) = CP(q) = {b, v, r} Pr(p, t, v) = b + v Post(t, q, v) = r + b t g M0 (t, v > M = (2b + v + r, r + b) r+b q M0(p) = 3b + 2v + r
f {b, v, r}
23
Rseaux colors
24
Rseaux colors
Dpliage - exemple
25
Rseaux colors
Exercices
1. Le modle client serveur a. On considre un modle client/serveur 1 client et un serveur. Le client met une requte qui est traite par le serveur qui envoie ensuite une rponse. Modliser ce fonctionnement par un RdP b. On veut maintenant prendre en compte 2 clients. Modliser ce nouveau problme dune part par un rseau Place/transition, dautre part par un rseau color c. On suppose quil y a maintenant 2 serveurs et que les clients envoie leurs requtes un serveur quils choisissent au moment de lmission. Donner le rseau color associ puis le rseau dpli. L'imprimante Les philosophes N philosophes sont runis autour dune table. Ils peuvent penser ou manger. Pour manger, ils se servent dans le plat situ au centre de la table, et mangent imprativement avec deux fourchettes situes respectivement sa droite et sa gauche. Il y a donc N fourchettes, situes entre les philosophes. Lactivit dun philosophe consiste en le cycle :
Penser - Prendre FD - Prendre FG - Manger - Reposer FD - Reposer FG
2. 3.
Modliser le problme pour 3 philosophes laide dun rseau Place/transition, puis laide dun rseau color. Puis tendre la modlisation N philosophes. Constater la prsence de marquages morts. Pour les viter, on rajoute une ressource Autorisation, N - 1 instances. Donner le modle color rsultant.
Extensions RdP - Annie Geniet 26
Rseaux colors
27
Arcs inhibiteurs
Proprit de monotonie : ( M ( t > M ' et M " M ) # ( M ( t > M ' et M ' " M' )
test zro
!
Rseau arcs inhibiteurs : (P, T, W) o 1. P ensemble ni de places 2. T ensemble ni de transitions (P T = )
p Arc inhibiteur
3.
W : P x T T x P N {}
Rgle de franchissement
" p # P, " p # P,
' W(p, ) ( ) * W(p, ' W(p, ) ( ) * W(p,
t) t) t) t)
# N = & # N = &
$ $ $ $
M(p) % W(p, t) M(p) = 0 M'(p) = M(p) - W(p, t) + W(t, p) M'(p) = M(p) + W(t, p)
28
Arcs inhibiteurs
Exemple : limprimante
Imprimante active Bascule mode veille Mode veille
Rveil Impression
Puissance dexpression
p p P N t M(p) <= N N t
rseau Place/transition
29
Arcs inhibiteurs
Indcidabilit
Proposition : Les
Pqf : halt
Pqf
Exercices
1. Modlisation de machines registres Soit la machine registres suivante : q0 : start; goto q1; q1 : if r2 = 0 then goto q3; else r2 := r2 - 1; goto q2; q2 : r1 := r1 + 1; goto q1; q3 : halt; Que fait ce programme? Le modliser par un rseau arcs inhibiteurs 2. Modlisation d'une chane de montage
On considre une chane de montage capable de traiter des lots d'objets, la taille des lots tant infrieure 15. Dans un atelier A1, les objets sont dposs un un sur la chane (qui est donc de capacit 15). A un moment (dtermin par un vnement extrieur par exemple), la chane est entrane dans un atelier A2 voisin (qu'elle soit pleine ou non). Les objets sont alors traits un un et quittent ensuite l'atelier (leur vie au del ne nous concerne plus...). Quand la chane est vide, elle est ramene dans l'atelier A1, et le processus recommence. Modliser le fonctionnement de la chane par un rseau Place/Transition. On suppose maintenant que la capacit de la chane n'est plus borne. Peut-on modliser le fonctionnement de la chane par un rseau Place/transition ? Le modliser par un rseau arcs inhibiteurs.
3.
Arcs inhibiteurs
1. 2.
32
rseaux Place/transition rseaux colors Rseaux autonomes rseaux arcs inhibiteurs rseaux les Possibilits Hors contexte
franchissabilit
t valide
Rgle de franchissabilit :
# t est valide partir % % "$ % il n'existe pas de t' % &
de M tel
# % que $ t' % &t
M(t>
Exemple de limprimante
Imprimante active
!
Rveil Impression Rep. Spool Dpot Extensions RdP - Annie Geniet Rseaux priorits
34
Puissance dexpression
Proposition : les rseaux priorit ont la puissance des machines de Turing Modlisation darcs inhibiteurs t t t
r t < t
Construire un rseau arcs inhibiteurs qui lui soit quivalent. Mme question pour le motif :
2
avec t < u. t u
35
Rseaux priorits
RdP Synchroniss
Moalla - Pulou - Sifakis 1978
tir de transition
t franchissable un instant u partir dun marquage M : 1. 2. t est valide partir de M lvnement Sync(t) se produit linstant u Tir instantan
RdP synchronis = (N, E, Sync) o 1. N est un rseau Place/transition 2. E est un ensemble ni dvnements discrets 3. Sync : T E {e} fonction de synchronisation. e est lvnement toujours occurrent
36
Rseaux synchroniss
P1
P1
P1
P1
Illustration
(E1)
(E1)
(E1)
(E1)
P2 E1 P1 t P2 t P3 E1 (E1) (E1)
P2
P2
P2 perdu
P1 t P2 t P3 (E1) (E1)
P1 t P2 t P3 (E1) (E1)
37
Rseaux synchroniss
Marquages stables
P2 (e) t P3 (e)
38
Rseaux synchroniss
Conits
(t, t) paire persistante ssi pour tout marquage M, t M( t > et M( t > => M(tt > Mf et M(tt > Mf
(E1)
t (E1)
(E1)
t (E1)
non persistante t (E1) (e) t t(E1) t (E1) (e) t t(E1) t t (E1) t t (E1) (e) t t(E1) t
39
t (e) t
(e) t
t(E1)
t (E1)
t(E1) t
E1
Extensions RdP - Annie Geniet
Rseaux synchroniss
(E1)
t (E1)
S = {t, t} SSC
Extensions RdP - Annie Geniet 40
Rseaux synchroniss
Exemple
P1
{t2, t5} / E2
(E1) P2 t1
P3P4P7P8 instable
{t4, t7} / e
P3P6P7 instable t6 / e
t2
(E2)
t3
(E3) t7 (e)
P4 t4 (e) P6 t6 (e) t5
P5 (E2)
P8
P2P3P5
P1P3
P7
41
Rseaux synchroniss
{t2, t5}.{t4,t7}.t6/E2
(E1) P2 t1 P3
P1 t1/E1
t3/E3
t3 (E3) t7 (e)
P2P3
t5{t6,t7}/E2
t2
(E2)
P2P5
P4 t4 (e) P6 t6 (e) t5
P5 (E2)
P8
P7
42
Rseaux synchroniss
Exercices
1. 2. Reprendre lexemple de limprimante. On considre un stock pouvant contenir un nombre quelconque de pices. Son fonctionnement est synchronis par les deux vnements externes E1 : Arrive d'une nouvelle pice et E2 : Demande d'un pice (immdiatement satisfaite s'il y a une pice dans le stock). Donner les rseaux de Petri synchroniss modlisant le fonctionnement du stock, et le graphe de couverture stable dans les deux cas suivants : a - On suppose qu'une demande non satisfaite est perdue. b - On suppose qu'une demande non satisfaite est mmorise et sera satisfaite ds qu'une nouvelle pice arrivera.
43
Rseaux synchroniss
Exercices (2)
3.
Le distributeur bancaire : On considre un distributeur bancaire. Il est en mode veille quand personne ne l'utilise. Lorsqu'une carte est insre, il afche un cran d'accueil. Une fois le code saisi, il le contrle. Si le code est erron, il re-propose l'cran d'accueil, mais au bout de 3 erreurs, il retourne en mode veille (en avalant la carte). Si le code est correct, il afche un deuxime cran permettant de saisir le montant dsir. Une fois le montant saisi, il restitue la carte, dlivre l'argent, et retourne en mode veille. On suppose par ailleurs que : l'insertion de la carte est dtecte par des capteurs qui gnrent un vnement "Carte", les saisies sont valides par une touche spciale qui gnre un vnement "Validation" et la vrication du code engendre soit l'vnement "Code Valide", soit l'vnement "Code Invalide".
Modliser le fonctionnement de l'automate bancaire par un rseau de Petri synchronis. Donner le graphe des marquages stables associ.
44
Rseaux synchroniss
P12
t/E2
P1P2 t/E1
t/E3 P 1P 2P 3
P12
x/e P 1P 2P 4
P4
(N, M0, E, Sync) prompt : M Acc(N, M0), Ei E le franchissement itr depuis M sur occurrence de Ei contient un nombre ni de SSC
Extensions RdP - Annie Geniet 45
Rseaux synchroniss
Promptitude structurelle
Proposition : (N, E, Sync) rseau synchronis. Si 1. t transition source => Sync(t) e 2. il nexiste pas de circuit Pi1ti1 Pi2ti2 Piqtiq Piq+1 tel que Pij tij, Pij tij+1, Piq+1 = Pi1 et Sync(tij) = e Alors le rseau est prompt pour tout marquage initial
(E1) P1 (E2) t P2
(E3) t (e) P3
Rseaux synchroniss
Rseaux synchroniss
1. 2.
48
En Production
dure
Attente Production
instantane
Fin Production Production
49
Rseaux temporiss
Rseaux P-temporiss
quantication de la dure minimale de sjour dune marque dans une place RdP P-temporis = (N, Tempo) o 1. N rseau Place/transition 2. Tempo : P N fonction de temporisation
t1 p1 t2 p2 t3
t1
t1
t1
(d1)
p1 t2
(d1)
p1 t2
(d1)
p1 t2
(d1)
(d2) d1
p2 t3
(d2) ?
p2 t3
(d2) d2
p2 t3
(d2)
Temps
50
Rseaux temporiss
Rseaux T-temporiss
Tir de t : enclenchement - n Quantication de la dure entre lenclenchement et la n RdP T-temporis = (N, Tempo) o 1. N rseau Place/transition 2. Tempo : T N fonction de temporisation
p (d) t t (d) p
Rseaux temporiss
52
Rseaux temporiss
t tire ou invalide datation slection des comportements + datation tat dun rseau temporis linstant u 1. marquage disponible 2. marquage gel 3. vecteur des dures rsiduelles : Resu(t) = 0 si t non en cours de tir Resu(t) = date_n - u = date_enclenchement + Tempo(t) - u
53
Rseaux temporiss
& Res " # % 0( et ) max * + , ) * + $ 'T = ensemble maximal de transitions valides / sous ensemble dun ensemble! maximal de transitions!valides = {t T / Res(t) > 0} '{Tempo(t) / t " #} $ {Res(t), t " #'}( * dmin = Min % & )
, dmin
!
M' = M +
$
t " F
+
W(t, ) -
$W(, t)
t " #
$ W(, t)
!
M'
= M
min
$ W(, t)
min
Res(t) =
& ( 0 si t " # $ #' ( ( 0 si t % # et tempo(t) = d min ( ' 0 si t % #' et Res(t) = d min ( ( tempo(t) - d min si t % #, tempo(t) > ( ( res(t) - d ) min si t % #', res(t) > d min
d min
54
Rseaux temporiss
P1 t1
vitesse maximale
0 P1 1
Exemples
t1, 1 {t2, t3} (2, 3)
3 P P - (t ,1) 3 1 3 4
1
P3 t3
P2 t2
1PP 2 2 3
t 4, 4
2
P4
3
P5
t4 4PP 4 4 5
au plus tt
1 P1
t3, 3
2 P5P2
t4, 4
P4P3 t3, 3
t2, 2
4PP 4 5 55
Rseaux temporiss
Exercices (1)
On considre le rseau suivant :
P2
t2 t3
2 R 2
P2 P3 P4
Ensemble de tches: partageant des ressources critiques se recyclant avec relations de prcdence t6
0
t1
P3 P4
t4
1 P4 P1
t5
4
Montrer laide de ce rseau que le fonctionnement vitesse maximale ne correspond pas toujours au comportement le plus rapide
56
Rseaux temporiss
Exercices (2)
Producteur/consommateur temporis a - Quand il a termin la fabrication d'une pice, un producteur la dpose dans un stock de capacit 2, puis, une fois le dpt effectu, il commence produire une nouvelle pice. Un consommateur, ds qu'il a ni de consommer une pice, en prlve une nouvelle dans le stock. On suppose que la production d'une pice dure 10 units de temps, la consommation d'une pice 7 et l'opration de retrait d'une pice du stock dure 1 unit de temps. Donner le rseau de Petri temporis associ ainsi que son graphe des marquages. La taille du stock estelle adapte ? Quelle est la frquence des consommations ? b - On suppose cette fois que deux consommateurs sont en concurrence. On ne fait pas d'hypothses sur le capacit du stock. i - On suppose que le rseau est autonome (donc sans temporisation). Montrer que le rseau est non born et qu'il peut y avoir famine. ii - On temporise le rseau : la production dure 3 units de temps, les retraits 1 et les consommations 5. Les conclusions prcdentes sont-elles toujours valides ?
57
Rseaux temporiss
Exercices (3)
3 - On considre les deux tches suivantes :
Tche 1 Bloc_dure 3 mission vers Tche 2 Bloc_dure 5 rception d'un message de Tche 2 Prise_ressource (R) Bloc_dure 4 Libration_ressource (R) rception_message de Tche 2 Bloc_dure 3 Tche 2 rception_message de Tche 1 Bloc_dure 2 mission_message vers Tche 1 Bloc_dure 4 Prise_ressource (R) Bloc_dure 3 Libration_ressource (R) mission vers Tche 1
On suppose qu'on dispose de deux processeurs en environnement parallle (les dures de transferts des messages sont considres comme nulles), que chaque tche s'excute sur un processeur, et que les dures des primitives temps rel sont nulles (en fait, elles sont intgres aux dures des blocs voisins). Dterminer les dlais critiques minimum que l'on peut associer chacune des tches.
Extensions RdP - Annie Geniet 58
Rseaux temporiss
[4, 6]
Localisation des actions dans le temps Utilisation de plages horaires Tirs instantans Hypothse synchrone Rseau de Petri temporel = (N, IS) o N rseau Place/transition IS fonction Intervalle de tir Statique IS : T Q+ x (Q+ {+}) t [a, b] avec a <= b
[2, 2]
Date statique de tir au plus tt si t sensibilise t ne peut pas tre tire avant + a t doit avoir t tire ou invalide + b
59
Rseaux temporels
Interprtation
Dlais Dures
[0,0]
n(t)
[d,d]
Places/transitions
[0, +]
Extensions RdP - Annie Geniet 60
Rseaux temporels
Puissance de modlisation
Proposition : les RdP temporels ont la puissance des machines de Turing
[1, 2]
61
Rseaux temporels
Exemples
Limprimante
Imprimante active Fin [4, 8] dimpression Bascule mode veille [1, 1]
Mode veille
Impression en cours
62
Rseaux temporels
Modlisation de processus
P1 Repeat Action1; 1 6 Emit(evt1, P2); Emit(evt2, P3); Action2; 1 6 Forever; P2 Repeat Wait(evt1, P1); Emit(evt2, P3); Action3; 2 3 Action4; 1 4 Forever; P3 Repeat Wait(evt2, P1); Action5; 1 4 Forever;
un scnario
P1 A1 E1 [1, 6] [2, 3] P1 E2 [1, 6] A2 P3 [1,4] A5 [1, 4] A4 P2 P2
A1[1,6] P1P2P3 A1,5 P'1E1E2P2P3 A3,2 P'1E2P'2P3 A2,1 P1E2P'2P3 A5[0,1]A4[1,3]A1[1,6] A5,1 P1P'2P3 A4[0,2]A1[0,5] intervalles dynamiques de tir
63
A3
A2[1,6]A3[2,3]A5[1,4]
A2[0,4]A5[0,2]A4[1,4]
Rseaux temporels
Conits
P1
[5, 6] P2
t1 P3
t4 [4.5, 5]
[2, 4]
t2
t3 [1, 5]
Faute
[1, 1] Alarme
[0, 0]
Rseaux temporels
b - imprvu
a > b2 + b3 + b4
Observateur local
65
Rseaux temporels
Rcupration
(b) Observateur global
t2
t1
[0, 0]
66
Rseaux temporels
Rgle de franchissement
t franchissable depuis un tat E = (M, I) linstant ssi 1. 2. M(t > a (t) " # "
tat dun rseau temporel (instantan) ! " I(t ) % 1 ' $ (M, I) $ I ( t )' marquage vecteur dintervalles
2 ' $ $ ... ' $ ' $ I ( t )' # n &
si t non sensibilise
intervalle de tir dynamique sinon (t)] (t), b [a
!
Extensions RdP - Annie Geniet 67
Rseaux temporels
tat atteint
1 - M ( t > M 2 - (M' ( t' > ) " I'(t') = # t' nouvellement sensibilise " I'(t') = IS(t')
! squence de transitions
= t1t2tk Ralisable depuis E0 il existe E1, E2, , Ek tels que
Rseaux temporels
Classes (1)
Relations dquivalence S = (, u) " S = (, u) <=> = E = (M, I) " E = (M, I) <=> il existe S et S tq S " S et E0 (S > E et E0 ( S > E !
!
!
C0 = (M0, I0 = IS) = E0 C() = (M, D) avec : M 0( > M D = union des domaines de tirs
Domaine de tir d'une transition : ensemble de tous les instants de tir possibles Domaine de tir : vecteur des domaines de tir des transitions
69
Rseaux temporels
Classes (2)
M0 : P1P22
D0 =
4 1 9
M1 : P3P4P5 D1 =
t2, 2 042 053 033 4 - 3 1 5 - 3 2
0 22 1 33 0 42 0 53
M1 : P2P3P5
D2 =
70
Rseaux temporels
Classes (3)
ti, tj valides
k i M(tk>M'
ti valide
D' :
ti valide en M et qui le reste en M' : 'i = Max(0, - k,i, i - k) et 'i = Min( i,k , i - k) ti nouvellement valide : 'i = a(ti) et 'i = b(ti) Pour tout couple (ti, tj) de transitions valides en M et qui les restent en M' : 'i,j = Min( i,j , i - j ) Pour tout couple de transitions (ti, tj) o ti ou tj est nouvellement valide : 'i,j = i - j
Extensions RdP - Annie Geniet 71
Rseaux temporels
Exercices
On considre un systme trs simpli d'opration de virement bancaire via internet. Le fonctionnement schmatique est le suivant : le client se connecte au serveur le serveur envoie un page vierge de saisie de l'opration le client remplit la page et la renvoie au serveur le serveur envoie la rfrence de l'opration et ferme la connexion Le client reoit la rfrence et ferme la connexion Par ailleurs, on suppose que le rseau n'est pas able, donc que certains messages peuvent tre perdus. a - Donner le rseau de Petri modlisant cet change.
Extensions RdP - Annie Geniet 72
Rseaux temporels
Exercices
b - Soit M un marquage. Quelles proprits du marquage M expriment les proprits du systme suivantes : (i) le client se trouve dans un seul tat la fois (ii) le serveur se trouve dans un seul tat la fois c - Quel est le marquage nal atteint lorsque aucune perte ne survient sur le rseau ? d - Construire le graphe des marquages du rseau de Petri. e - An d'viter, en cas de perte de message, que le client ou le serveur attendent indniment, lorsque le client attend un message et qu'il ne l'a pas obtenu au bout de 2 secondes, alors il se met dans un tat d'erreur. De mme, lorsque le serveur attend un message et qu'il ne l'a toujours pas reu au bout de 3 secondes, il ferme la connexion et retourne dans l'tat initial. (i) Donner le rseau de Petri temporel reprsentant le systme modi (les autres temporisations sont gales [0, 1]). (ii) Quel marquage nal atteint-on quand il y a perte de message ? (iii) Donner le graphe des classes.
Extensions RdP - Annie Geniet 73
Rseaux temporels