Documente Academic
Documente Profesional
Documente Cultură
Curs 1
Curs 1
http://www.infoiasi.ro/otto/pn.html
otto@infoiasi.ro
Evaluare
Nota finala: 30% TS1 + 30% TS2 + 40%LSA
TS1, TS2 - teste scrise
Activitate laborator/seminar (LSA):
scrise (40%), 2 teme laborator (30%)
2 lucrari
activitatea n timpul seminarului (rezolvare
probleme, prezentare referat)
Conditii minimale: LSA 5, T S1 + T S2 10
minim 5.
Nota finala:
Retele Petri
folosita
Retele Petri: o metoda formala (matematica)
pentru modelarea s i verificarea sistemelor
(concurente/distribuite)
Retele Petri
folosita
Retele Petri: o metoda formala (matematica)
pentru modelarea s i verificarea sistemelor
(concurente/distribuite)
Notiunea de sistem:
A regularly interacting or interdependent group of items forming a unified whole
(Webster Dictionary)
A combination of components that act together to perform a function not possible
with any of the individual parts (IEEE Standard Dictionary of Electrical and
Electronic Terms)
Retele Petri
folosita
Retele Petri: o metoda formala (matematica)
pentru modelarea s i verificarea sistemelor
(concurente/distribuite)
Notiunea de sistem:
A regularly interacting or interdependent group of items forming a unified whole
(Webster Dictionary)
A combination of components that act together to perform a function not possible
with any of the individual parts (IEEE Standard Dictionary of Electrical and
Electronic Terms)
Sistemele:
alcatuite
din componente care interactioneaza
ndeplinesc o anumita functionalitate
evenimente s i stari
comunicare, asincronism
concurenta,
Retele Petri
Exemple de sisteme:
retele de comunicare
sisteme automatizate de productie
sisteme de control al traficului aerian
sisteme de monitorizare si control in industrie
sisteme software distribuite
etc...
Retele Petri
Domenii de aplicabilitate:
Protocoale de comunicare, retele
Sisteme software si hardware
Algoritmi distribuiti
Protocoale de securitate
Biologie, Chimie, Medicina
Economie (fluxuri de lucru)
etc..
p1
t1
p2
t3
p3
t2
t1
p2
t3
p3
t2
t1
p2
t2
t1
p2
t3
p3
t2
M = (1, 0, 0)
Retele Petri
Tranzitii: reprezinta actiuni sau evenimente din
sistemul modelat
Locatiile input: contin resurse (reprezentate de
Exemplu
Model producator consumator:
Producatorul poate produce cte un produs, pe care l
poate pune ntr-un buffer
Un consumator preia cte doua produse din buffer
producator:
sa
Stari
producator
activ (pregatit
producator
produca),
n repaus. Resurse: produsele
Evenimente: se pune un produs in buffer, se consuma
produse, producatorul
redevine activ
producator activ
p1
produce
t1
p2
buffer
2
consuma
t3
revine
p3
producator
in repaus
t2
Exemplu
o tanzitie este posibila daca locatiile input contin
suficiente puncte:
2
p3
t1
t3
p5
p1
3
p2
2
t2
p4
Exemplu
o tanzitie este posibila daca locatiile input contin
suficiente puncte:
2
p3
t1
t3
p5
p1
3
p2
2
t2
p4
Exemplu
o tanzitie este posibila daca locatiile input contin
suficiente puncte:
2
p3
t1
t3
p5
p1
3
p2
2
t2
p4
Exemplu I
Model producator
consumator:
Exemplu I
Model producator
consumator:
producator activ
p1
produce
t1
p2
buffer
2
consuma
t3
revine
p3
producator
in repaus
t2
Exemplu I
Model producator
consumator:
producator activ
p1
produce
t1
p2
buffer
2
consuma
t3
revine
p3
producator
in repaus
t2
Exemplu I
Model producator
consumator:
producator activ
p1
produce
t1
p2
buffer
2
consuma
t3
revine
p3
producator
in repaus
t2
Exemplu I
Model producator
consumator:
producator activ
p1
produce
t1
p2
buffer
2
consuma
t3
revine
p3
producator
in repaus
t2
Exemplu I
Model producator
consumator:
producator activ
p1
produce
t1
p2
buffer
2
consuma
t3
revine
p3
producator
in repaus
t2
Exemplu I
Model producator
consumator:
producator activ
p1
produce
t1
p2
buffer
2
consuma
t3
revine
p3
producator
in repaus
t2
Exemplu I
Model producator
consumator:
producator activ
p1
produce
t1
p2
buffer
2
consuma
t3
revine
p3
producator
in repaus
t2
Exemplu II
Automat care furnizeaza produse
Exemplu II
Automat care furnizeaza produse
A repaus
produse
C introduce
moneda
A respinge moneda
reincarca
ofera
produs
produse
consumate
monezi
acceptate
monezi
introduse
A accepta
moneda
Exemplu II
Automat care furnizeaza produse
A repaus
produse
C introduce
moneda
A respinge moneda
reincarca
ofera
produs
produse
consumate
monezi
acceptate
monezi
introduse
A accepta
moneda
Exemplu II
Automat care furnizeaza produse
A repaus
produse
C introduce
moneda
A respinge moneda
reincarca
ofera
produs
produse
consumate
monezi
acceptate
monezi
introduse
A accepta
moneda
Exemplu II
Automat care furnizeaza produse
A repaus
produse
C introduce
moneda
A respinge moneda
reincarca
ofera
produs
produse
consumate
monezi
acceptate
monezi
introduse
A accepta
moneda
Exemplu II
Automat care furnizeaza produse
A repaus
produse
C introduce
moneda
A respinge moneda
reincarca
ofera
produs
produse
consumate
monezi
acceptate
monezi
introduse
A accepta
moneda
Exemplu II
Automat care furnizeaza produse
A repaus
produse
C introduce
moneda
A respinge moneda
reincarca
ofera
produs
produse
consumate
monezi
acceptate
monezi
introduse
A accepta
moneda
Exemplu II
Automat care furnizeaza produse
A repaus
produse
C introduce
moneda
A respinge moneda
reincarca
ofera
produs
produse
consumate
monezi
acceptate
monezi
introduse
A accepta
moneda
Exemplu II
Automat care furnizeaza produse
A repaus
produse
C introduce
moneda
A respinge moneda
reincarca
ofera
produs
produse
consumate
monezi
acceptate
monezi
introduse
A accepta
moneda
Exemplu II
Automat care furnizeaza produse
A repaus
produse
C introduce
moneda
A respinge moneda
reincarca
ofera
produs
produse
consumate
monezi
acceptate
monezi
introduse
A accepta
moneda
Notatii
Fie = (N, M0 ) o retea P/T marcata . Se definesc
urmatoarele
functii:
t : P N, t (p) = W (p, t), p P
t+ : P N, t+ (p) = W (t, p), p P
t : P Z, t(p) = W (t, p) W (p, t)
Daca T este o secventa de tranzitii, se defineste
: P Z:
Daca = , atunci este funtia identic 0.
Pn
Daca = t1 , . . . , tn , atunci = i=1 ti .
Secvente de aparitie
p2
t
(p
)
=
2,
t
(p
)
=
1,
t
1
2
1
1
1 (p3 ) = 0
+
+
t+
1 (p1 ) = 1, t1 (p2 ) = 3, t1 (p3 ) = 1
3
p1
p3
2
t1
Secvente de aparitie
p2
t
(p
)
=
2,
t
(p
)
=
1,
t
1
2
1
1
1 (p3 ) = 0
+
+
t+
1 (p1 ) = 1, t1 (p2 ) = 3, t1 (p3 ) = 1
3
p1
p3
2
t1
Marcari accesibile
Marcari accesibile
Marcari accesibile
Multimea marcarilor
accesibile dintr-o marcare M , n ,
se noteaza [M i ([M i cnd este clar despre ce retea
este vorba).
Marcari accesibile
Multimea marcarilor
accesibile dintr-o marcare M , n ,
se noteaza [M i ([M i cnd este clar despre ce retea
este vorba).
!!!
p
t2
t1 V s i t2 U .
t1 t2 =
M [t1 t2 iM 0 , atunci:
M [t2 t1 iM 0
t2
Proprietatea de marginire
Definitie 7 (marginire)
Proprietatea de marginire
Definitie 7 (marginire)
Proprietatea de marginire
Definitie 7 (marginire)
p P este marginit
a.
Proprietatea de marginire
Definitie 7 (marginire)
p P este marginit
a.
Proprietatea de marginire
Definitie 7 (marginire)
p P este marginit
a.
daca exista o
Reteaua N este structural marginit
a,
Marginire-exemple
p1
t1
t2
p2
Marginire-exemple
p1
t1
M (p) 1, p P
reteaua este marginit
a:
t2
p2
Marginire-exemple
p1
t1
M (p) 1, p P
reteaua este marginit
a:
p2
t2
p1
t1
t2
p2
p3
Marginire-exemple
p1
t1
M (p) 1, p P
reteaua este marginit
a:
p2
t2
p1
t2
p2
p3
Proprietatea de marginire
Propozitie 8 O retea P/T marcata = (N, M0 ) este
marginit
a ddaca multimea [M0 i este finita.
Proprietatea de marginire
Propozitie 8 O retea P/T marcata = (N, M0 ) este
marginit
a ddaca multimea [M0 i este finita.
(=) Fie n astfel nct (M [M0 i)(p P )(M (p) n). Numarul
maxim de
este (n + 1)|P | .
marcari
(=) Se considera n = max{M (p)|M [M0 i, p P }.
Proprietatea de marginire
Propozitie 8 O retea P/T marcata = (N, M0 ) este
marginit
a ddaca multimea [M0 i este finita.
(=) Fie n astfel nct (M [M0 i)(p P )(M (p) n). Numarul
maxim de
este (n + 1)|P | .
marcari
(=) Se considera n = max{M (p)|M [M0 i, p P }.
nu
Propozitie 9 Daca = (N, M0 ) este marginit
a,
M1 , M2 [M0 i astfel nct
exista doua marcari
M1 [iM2 s i M2 > M1 .
Proprietatea de marginire
Propozitie 8 O retea P/T marcata = (N, M0 ) este
marginit
a ddaca multimea [M0 i este finita.
(=) Fie n astfel nct (M [M0 i)(p P )(M (p) n). Numarul
maxim de
este (n + 1)|P | .
marcari
(=) Se considera n = max{M (p)|M [M0 i, p P }.
nu
Propozitie 9 Daca = (N, M0 ) este marginit
a,
M1 , M2 [M0 i astfel nct
exista doua marcari
M1 [iM2 s i M2 > M1 .
Daca M1 [iM2 s i M2 > M1 = M2 [iM3 (prop. 7) s i M3 > M2 (prop. 5). Deci
M3 [iM4 , M4 > M3 , etc.
moarta.
Reteaua marcata este pseudo-viabila daca toate
tranzitiile sale sunt pseudo-viabile.
moarta.
Reteaua marcata este pseudo-viabila daca toate
tranzitiile sale sunt pseudo-viabile.
Definitie 9 (blocaje)
O marcare M a retelei marcate este moarta daca
nu exista o tranzitie t T astfel nct M [ti.
a blocaje, daca nu exista marcari
Exemple
p1
p3
p2
t2
t1
t3
p5
p4
Exemple
p1
p3
p2
t2
t1
t3
p5
p4
Exemple
p1
p3
p2
t2
t1
t3
p5
p4
Exemple
p1
p3
p2
t2
t1
t3
p5
p4
t T este viabila.
reteaua N este structural viabila daca exista o
t T este viabila.
reteaua N este structural viabila daca exista o
Exemple
p1
t1
t2
p2
viabila,
reversibila s i far
a
Retea pseudo-viabila,
blocaje.
pseudo-viabila.
pseudo-viabila.
avnd cel
Propozitie 11 Orice retea marcata viabila,
a blocaje.
putin o tranzitie, este far
pseudo-viabila.
avnd cel
Propozitie 11 Orice retea marcata viabila,
a blocaje.
putin o tranzitie, este far
a locatii izolate este
Propozitie 12 Daca o retea far
atunci orice locatie este marcata ntr-o anumita
viabila,
marcare accesibila.
pseudo-viabila.
avnd cel
Propozitie 11 Orice retea marcata viabila,
a blocaje.
putin o tranzitie, este far
a locatii izolate este
Propozitie 12 Daca o retea far
atunci orice locatie este marcata ntr-o anumita
viabila,
marcare accesibila.
a
Propozitie 13 O retea marcata reversibila este far
pseudo-viabila.
avnd cel
Propozitie 11 Orice retea marcata viabila,
a blocaje.
putin o tranzitie, este far
a locatii izolate este
Propozitie 12 Daca o retea far
atunci orice locatie este marcata ntr-o anumita
viabila,
marcare accesibila.
a
Propozitie 13 O retea marcata reversibila este far
Exemple
Exemple
p3
p1
t1
p2
t2
p4
Exemple
p3
p1
t1
p2
t2
p4
Exemple
p3
p1
t1
p2
t2
p4
Exemple
care nu este reversibila:
Retea viabila,
p1
t1
t2
p3
t3
p4
p2
Exemple
Exemple
p1
t1
t2
p2
Exemple
p1
t1
(1, 0)[t1 i[t2 i(0, 1)[t1 i[t2 i(0, 1)...
Retea marginit
a s i este viabila
t2
p2
Exemple
p1
t1
(1, 0)[t1 i[t2 i(0, 1)[t1 i[t2 i(0, 1)...
Retea marginit
a s i este viabila
p2
t2
p1
t1
t2
p2
p3
Exemple
p1
t1
(1, 0)[t1 i[t2 i(0, 1)[t1 i[t2 i(0, 1)...
Retea marginit
a s i este viabila
p2
t2
p1
t1
t2
p2
este viabila
Retea nemarginit
a,
p3
Exemple
p1
t1
(1, 0)[t1 i[t2 i(0, 1)[t1 i[t2 i(0, 1)...
Retea marginit
a s i este viabila
p2
t2
p1
t1
t2
p2
este viabila
Retea nemarginit
a,
p3
Exemple
p3
t1
p2
p1
t2
t3
t4
t5
p4
p5
Exemple
p3
t1
p2
p1
t2
t3
t4
t5
p4
p5
Exemple
p3
t1
p2
p1
t2
t3
t4
t5
p4
p5
Exemple
p3
t1
p2
p1
t2
t3
t4
t5
p4
p5
Exemple
p3
t1
p2
p1
t2
t3
t4
t5
p4
p5
Exemple
p3
t1
p2
p1
t2
t3
t4
t5
p4
p5
Exemple
p3
t1
p2
p1
t2
t3
t4
t5
p4
p5
Retea nemarginit
a (locatia p2 , neviabila (M = (0, 0, 0, 2, 1)
s i t1 )
Exemple
p3
t1
p2
p1
t2
t3
t4
t5
p4
p5
Retea nemarginit
a (locatia p2 , neviabila (M = (0, 0, 0, 2, 1)
s i t1 )
Marginire si viabilitate
a elemente izolate)
Teorema 1 Orice retea conexa (far
marginit
a s i viabila este tare conexa.
Marginire si viabilitate
a elemente izolate)
Teorema 1 Orice retea conexa (far
marginit
a s i viabila este tare conexa.
Demonstratie: Se arata ca pentru orice (x, y) F , exista un drum de la y la x.
x
Caz 1: x P, y T .
Fie V = {t T |exista drum de la y la t} (y V )
U = {t T |nu exista drum de la y la t}
V U = .
U
Marginire si viabilitate
a elemente izolate)
Teorema 1 Orice retea conexa (far
marginit
a s i viabila este tare conexa.
Demonstratie: Se arata ca pentru orice (x, y) F , exista un drum de la y la x.
x
Caz 1: x P, y T .
Fie V = {t T |exista drum de la y la t} (y V )
U = {t T |nu exista drum de la y la t}
V U = .
U
Reteaua marginit
a n N : M (x) n, pentru orice M [M0 i. Exista M [M0 i
(M0 [iM ) astfel nct M (x) = n. Exista M1 [M i astfel nct M [iM1 [yiM2 (reteaua
Exista M3 [M2 i astfel nct M3 [yiM4 . Exista o secventa M [iM 0 n
este viabila).
care y apare de n + 1 ori. tranzitii din U s i V (pot fi interschimbate (lema 1)
= 1 2 , 1 U , 2 V (cele n + 1 aparitii ale lui y sunt n 2 ). M [1 iM 00 [2 iM 0 .
M 00 (x) n.
M 0 (x) n, y apare de n + 1 ori n 2 , deci trebuie sa existe n 2 o tranzitie t x
(care pune la un moment dat un punct in x). Deci t V x exista drum de la y la x.
Marginire si viabilitate
a elemente izolate)
Teorema 1 Orice retea conexa (far
marginit
a s i viabila este tare conexa.
Demonstratie: Se arata ca pentru orice (x, y) F , exista un drum de la y la x.
x
Caz 1: x P, y T .
Fie V = {t T |exista drum de la y la t} (y V )
U = {t T |nu exista drum de la y la t}
V U = .
Reteaua marginit
a n N : M (x) n, pentru orice M [M0 i. Exista M [M0 i
(M0 [iM ) astfel nct M (x) = n. Exista M1 [M i astfel nct M [iM1 [yiM2 (reteaua
Exista M3 [M2 i astfel nct M3 [yiM4 . Exista o secventa M [iM 0 n
este viabila).
care y apare de n + 1 ori. tranzitii din U s i V (pot fi interschimbate (lema 1)
= 1 2 , 1 U , 2 V (cele n + 1 aparitii ale lui y sunt n 2 ). M [1 iM 00 [2 iM 0 .
M 00 (x) n.
M 0 (x) n, y apare de n + 1 ori n 2 , deci trebuie sa existe n 2 o tranzitie t x
(care pune la un moment dat un punct in x). Deci t V x exista drum de la y la x.
Marginire si viabilitate
Teorema 2 Fie = (N, M0 ) o retea P/T marcata viabila s i
accesibile din .
Fie k numarul
de marcari
Exista o secventa de tranzitii 1 care contine toate tranzitiile din T astfel nct M [1 iM1 .
deci exista o secventa de tranzitii 2 care contine toate tranzitiile
(N, M1 ) este viabila,
din T astfel nct M1 [2 iM2 .
Se poate obtine secventa:
M0 [1 iM1 [2 iM2 . . . Mk1 [k Mk
identice Mi = Mj , 0 i < j k. Fie = i+1 . . . j .
Exista n s ir doua marcari
contine toate tranzitiile din N s i M [iM .
p1
t1
p3
2
p2
t2
p4
t1
p3
p2
t2
t1
p3
p2
t2
t1
p3
p2
t2
t1
p3
p2
t2
t1
p3
p2
t2
t1
p3
p2
t2
t1
p3
p2
t2
Concurenta II
Propozitie 15 Daca U este o multime de tranzitii
concurent posibile la M , orice permutare a tranzitiilor din
U este o secventa de aparitie posibila la M (M [iM 0 ).
Demonstratie:
Fie U = {t1 , t2 }. Are loc: W (p, t1 ) + W (p, t2 ) M (p), p P
ca M [t1 t2 iM 0 s i M [t2 t1 iM 0 .
Se va arata
W (p, t1 ) M (p), deci M [t1 iM 00 . M 00 (p) = M (p) + W (t1 , p) W (p, t1 ).
W (p, t2 ) + W (p, t1 ) M (p) =
W (p, t2 ) M (p) W (p, t1 ) M (p) W (p, t1 ) + W (t1 , p) = M 00 (p), deci
M 00 [t2 iM 0 . M 0 = M + t1 + t2 .
W (p, t2 ) M (p), deci M [t2 iM 000 . M 000 (p) = M (p) + W (t2 , p) W (p, t2 ).
W (p, t2 ) + W (p, t1 ) M (p) =
W (p, t1 ) M (p) W (p, t2 ) M (p) W (p, t2 ) + W (t2 , p) = M 000 (p), deci
M 000 [t1 iM , unde M = M + t2 + t1 = M 0 .
Concurenta III
Q: Daca M [t1 t2 iM 0 s i M [t2 t1 iM 0 , atunci acest lucru asigura
ntotdeauna faptul ca t1 s i t2 sunt concurent posibile?
Concurenta III
Q: Daca M [t1 t2 iM 0 s i M [t2 t1 iM 0 , atunci acest lucru asigura
ntotdeauna faptul ca t1 s i t2 sunt concurent posibile?
t1
p2
p1
t2
p3
Concurenta III
Q: Daca M [t1 t2 iM 0 s i M [t2 t1 iM 0 , atunci acest lucru asigura
ntotdeauna faptul ca t1 s i t2 sunt concurent posibile?
t1
p2
p1
t2
p3