La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

5/6/20151 Metodi formali dello sviluppo software a.a.2013/2014 Prof. Anna Labella.

Presentazioni simili


Presentazione sul tema: "5/6/20151 Metodi formali dello sviluppo software a.a.2013/2014 Prof. Anna Labella."— Transcript della presentazione:

1 5/6/20151 Metodi formali dello sviluppo software a.a.2013/2014 Prof. Anna Labella

2 5/6/ OBDD [H-R cap.6] Rappresentare le funzioni booleane

3 5/6/ Binary decision diagrams

4 5/6/ BDD

5 5/6/ BDD

6 5/6/ BDD Rimuovere i terminali duplicati Rimuovere i test ridondanti Rimuovere i non terminali duplicati

7 5/6/ BDD costanti variabili

8 5/6/ BDD Si possono sostituire terminali con non terminali e comporre funzioni ad es. nella congiunzione si sostituisce 1 con il BDD dell’altra funzione nella disgiunzione si sostituisce 0 con il BDD dell’altra funzione nella negazione si scambiano 1 e 0

9 5/6/ BDD Soddisfacibilità: si raggiunge 1 attraverso un cammino coerente Validità: non si raggiunge 0 attraverso un cammino coerente

10 5/6/ OBDD Equivalenza?

11 5/6/ OBDD Forma normale: ordinare e poi ridurre Il risultato è unico

12 5/6/ OBDD Un esempio: la funzione parità su 4 variabili

13 5/6/ OBDD: l’algoritmo “reduce” Identifica nodi uguali partendo dal basso

14 5/6/ OBDD: l’algoritmo “apply” Implementa operazioni

15 5/6/ OBDD: l’algoritmo “restrict” Da f a f[0/x]

16 5/6/ OBDD: l’algoritmo “exists”  f = f[0/x] + f[1/x]  f = f[0/x]. f[1/x]

17 5/6/ Specifica e logica Specifica derivata dalle proprietà del sistema Specifica derivata da un modello del sistema Sintassi Semantica

18 5/6/ Model Checking automatico Basato su un modello costruito col model checking Verifica di soddisfacibilità di proprietà A posteriori Sistemi concorrenti Sistemi reattivi Aspetti temporali

19 State machines: Alloy 5/6/ automatico Basato su un modello Verifica di proprietà Costruisce un contromodello Stati finiti statico

20 5/6/ Logica temporale [H-R cap.3] a è una costante di tipo tempo Se c’è richiesta di stampare un file, prima o poi il file sarà stampato

21 5/6/ Logica temporale Si preferiscono operatori modali distinguendo i riferimenti temporali da quelli di dominio

22 5/6/ Logica temporale: sintassi  ::=T |  | p | (  ) | (  ) | (  ) | (  ) | (X  ) | (F  ) | (G  ) | (  U  ) | (  W  ) F “prima o poi” G “sempre” U “finché” W “finché eventualmente”

23 5/6/ Logica temporale LTL Tempo lineare/ ramificato Tempo discreto

24 5/6/ Logica temporale LTL: LTS L ‘i nterpretazione è data su un sistema di transizione M= (S, , L) S è un insieme di stati (nodi)  una relazione di accessibilità L un’etichettatura dei nodi con formule atomiche Proprietà della relazione di accessibilità

25 5/6/

26 5/6/

27 5/6/

28 5/6/ Logica temporale LTL: semantica Soddisfacibilità: Un cammino è una successione infinita di stati in relazione consecutiva M,s |=  se ogni cammino che parte da s soddisfa 

29 5/6/ Logica temporale LTL: semantica

30 5/6/


Scaricare ppt "5/6/20151 Metodi formali dello sviluppo software a.a.2013/2014 Prof. Anna Labella."

Presentazioni simili


Annunci Google