Il criterio di bisimulazione forte non è adeguato allo sviluppo top-down di una specifica.
Si richiede un criterio di equivalenza in grado di astrarre dai dettagli introdotti nell’implementazione e non presenti nella specifica.
Manca la possibilità di esprimere una forma di astrazione.
Esempio di un contatore.
Specifica di un banale contatore che permette incrementi e decrementi unitari.
Alfabeto: incremento unitario (inc) e decremento unitario (dec).
Stati: in relazione al valore del contatore.
Esempio di un contatore: implementazione.
Il contatore viene implementato mediante un registro di scorrimento con max locazioni.
Incrementi nella prima locazione a destra.
Decrementi nell’ultima locazione a sinistra.
Gli incrementi scorrono da destra a sinistra.
Stato: una tupla che indica per ogni posizione lo stato di riempimeto degli elementi del registro (0 vuoto, 1 pieno).
Alfabeto: incremento unitario (inc), decremento unitario (dec), shift .
Serve distinguere tra:
Eventi osservabili (alfabeto )
Eventi interni non osservabili rappresentati dal simbolo .
La bisimulazione debole verifica la bisimilarità a meno di eventi interni non osservabili.
Definizioni:
Sia un LTS .
Definizione di bisimulazione debole.
Dati due LTS ,
una bisimulazione debole è una relazione che soddisfa il seguente requisito:
se allora deve valere
(1) .
(2) .
1. Introduzione ai metodi formali di specifica
2. Semantica dei formalismi di specifica
3. Astrazione e Bisimulazione debole
4. FSM: Macchine a Stati Finiti
5. FSM: Non-determinismo e succintezza
7. FSM e Parallelismo – seconda parte
8. FSM e Parallelismo – terza parte
9. Promela
10. Specifica e verifica in SPIN
11. Proprietà di liveness in SPIN
12. Specifica di proprietà in Logica Temporale Lineare
13. Comportamenti infiniti: Automi di Büchi
14. Model checking di LTL basato su automi
15. Specifica di sistemi real time: Automi Temporizzati
16. Proprietà degli Automi Temporizzati
17. Problemi di decisione negli Automi Temporizzati
18. Il sistema di verifica UPPAAL