Questo sito utilizza cookie di terze parti per inviarti pubblicità in linea con le tue preferenze. Se vuoi saperne di più clicca QUI 
Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie. OK

Studio e proposta di utlizzo della struttura dati OBDD in alcuni ambiti dell'Informatica

La tesi ha l'obiettivo di studiare e descrivere l'utilizzo della struttura dati BDD (diagrammi binari di decisione) in vari ambiti dell'informatica e di proporre un nuovo strumento di calcolo e visualizzazione di BDD, concepito ad hoc per la ricerca informatica.
Viene dapprima fornita un'introduzione all'argomento con l'esposizione delle caratteristiche principali dei BDD e si confronta l'efficacia di questi ultimi con altre modalità di rappresentazione di formule booleane; vengono quindi descritti gli algoritmi che consentono di ridurre il peso computazionale dei BDD ordinati (OBDD) e di effettuare efficacemente operazioni tra di essi.
Successivamente si esplora il concetto generale di sintesi di circuiti, un insieme di processi di design che fa ampio uso della struttura dati BDD: in particolare, i suoi ambiti principali vengono esaminati separatamente e per ognuno di essi vengono forniti esempi, tratti da articoli scientifici, che dimostrano la possibilità di utilizzare i BDD con successo nel loro caso specifico (ad esempio, nella riduzione del consumo di potenza o nella mappatura tecnologica).
Viene poi fornita una panoramica sulla verifica formale, con speciale riguardo ad una delle sue applicazioni più famose denominata model checking, un metodo automatico di verifica di modelli spesso basato sulla logica temporale. Anche in questo caso si riportano alcuni esempi che dimostrano come le proprietà dei BDD possano recare beneficio alle applicazioni del model checking simbolico; a tal proposito, si fornisce una breve descrizione del comportamento del model checker NuSMV. A corredo, si accenna alla verifica di programmi, campo più specifico nel quale i BDD rivestono un ruolo importante in alcuni particolari processi di analisi, come l'analisi points-to.
In seguito, il discorso verte su settori dell'informatica di vario tipo (bioinformatica, sicurezza nei sistemi, sistemi multi-agente e elaborazione di immagini), nei quali l'utilizzo dei BDD non ricopre un'ampia sfera del loro ambito applicativo, ma assume notevole importanza nel caso di esempi particolarmente interessanti quali le reti di Kauffman e le immagini binarie.
In conclusione, dagli esempi studiati nel corso del tirocinio, si deduce la necessità di avere a disposizione uno strumento di carattere generale che consenta di effettuare operazioni di calcolo tra BDD e di visualizzarne una rappresentazione grafica, strumento che, a oggi, non esiste (esistono invece tool specifici per determinati ambiti, alcuni dei quali sono citati nel lavoro di tesi). La proposta si basa su una presentazione teorica del funzionamento di un tool interamente basato sul concetto di BDD, integrabile in ogni processo che richieda l'utilizzo dei diagrammi binari e slegato dalle implementazioni restrittive tipiche della sintesi logica e della verifica formale.

Mostra/Nascondi contenuto.
Capitolo 1 Introduzione I diagrammi binari di decisione (BDD) sono una struttura dati derivata da- gli alberi binari di decisione (BDT) che consente di rappresentare in modo compatto ed efficiente le funzioni booleane. Lo studio e l’impiego di tali fun- zioni costituiscono una parte importante dell’Informatica, poiche´ molti dei problemi legati alla realizzazione ed alla verifica di sistemi digitali possono essere espressi sotto forma di funzioni booleane. Negli ultimi anni, il grado di sviluppo raggiunto nella sintesi di circuiti di- gitali e nei processi di verifica formale ha favorito la nascita di un gran numero di sistemi automatizzati atti allo svolgimento di tali operazioni. L’efficienza di questi sistemi dipende proprio dalle modalita` con le quali essi agiscono sulle funzioni booleane, soprattutto in termini di: • applicazione di operazioni logiche (come AND, OR e NOT) tra funzioni; • verifica della soddisfacibilita` di una data funzione; • assegnamento di valori alle variabili di input, tale che il valore finale della funzione sia 1. Tutti questi compiti sono caratterizzati da un tempo d’esecuzione e da un dispendio di risorse non trascurabili. A tal proposito, esistono diversi metodi per la rappresentazione di funzioni booleane: le tavole di verita`, gli albe- ri sintattici e la logica a due livelli (specialmente nella forma di somma di prodotti) sono alcuni tra i piu` comuni, ma offrono una rappresentazione che 11

Laurea liv.I

Facoltà: Scienze Matematiche, Fisiche e Naturali

Autore: Gabriele Toninelli Contatta »

Composta da 103 pagine.

 

Questa tesi ha raggiunto 519 click dal 04/01/2011.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.