Esercizi di Metodi e Modelli per l Ingegneria del Software May 26, 2010 NOTA: Quanto segue sono esempi di esercizi che non devono essere considerati esaustivi: altri esercizi sono ovviamente possibili e non sono da escludere. Nella prova scritta sono probabili domande teoriche (non corrispondenti cioe allo svolgimento di esercizi). 1 Transition Systems Dati due automi 1. il primo con stati s 1 = {P } ed s 2 = { P }; stato iniziale s 1 e transizioni s 1 s 1, s 1 s 2, s 2 s 1, s 2 s 2, o un loro sottoinsieme, 2. il secondo con stati s 3 = {Q, R}, s 4 = { Q, R}, s 5 = {Q, R}; stato iniziale s 3 e transizioni s 3 s 4, s 4 s 5, s 5 s 3, Domande: 1. Si determini il prodotto sincrono ed asincrono degli automi 2. determinare se esiste uno stato del prodotto (a)sincrono che renda vero P R. 3. scrivere (se possibile), anche in linguaggio naturale, una proprieta di safety/liveness violata dal prodotto (a)sincrono. 1
2 Temporal Logics 1. Dato un automa con 4 stati e transizioni: s1 s2; s2 s2; s2 s3; s3 s2; s3 s4; dire quale delle seguenti affermazioni sono vere e quali sono false. (a) La formula LTL GF ( Q) e soddisfatta da tutte le interpretazioni (b) La formula CTL EGAF ( Q) e soddisfatta da tutte le interpretazioni (c) Esiste una interpretazione LTL che soddisfa F (P Q). (d) Esiste una interpretazione CTL che soddisfa EF (P Q). (e) La formula LTL GF (Q) e soddisfatta da tutte le interpretazioni (f) La formula CTL AGEF (Q) e soddisfatta da tutte le interpretazioni (g) La formula LTL F G(P Q) e soddisfatta da tutte le interpretazioni (h) La formula CTL EF AG(P Q) e soddisfatta da tutte le interpretazioni (i) La formula LTL GF ( P Q) e soddisfatta da tutte le interpretazioni (j) La formula CTL AGAF ( P Q) e soddisfatta da tutte le interpretazioni 2. Dati i 4 stati: e l interpretazione LTL M = s1, s2, s3, s4, s3, s4, s3, s4,..., dire quale fra le seguenti formule LT L sono vere e quali sono false in M. 2
(a) (b) (c) (d) (e) GF (GP (Q XQ)) F G(P (Q XQ)) F ( P Q) GF (P XP (Q XQ)) GF ( P ) X( P ) P U(P Q) 3. stesso esercizio di prima, solo che si considera l interpretazione CTL con stato iniziale s 1 e formule ottenute dalle precedenti prenettendo A o E agli operatori modali. 4. Dati i 4 stati: e l interpretazione LTL M = s1, s2, s3, s4, s2, s3, s4, s2, s3, s4, s2,..., dire quale fra le seguenti formule LT L sono vere e quali sono false in M. (a) (b) (c) (d) (e) GF (Q XQ) F G(Q XQ) F ( P Q) GF (P XP ) GF ( P ) X( P ) F ( P U(P Q)) 5. stesso esercizio di prima, solo che si considera l interpretazione CTL con stato iniziale s 1 e formule ottenute dalle precedenti prenettendo A o E agli operatori modali. 3
3 CTL Model Checing Dati gli automi della sezione precedenti e le formule CTL considerate negli esercizi precedenti, determinare l insieme degli stati in cui valgono tali formule e le corrispondenti sottoformule. 4 Symbolic model checking Dati gli automi di Sezione 2 1. Si rappresenti simbolicamente la loro relazione di transizione 2. Viceversa, data la relazione di transizione simbolica determinata al punto precedente, si determini l automa. 3. Si rappresenti la relazione di transizione determinata come un OBDD definendo e precisando un ordinamento tra le variabili 4. Considerato un OBDD determinato al punto precedente, si determini l OBDD corrispondente ottenuto facendo la quantificazione esistenziale/universale della prima/seconda variabile nell ordinamento. 5. Si scriva la formula proposizionale (senza quantificatori) corrispondente alla pre-image o post-image dello stato s 1, s 2 dell automa considerato. Si cerchi di semplificare la formula risultante. 6. Data la rappresentazione simbolica della relazione di transizione di un automa (ad esempio, quelle degli automi considerati), determinare la formula booleana che rappresenta l insieme degli stati in cui valgono le formule CTL delle sezioni precedenti. 5 SAT based bounded model checking Dati gli automi di Sezione 2 1. Si rappresenti simbolicamente la loro relazione di transizione 2. Si scriva (se possibile) una safety property in LTL che sia falsa ad es. per k = 3 e vera per k = 2 3. Si scriva la formula proposizionale corrispondente alla verifica della safety property determinata al passo precedente per k = 3. 4
4. Si detemini un assegnamento che soddisfa la formula precedente. 5