45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
|
# Analisi delle proprieta' in CTL, da rete di petri
|
||
|
|
||
|
## Descrizione della rete PT
|
||
|
|
||
|
La rete e' stata inizialmente modellata come una CPN per semplicita'. *(figura)* Successivamente e' stato effettuato un *unfolding* della rete ottenendo cosi' una rete PT che potesse essere analizzata utilizzando CTL.
|
||
|
|
||
|
I posti rilevanti sono i seguenti:
|
||
|
* P1,Q1 rappresentano l'attesa per la sezione critica da parte dei processi P,Q.
|
||
|
* *turn* rappresenta la variabile turno: nella rete CPN era utilizzata la classe di colori *Turn = {p,q}*, che e' poi stata convertita durante l'unfolding nei posti *turn_p, turn_q*
|
||
|
* P2\_p, Q2\_q rappresentano la SC per P e per Q.
|
||
|
|
||
|
## Analisi delle proprieta' con CTL
|
||
|
|
||
|
1. **Mutua esclusione**: Per la mutua esclusione si richiede che non vi siano contemporaneamente entrambi i processi all'interno della sezione critica. Se esiste un caso in cui questo e' vero, allora la proprieta` non e' rispettata.
|
||
|
|
||
|
Query CTL: *(greatspn)*
|
||
|
|
||
|
```
|
||
|
!EF (#P2_p > 0 && #Q2_q > 0)
|
||
|
```
|
||
|
La query e' valutata True.
|
||
|
|
||
|
2. **Assenza di deadlock**:
|
||
|
|
||
|
Possiamo definire l'assenza di deadlock come il caso in cui un processo riesca ad accedere alla sezione critica quando qualunque dei processi ne faccia richiesta. Per questo dobbiamo supporre che i processi siano forzati ad avanzare anche quando al di fuori della sezione critica.
|
||
|
|
||
|
La query utilizzata e' la seguente:
|
||
|
```
|
||
|
AG ((#P1 > 0 || #Q1 > 0) -> AF (#P2_p > 0 || #Q2_q > 0))
|
||
|
```
|
||
|
La query e' valutata True.
|
||
|
|
||
|
3. **Assenza di starvation individuale**:
|
||
|
|
||
|
L'assenza di starvation presuppone che se un processo richieda l'accesso alla sezione criticaprima o poi questo possa farlo.
|
||
|
|
||
|
La query utilizzata e' la seguente:
|
||
|
```
|
||
|
AG ((#P1 > 0 -> EF(#P2_p > 0)) && (#Q1 > 0 -> EF (#Q2_q > 0)))
|
||
|
```
|
||
|
|
||
|
La query e' valutata True.
|
||
|
|
||
|
|