Documente Academic
Documente Profesional
Documente Cultură
RP = (L, T, I, O)
L = locuri
T = tranzitii
I = functie de incident nainte, I : L x T -> {0, 1}
O = functie de incident napoi, O : T x L -> {0, 1}
M = marcaj, M : L -> N
Reprezentare
l4
t2
*
l1
t1
l5
t4
l3
t3
l2
sincronizarea
Modelare actiuni concurente
- paralelismul
(a) rendez-vous
(b) semafor
*
excluderea mutuala
ct,msg /
*
t3
E
t6
m/
/r
F
r/
t1
/m
C
t2
A
B
Receptor:
do {
asteapta mesaj (m)
pregateste raspuns (m,r, msg)
transmite confirmarea (r)
asteapta cerere receptie (cr)
transfera mesaj (msg)
} forever
t4
A
*
t5
cr /msg
AD
Masina de puncte
t1
BD
t2
t6
CMD
t5
t3
t6
CE
t4
CRF
t5
t6
AF
t1
BF
Validarea protocoalelor
CRD
t6
CMF
t2
Persistenta
conflicte efective
**
* c
Matricea de incidente
A |
1
2
3
4
-----------------------a |
-1
1
b |
1
-1
c |
-1
1
d |
1
-1
e |
-1
1 -1
1
t1
l3
t2
A [li, -] = linia li
A [-, tj] = coloana tj
l1
Aspecte de corectitudine
a) garantare ca nu se pierd puncte;
b) posibilitate reproducere marcaje.
Exemple:
RP far pierderi de puncte dar cu marcaj nereproductibil
*
*a
t1
t2
*
*a
t1
t2
t3
L-invarianti
RP cu pierderi de puncte si cu marcaj nereproductibil
l1 ***
*** l2
Pentru g = [1, 2, 1, 2, 1]
=>
gT.M = gT.M' = gT.M + gT.A[-,t].
t1
t3
t2
l3
=>
gT.A = 0.
g este L-invariant.
Un l-vector I este un L-invariant IT.A = 0.
Un L-invariant ne-negativ I se numeste minimal nu exista
un I' a.i.
0< I' < I.
Calcul invarianti
calcul_invarianti()
{ construieste matricea (U|A);
for (fiecare indice j al tranzitiei tj)
{
adauga la matricea (U|A) attea linii i cte combinatii
lineare de cte dou linii cu coeficienti intregi
pozitivi in care se anuleaz elementul [i,j] exist;
elimin din matricea (U|A) liniile i n care elementul
[i,j] este nenul.
}
}
U|A |
1 2 3 4
--------------------------------c
| 0 0 1 0 0
-1 1
d
| 0 0 0 1 0
1 -1
a+b | 1 1 0 0 0
b+e | 0 1 0 0 1
-1 1
------------------------------a+b | 1 1 0 0 0 0 0 0 0
b+e | 0 1 0 0 1 0 0 -1 1
_
|
|
I1 = |
|
|_
_
0 |
1 |
0 |
1 |
1 _|
_
|
|
I2 = |
|
|_
_
0 |
0 |
1 |
1 |
0 _|
_
|
|
I3 = |
|
|_
_
1 |
1 |
0 |
0 |
0 _|
---------------------------------c+d | 0 0 1 1 0
d+b+e| 0 1 0 1 1
Utilizare:
verificarea evitarii anumitor marcaje;
gasirea conditiilor necesare completarii unui marcaj M' accesibil din
M si cunoscut partial;
deducerea unor proprietati generale ale marcajelor accesibile.
Exemplu:
din relatia
IT.M
Reproducerea marcajelor
IT.M0
=
obtinem (ptr cei trei invarianti):
M[b] + M[d] + M[e] =1,
M[c] + M[d] = 1,
M[a] + M[b] = 1.
Efectul tranzitiei 1:
M0 + A[-,1] = M1
echivalenta cu:
_
|
M0 + A. |
|
|_
Relatiile exprim:
Conditia de excludere mutuala (rel 1)
Siguranta M[li] <= 1 pentru orice li
Retea conservativa
din g = I1 + I2 + I3 =>
M[a] + 2M[b] + M[c] + 2M[d] + M[e] = 3
M0 + A.
_
1 |
1 | = M0
0 |
0 _|
T-vectorul
_
|
e = |
|
|_
_
1 |
0 | = M1
0 |
0 _|
_
1 |
1 |
0 |
0 _|
J1 =
_
|
|
|
|_
_
1 |
1 |
0 |
0 _|
J2 =
_
|
|
|
|_
_
0 |
0 |
1 |
1 _|
Reducerea RP
Iesirile unei tranzitii de intrare devin iesiri ale tranzitiei obtinut prin
contopire
b
a
t1
t2
t1
t13
l
t3
a
t12
t23
t14
t24
t4
c
t2
e
t1
t'
a
l
t2
t2
t3
t3
Conservarea invariantilor
Cazuri ireductibile
t2
l1 + l2
t3
l7 + l8
l5 + l6
t4
t1
l1
***
**
l1+l2
l2
R2
R3
R4
Ra
Un exemplu
Rb
Proprietati
Marginirea
Siguranta
Viabilitatea
Cvasiviabilitatea
Evitarea blocarii
Starea de revenire
Conservabilitatea
Invarianti
l1
l2
t2
t3
l4
l5
t4
l3
l1
*
l2+l4
l3
t3
l5
t4
Dupa Rb(t2)
l1+l2+l4
l1
t1
l2+l4
l1+l3+l5
**
q-p
t1
l3+l5
p-q
ti
p1
t4
l1+l2+l4
l1+l3+l5
**
Dupa Rb(t3)
q.li+p.lk
ti
q.p1
li
p.q1
tk
lk
Dupa Ra(t1)
q1
tk
Exemplu
l3+2.l4
l1+l2
**
l3
l3
2
l4
**
t1
l4
**
l4
l1+l2
t3
t3
**
3
Dupa Rb(t1)
l2
t3
t2
t2
l1+l2
2
2
l3
t2
l1
**
Dupa Rb(t2)
2
l1+l2
l3+2.l4
**
**
Dupa Ra(t3)
t3
Dupa Ra(t3)