La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

7/22/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof. Anna Labella.

Presentazioni simili


Presentazione sul tema: "7/22/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof. Anna Labella."— Transcript della presentazione:

1 7/22/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof. Anna Labella

2 Correttezza  |-   M |=  Completezza M |=    |-  Indecidibilità Compattezza Espressività 7/22/ Proprietà

3 Teorema  è coerente sse ogni suo s.i. finito è coerente Se  |= , allora  |- , ma questo significa che esiste un s.i. finito  t.c. allora  |- , cioè  |=  7/22/ Compattezza

4 Se per  c’è un modello per ogni cardinalità finita, allora ce n’è uno con cardinalità infinita Descriviamo le cardinalità finite: se sono tutte coerenti con , allora c’un modello che le soddisfa tutte e, dunque è infinito 7/22/ Löwenheim-Skolem

5 7/22/ Espressività Good news SQL queries su basi di dati relazionali Xqueris su cocumenti XML

6 7/22/ Espressività

7 7/22/ Espressività Bad news: La raggiungibilità nei grafi diretti è decidibile? Teorema. No: è esprimibile attraverso una formula φ? Per il teorema di compattezza, date definiamo Soddisfacibile o insoddisfacibile? Abbiamo bisogno di un linguaggio esistenziale del secondo ordine

8 Micromodelli del software Model checking M |=  Conseguenza logica  |=  7/22/2015 8

9 Conseguenza logica  |=   è un insieme di richieste per il nostro software  una proprietà  |=  : ogni modello di  soddisfa  bello, ma indecidibile 7/22/2015 9

10 Model checking M |=  Si costruisce un modello M secondo le richieste e si verifica  Decidibile, ma si rischia di superspecificare senza saperlo 7/22/

11 State machines 1 un tool: Alloy 7/22/

12 State machines 2 Esempio: F ={i} (stato iniziale) P = {R,F} (raggiungibilità, essere finale) A dominio di interpretazione (stati) 7/22/

13 State machines 3 Esempi di proprietà:  y R(i, y) (raggiungibilità)  F(i) (l’iniziale non è finale)  x  y  z (R(x, y)  R(x, z)  y=z) (determinismo)  x  y R(x, y) (assenza di deadlock) 7/22/

14 State machines 4 7/22/

15 State machines 5 7/22/

16 Semantica 7/22/

17 Semantica 7/22/

18 un tool: Alloy 7/22/ Uso della logica predicativa e della teoria degli insiemi

19 Alloy: costruzione di un controesempio 7/22/

20 Alloy: costruzione di un modello 7/22/


Scaricare ppt "7/22/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof. Anna Labella."

Presentazioni simili


Annunci Google