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

Slides:



Advertisements
Presentazioni simili
Algebra Relazionale 3 Università degli Studi del Sannio
Advertisements

Definitezza Vogliamo poter richiedere la “definitezza” delle funzioni
Calcolo Relazionale.
Tipi di dato astratti Lista, Pila, Coda, Albero.
Universita di Camerino
Algebra parziale con predicati
Semantica di linguaggi di programmazione Ne esistono differenti stili a seconda di paradigma di programmazione uso (validazione, prototyping, verifica.
METODI EQUAZIONI DIFFERENZIALI Funzioni che mettono in relazione una variabile indipendente ( es. x), una sua funzione ( es. y = f(x) ) e la.
FUNZIONI DI DUE VARIABILI
Risoluzione e Programmazione Logica (Prolog)
Il ragionamento classico
Logiche temporali.
Model Checking.
Logiche temporali. Tino CortesiTecniche di Analisi di Programmi 2 Torniamo allesempio dellascensore Nellesempio dellascensore, visto nella lezione precedente,
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Condizioni ed istruzioni condizionali.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 29/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Corso di Informatica (Programmazione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Infinite-state Verification e Link con EOS Giorgio Delzanno.
Characterizing Bisimulations Categorie, processi, linguaggi: Algebra e logica al servizio dellinformatica Paolo Bottoni Anna Labella.
Istruzioni di ripetizione in Java
Qualche esempio di tableaux
Intelligenza Artificiale
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Conoscenza e ragionamento Logica dei predicati del primo ordine.
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Logica dei predicati del primo ordine.
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Italiano a cura della Prof. Pacitti Anna Italiano a cura della Prof. Pacitti Anna Progetto Lauree scientifiche a. sc. 2009/10.
Linguaggi e Modelli Computazionali LS - Prof E.Denti
VARIABILI E COSTANTI LOGICHE
Agenti logici: calcolo proposizionale Maria Simi a.a. 2008/2009.
ND-partizione (A) n   A  somma  0 M  1/2 (  a i ) for i  1 to n do S[i]  choice ({true, false}) if S[i] then somma  somma + a i if somma > M then.
Gian Luca Pozzato. AgentSpeak (L) & Jason AgentSpeak(L): linguaggio di programmazione per agenti BDI introdotto da Rao nel 1996 Si propone di colmare.
Corso di logica matematica
1 Ontology languages. Strato dei modelli LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre esprimerli in maniera esplicita,
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Automi temporizzati cooperanti (TCA) . Automi cooperanti (CA)  Un CA consiste di n automi finiti, ciascuno con insieme di stati, stato iniziale e tabella.
4/5/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof. Anna Labella.
4/21/20151 Metodi formali nel software a.a.2013/2014 Prof.Anna Labella.
Algebra di Boole.
Rappresentazione degli algoritmi
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
4/20/20151 Metodi formali dello sviluppo software a.a.2013/2014 Prof. Anna Labella.
La logica Dare un significato preciso alle affermazioni matematiche
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
GLI ETERI Sono composti in cui 2 raggruppamenti di atomi di C sono legati tra loro mediante un ponte costituito da un atomo di O: Gli eteri sono composti.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Esecuzione di un Programma [P] Una computazione corrisponde al tentativo di dimostrare, tramite la regola di risoluzione, che una formula (goal) segue.
Rappresentazione dell'informazione
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
public class volume { public static void main (String[] args) { final double bott_vol =2.0; final double latt_vol = 0.355; int bott_num = 4; int latt_num.
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
1 Vincoli ‘Programming with constraints’ Capitolo 1.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Automi temporizzati.
Agenti logici: calcolo proposizionale Maria Simi a.a. 2006/2007.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
PRIMITIVA DI UNA FUNZIONE O INTEGRALE INDEFINITO
NB: La lettura delle slide è solo un supporto allo studio che non sostituisce i testi di esame Metodi e tecniche della ricerca sociale - Prof. Flavio Ceravolo.
7/22/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof. Anna Labella.
Le funzioni.
(I) Integrale indefinito. Integrazioni immediate.
Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini III. La logica delle proposizioni.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Logica Lezione 8, DISTRIBUIRE COMPITO 1.
Transcript della presentazione:

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

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

5/6/ Binary decision diagrams

5/6/ BDD

5/6/ BDD

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

5/6/ BDD costanti variabili

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

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

5/6/ OBDD Equivalenza?

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

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

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

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

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

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

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

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

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

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

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

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

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

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à

5/6/

5/6/

5/6/

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 

5/6/ Logica temporale LTL: semantica

5/6/