Sequence Alignment Algorithms

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sequence Alignment Algorithms"

Transcript

1 Sequence Alignment Algorithms Algoritmi per l Allineamento di Sequenze Relatore: Prof. Giancarlo Mauri Correlatore: Prof. Gianluca Della Vedova Tesi di Laurea di: Mauro Baluda Matricola Part of ALiBio project

2 1 Obiettivi dello stage Scopo di questo stage è stata la realizzazione di un implementazione efficiente degli algoritmi per L Allineamento di Sequenze, un problema che riveste un grande interesse in ambito biologico essendo un metodo chiave per cercare aree importanti all interno del genoma, determinare la loro funzione e scoprirne l origine evoluzionistica. Lo stage è parte del progetto ALiBio che si propone di formire una raccolta di librerie per lo sviluppo di programmi di bioinformatica con particolare riguardo all efficenza dell implementazione. Quando ho incominciato lo stage, le strutture dati necessarie per rappresentare informazioni biologiche quali le sequenze di DNA, RNA e proteine erano già state implementate. Ho costruito le mie funzioni sulla base di queste strutture dati. 2 Allineamento di Sequenze Gli algoritmi implementati sono quelli per l allineamento globale, locale e semiglobale. Il codice prodotto segue le specifiche generali del progetto. Gli algoritmi di allineamento sono utilizzati per misurare la similitudine tra sequenze di proteine o DNA e per trovarne l allineamento migliore anche inserendo dei gaps nelle sequenze che migliorino il risultato finale. Gli algoritmi di allineamento globale cercano di far combaciare le due sequenze dall inizio alla fine ottenendo a volte allineamenti non molto convincenti tra sottosezioni delle sequenze originali, per esempio: CATTTAGATT-C X X X --GTT-GTTTAT D altro canto gli algoritmi per l allineamento locale cercano dei segmenti delle sequenze di partenza che coincidano al meglio. Utilizzando le sequenze già viste otterremmo: catttagattc gttgtttat L Allineamento semiglobale invece allinea un prefisso di una delle due sequenze con un suffisso dell altra e darebbe: CATttagattc gttgttt-at 2

3 3 Specifiche del progetto Nello sviluppo della libreria ho seguito le linee guida definite dal progetto ALiBio. Literate Programming Il primo requisito è di produrre il lavoro utilizzando uno strumento per il Literate Programming che si chiama noweb. Il Literate Programming è una metodologia di sviluppo che combina un linguaggio di programmazione con un linguaggio per la documentazione con l obiettivo di produrre lavori meglio documentati e perciò più robusti, portabili, facili da manutenere e probabilmente anche più divertenti da scrivere. L idea principale è quella di trattare un programma come un testo letterario, facile da leggere dagli uomini oltre che dai computers. Il prodotto finale è un documento ipertestuale, nello stile del World Wide Web. Linguaggi Come linguaggio per la documentazione ALiBio adotta il sistema di scrittura L A TEXche produce documentazione scientifica e matematica di grande qualità tipografica. L intero progetto è sviluppato con il linguaggio C++ che, assieme a C, è probabilmente il più usato dai programmatori di applicazioni scientifiche in tutto il mondo. Questa scelta garantisce la portabilità del codice verso tutti i compilatori che reispettino lo standard ISO e quindi la sua compatibilità con tutte le piattaforme hardware. Paradigmi di Programmazione Oltre ad utilizzare le caratteristiche del linguaggio C++ come l orientamento agli oggetti, il progetto adotta anche il concetto di Programmazione Generica come proposto dalla Standard Template Library che viene usata intensivamente in tutto il progetto. La Programmazione Generica è una tecnica che permette di implementare algoritmi in modo per quanto possibile indipendente dalle strutture dati sottostante. Questo significa che lo stesso codice sorgente può essere usato indipendentemente dal tipo di dato con il quale viene istanziato o che viene passato come parametro. Licenza Da un punto di vista legale e di distribuzione, ALiBio adotta una licenza libera che si chiama LGPL, permettendo a chiunque di accedere al codice ed alla documentazione. 3

4 4 Fasi dello sviluppo Conoscere gli strumenti di lavoro Prima di poter procedere con la fase di codifica vera e propria, ho dedicato un periodo di studio all apprendimento degli strumenti necessari per la realizzazione del progetto. Tutti i software utilizzati (noweb, L A TEX, Gnu C++ Compiler, CVS, GAWK) sono liberamente disponibili per il sistema operativo GNU/Linux, in questo modo ho avuto la possibilità di approfondire la mia conoscenza di questo sistema come piattaforma di sviluppo nonchè della suite di strumenti messi a disposizione dal progetto GNU e in particolare del programma make. Sebbene conoscessi già L A TEX, non avevo mai utilizzato il sistema noweb o più in generale il Literate Programming. Ho anche dovuto approfondire il mio livello di conoscenza del sistema di versioning CVS. Nel mio lavoro ho utilizzato alcune funzioni prese dalla Boost Library, la loro documentazione on-line è molto curata ed esaustiva. Studio ed implementazione degli algoritmi Una volta acquisiti gli strumenti necessari per la realizzazione del progetto, ho incominciato a studiare gli algoritmi che avrei dovuto implementare usando gli articoli originali scritti dai loro autori nonchè una moltitudine di altra documentazione ricavata dal World Wide Web. Nel progetto ho implementato le librerie che si occupano dell allineamento di sequenze con costo lineare ed affine per i gap, ho anche implementato una versione spazio-lineare dei medesimi algoritmi. Per ognuno dei possibili tipi di allineamento ho incluso una funzione per l allineamento globale, locale e semiglobale. Testing La fase di test ha un importanza fondamentale in questo progetto. Una volta che il codice è stato scritto, è necessario scrivere alcuni tests specifici per verificarne la correttezza. La tecnica adottata è chiamata automatic regression tests e permette di confrontare l effettivo output del test con quello atteso o con quello di versioni precedenti della funzione in esame. Sono state preparate due classi di test: uno per testare la correttezza e le funzionalità della classe score matrix e l altra per verificare l esecuzione della classe seq alignment che è quella che si occupa dell effettivo allineamento delle sequenze. Gli algoritmi sono stati implementati facendo largo uso di accessi diretti alla memoria, C++ non offre protezione automatica contro i memory leaks quindi abbiamo utilizzato uno strumento specifico chiamato Valgrind per riconoscere eventuali errori di lettura o scrittura in memoria. 4

5 Per essere certi che l algoritmo funzionasse correttamente su un grande numero di possibili inputs, abbiamo sviluppato un test randomizzato che utilizza le funzioni in esame su input casuali e ne verifica l output. Questo test ha rivelato alcuni errori nel codice che non era stato possibile notare precedentemente. La fase di test della libreria ha richiesto una quantità di lavoro notevole, paragonabile a quella dedicata all effettiva implementazione. Analisi delle performances Altri gruppi di lavoro negli scorsi anni hanno sviluppato altre librerie per risolvere il problema dell allineamento di sequenze, abbiamo pensato di confrontare i risultati e le performances della nostra implementazione con quelli di EMBOSS, uno dei pacchetti liberi più usati. Abbiamo notato che la nostra implementazione è paragonabile a quella di EMBOSS dal punto di vista dell utilizzo delle risorse della macchina tranne nel caso dell allineamento in spazio lineare che viene portato a termine da EMBOSS in un tempo significativamente minore. 5 Conclusioni Terminato il periodo di stage, gli obiettivi che ci eravamo posti sono stati raggiunti. Gli algoritmi richiesti sono stati implementati assieme alla loro documentazione come da specifiche di progetto, inoltre le performance della libreria sono in linea con quelle attese. La natura libera del progetto ALiBio è un incentivo per il suo ulteriore sviluppo, infatti i programmatori di software per la bioinformatica possono utilizzare liberamente ALiBio all interno dei loro programmi ma anche contribuire alla sua espansione ed al suo miglioramento. Possibili miglioramenti futuri Dal punto di vista delle performances è certamente possibile migliorare ancora il codice, in particolare per ridurne l utilizzo di memoria. Aggiunta di ulteriori algoritmi per l allineamento di sequenze, in particolare per la ricerca di allineamenti sub ottimali. ALiBio è un progetto rivolto agli sviluppatori per la creazione di applicazioni di bioinformatica, ad ogni modo le librerie presentate in questo lavoro potrebbero essere usate facilmente dagli utenti finali programmando un interfacca utente a linea di comando. A partire da quest interfaccia, con l aiuto di software specifici come Pise e Kaptain, sarebbe possibile sviluppare velocemente un interfaccia web ed una grafica. 5

Tesi di Laurea di Mauro Baluda matr. 038208

Tesi di Laurea di Mauro Baluda matr. 038208 Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Algoritmi per l'allineamento di Sequenze Tesi di Laurea di matr. 038208 Relatore:

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Tesi di Laurea Specialistica. Elaborazione di dati bioinformatici attraverso l uso di Particle Swarm Optimization

Tesi di Laurea Specialistica. Elaborazione di dati bioinformatici attraverso l uso di Particle Swarm Optimization Università degli Studi di Genova Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica Anno Accademico 2009/2010 Tesi di Laurea Specialistica Elaborazione di dati

Dettagli

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Gli elaboratori utilizzano memoria per Dati da elaborare Istruzioni eseguite dall elaboratore software differenti risoluzione problemi differenti Algoritmo

Dettagli

IT Rossella Masi, insegnante Relazione sulla visita d insegnamento Vienna, Austria 15.12. - 19.12.2008

IT Rossella Masi, insegnante Relazione sulla visita d insegnamento Vienna, Austria 15.12. - 19.12.2008 IT Rossella Masi, insegnante Relazione sulla visita d insegnamento Vienna, Austria 15.12. - 19.12.2008 Prima della visita Ho iniziato la preparazione della mia visita partecipando a quattro sessioni di

Dettagli

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Corso di INFORMATICA 2 (Matematica e Applicazioni) Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto

Dettagli

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

Informatica. Prof. A. Longheu. Introduzione a Java

Informatica. Prof. A. Longheu. Introduzione a Java Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su

Dettagli

Problemi, Algoritmi e Programmi

Problemi, Algoritmi e Programmi MASTER Information Technology Excellence Road (I.T.E.R.) Problemi, Algoritmi e Programmi Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Introduzione

Dettagli

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Appunti del corso di Informatica Generale 1 (IN110 Fondamenti) 1 Presentazione del corso

Appunti del corso di Informatica Generale 1 (IN110 Fondamenti) 1 Presentazione del corso Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica Generale 1 (IN110 Fondamenti) 1 Presentazione del corso Prof. Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Permutazione degli elementi di una lista

Permutazione degli elementi di una lista Permutazione degli elementi di una lista Luca Padovani padovani@sti.uniurb.it Sommario Prendiamo spunto da un esercizio non banale per fare alcune riflessioni su un approccio strutturato alla risoluzione

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Corso di Calcolo Numerico, a.a. 2010/2011 Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

Innovazione e Design educativo per la buona scuola

Innovazione e Design educativo per la buona scuola Innovazione e Design educativo per la buona scuola Convegno nazionale ANP e Fondazione Telecom Italia 6 maggio 2015, Biblioteca Nazionale Centrale, Roma L innovazione come scelta strategica. Il monitoraggio

Dettagli

Basi di dati. Basi di dati = database. Basi di dati

Basi di dati. Basi di dati = database. Basi di dati Basi di dati Da leggere: Cap. 6 Sawyer, Williams (testo A) Basi di dati = database Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi -> oggi anche

Dettagli

Analisi e sviluppo di un componente per un ESB open source

Analisi e sviluppo di un componente per un ESB open source tesi di laurea Anno Accademico 2010/2011 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Ciro Romano candidato Rosario Celotto Matr. 534/1459 Introduzione L attività svolta è stata l analisi

Dettagli

ADA. E learning e open source

ADA. E learning e open source 1 ADA. E learning e open source ADA 1.7.1 Come cresce un Ambiente Digitale per l'apprendimento open source Maurizio Graffio Mazzoneschi 2 Cos'è il software libero Libertà 0, o libertà fondamentale: la

Dettagli

Anno di corso: 2004/2005. Istruzioni. Istruzioni per lo svolgimento dei progetti didattici. versione 1.1

Anno di corso: 2004/2005. Istruzioni. Istruzioni per lo svolgimento dei progetti didattici. versione 1.1 versione 1.1 per lo svolgimento dei progetti didattici Corso di Laboratorio di Programmazione II Prof. Luca Forlizzi Anno Accademico 2004-2005 GENERALITÀ...3 Scopo del documento...3 Struttura del documento...3

Dettagli

Strumenti per lo sviluppo del software

Strumenti per lo sviluppo del software Lo sviluppo del software Strumenti per lo sviluppo del software Lo sviluppo del software è l attività centrale del progetto e ha lo scopo di produrre il codice sorgente che, una volta compilato e messo

Dettagli

Valutare e citare i documenti

Valutare e citare i documenti Valutare e citare i documenti di Stefania Fraschetta Corso di laurea Triennale in Comunicazione e Psicologia Prova finale - III modulo, 27 gennaio 2014 Sommario Cercare e valutare documenti in rete: La

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Corso di Calcolo Numerico, a.a. 2008/2009 Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico

Dettagli

Università degli studi di Messina

Università degli studi di Messina Università degli studi di Messina Facoltà di Ingegneria Corso di laurea in Ingegneria Elettronica Tesina di Sistemi di Telecomunicazione Prenotazione Esami con CSLU Speech - toolkit Docente: Prof. Salvatore

Dettagli

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

Cos è l Ingegneria del Software?

Cos è l Ingegneria del Software? Cos è l Ingegneria del Software? Corpus di metodologie e tecniche per la produzione di sistemi software. L ingegneria del software è la disciplina tecnologica e gestionale che riguarda la produzione sistematica

Dettagli

Realizzazione di un applicazione per la stesura di un Business Plan

Realizzazione di un applicazione per la stesura di un Business Plan tesi di laurea Anno Accademico 2006/2007 relatore Ch.mo prof. Porfirio Tramontana candidato Vincenzo Malzone Matr. 534/1173 Obiettivi Realizzare un applicazione desktop per la stesura di un documento di

Dettagli

Carpire il segreto della vita con l informatica Giosuè Lo Bosco Dipartimento di Matematica e Informatica, Università di Palermo, ITALY.

Carpire il segreto della vita con l informatica Giosuè Lo Bosco Dipartimento di Matematica e Informatica, Università di Palermo, ITALY. Carpire il segreto della vita con l informatica Giosuè Lo Bosco Dipartimento di Matematica e Informatica, Università di Palermo, ITALY. Lezioni Lincee Palermo, 26 Febbraio 2015 Alla base della vita degli

Dettagli

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: giammarr@mat.uniroma2.it Tutor:??? Informazioni generali

Dettagli

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT TESI DI LAUREA REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT RELATORE: Prof. Michele Moro LAUREANDO: Marco Beggio Corso di laurea Specialistica in Ingegneria

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

DOL Diploma On Line Modulo di progettazione II anno Relazione finale. Pitti Floriana Classe F7 Tutor: Giovanni Di Rosa

DOL Diploma On Line Modulo di progettazione II anno Relazione finale. Pitti Floriana Classe F7 Tutor: Giovanni Di Rosa DOL Diploma On Line Modulo di progettazione II anno Relazione finale Pitti Floriana Classe F7 Tutor: Giovanni Di Rosa Realizzazione di un full adder a due bit 08/11/2010 Premessa A causa di un mancato

Dettagli

Revisione e implementazione di algoritmi di elaborazione delle immagini

Revisione e implementazione di algoritmi di elaborazione delle immagini Stagnaro Francesca Mat. 2543707 Relazione Finale di Tirocinio: Revisione e implementazione di algoritmi di elaborazione delle immagini Svolto presso l azienda Numensoft Snc di M. Peri & Soci III Anno di

Dettagli

Manuale d'uso di FPM c. Poderico Luigi

Manuale d'uso di FPM c. Poderico Luigi Manuale d'uso di FPM c Poderico Luigi Introduzione Il presente documento fa parte della documentazione relativa al programma FPM c, nato dalla traduzione in c-ansi di un programma scritto in Fortran presso

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

corrispondente server Web (l applicazione server) viene inviata una richiesta, alla quale il server normalmente risponde inviando la pagina HTML che

corrispondente server Web (l applicazione server) viene inviata una richiesta, alla quale il server normalmente risponde inviando la pagina HTML che Prefazione In questo volume completiamo l esplorazione del linguaggio Java che abbiamo iniziato in Java Fondamenti di programmazione. I due testi fanno parte di un percorso didattico unitario, come testimoniano

Dettagli

Ideato per agevolare l analisi della profondità di carbonatazione del calcestruzzo armato, permette in modo automatico di svolgere diverse funzioni:

Ideato per agevolare l analisi della profondità di carbonatazione del calcestruzzo armato, permette in modo automatico di svolgere diverse funzioni: Il Prodotto > Software REPORT carbontest Report è il software per la valutazione della profondità di carbonatazione. Ideato per agevolare l analisi della profondità di carbonatazione del calcestruzzo armato,

Dettagli

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi : di base e applicativo L HardWare (monitor, tastiera, circuiti, stampante, ) è il nucleo fondamentale del calcolatore ma da solo non serve a nulla. Bisogna utilizzare il software per poterlo fare funzionare.

Dettagli

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale tesi di laurea inventario comunale Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo Ing. Luigi Pontillo candidato Michele Vitelli Matr. 534 2170 Redazione dell Inventario

Dettagli

RELAZIONE FINALE PROGETTO: LA STORIA OLTRE LA STORIA

RELAZIONE FINALE PROGETTO: LA STORIA OLTRE LA STORIA 1 INS. BORTOLATO GIUSEPPINA CLASSE E7 RELAZIONE FINALE PROGETTO: LA STORIA OLTRE LA STORIA Il progetto LA STORIA OLTRE LA STORIA è stato realizzato per far comprendere al bambino, che quando, ci sono modifiche

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Istituto Tecnico Industriale P. Paleocapa

Istituto Tecnico Industriale P. Paleocapa ESPERIA Istituto Tecnico Industriale P. Paleocapa Prospetto informativo per l orientamento agli studi Tecnici Superiori Per informazioni via Gavazzeni 29, Bergamo tel. 035-319388 fax 035-318741 Sito internet:

Dettagli

PIANO DI LAVORO (a.s. 2014/2015) Prof.Andrea Luppichini Prof. Marco Fiorentinini DISCIPLINA Informatica

PIANO DI LAVORO (a.s. 2014/2015) Prof.Andrea Luppichini Prof. Marco Fiorentinini DISCIPLINA Informatica Istituto Tecnico Commerciale Statale e per Geometri E. Fermi Pontedera (Pi) Via Firenze, 51 - Tel. 0587/213400 - Fax 0587/52742 http://www.itcgfermi.it E-mail: mail@itcgfermi.it PIANO DI LAVORO (a.s. 2014/2015)

Dettagli

Linux Day 2013. Perche' siamo qui???

Linux Day 2013. Perche' siamo qui??? Perche' siamo qui??? tredicesima giornata nazionale per GNU/Linux ed il software libero Quindi noi siamo qui per sostenere e diffondere il GNU/Linux e il Software Libero!!! Quindi noi siamo qui per sostenere

Dettagli

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

Dettagli

Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato

Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato tesi di laurea Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Giuseppe

Dettagli

Ingegneria del Software Requisiti e Specifiche

Ingegneria del Software Requisiti e Specifiche Ingegneria del Software Requisiti e Specifiche Obiettivi. Affrontare i primi passi della produzione del software: la definizione dei requisiti ed il progetto architetturale che porta alla definizione delle

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Uno strumento per il deployment automatico di performance test su piattaforme per la distribuzione di dati

Uno strumento per il deployment automatico di performance test su piattaforme per la distribuzione di dati tesi di laurea Anno Accademico 2006/2007 relatore Ch.mo prof. Domenico Controneo correlatore Ing. Christiancarmine Esposito candidato Antonella Niola Matr. 534/158 .:: Contesto ::. www.cosmiclab.it Il

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Introduzione al Corso di Algoritmi

Introduzione al Corso di Algoritmi Università di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Accademico 2014/15 p. 1/36 Introduzione al Corso di Algoritmi Di cosa parliamo oggi: Una discussione generale su cosa studieremo, perchè

Dettagli

Il sistema operativo TinyOS

Il sistema operativo TinyOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio

Dettagli

LA MATEMATIC A ROVESCIO CLAUDIO MARCHESANO

LA MATEMATIC A ROVESCIO CLAUDIO MARCHESANO 1 LA MATEMATIC A ROVESCIO 2 CLAUDIO MARCHESANO Per Iniziare C è sempre un modo diverso per vedere le cose 3 Cos e la flipped classroom? Inversione dei ruoli. A scuola si fanno i compiti e non solo A casa

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Laboratorio di Progettazione di Sistemi Software Introduzione

Laboratorio di Progettazione di Sistemi Software Introduzione Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Il calcolo su larga scala

Il calcolo su larga scala Il calcolo su larga scala Dall'analisi dei dati genetici all'analisi del web Luca Pireddu CRS4Distributed Computing Group October 13, 2011 luca.pireddu@crs4.it (CRS4) Il calcolo su larga scala October

Dettagli

Linux?!? A cura di: Carmine Stolfi Roberto Lacava

Linux?!? A cura di: Carmine Stolfi Roberto Lacava Linux?!? A cura di: Carmine Stolfi Roberto Lacava Panoramica su Linux Cosè Linux Perchè Linux è libero Cosè Linux? Linux è un Sistema Operativo Agisce da interfaccia tra l' uomo e la macchina fornendo

Dettagli

ShellMemory. Sistema operativo Microsoft Windows 98 o superiore Libreria SAPI e voce sintetica Casse audio

ShellMemory. Sistema operativo Microsoft Windows 98 o superiore Libreria SAPI e voce sintetica Casse audio Progetto Software to Fit - ShellMemory Pagina 1 Manuale d'uso ShellMemory Memory è un gioco didattico realizzato con l'obiettivo di aiutare l'alunno ad esercitare la capacità di memorizzazione o le capacità

Dettagli

Alla Dottoressa Francesca Sabella Ufficio IV Al Direttore ANSAS nucleo del Veneto Dottoressa A. Missana

Alla Dottoressa Francesca Sabella Ufficio IV Al Direttore ANSAS nucleo del Veneto Dottoressa A. Missana Alla Dottoressa Francesca Sabella Ufficio IV Al Direttore ANSAS nucleo del Veneto Dottoressa A. Missana Oggetto: Relazione della quarta annualità del progetto Psicologia dell'apprendimento della matematica.

Dettagli

Algoritmi. a.a. 2013/14 Classe 2: matricole dispari

Algoritmi. a.a. 2013/14 Classe 2: matricole dispari Algoritmi a.a. 2013/14 Classe 2: matricole dispari Marcella Anselmo Presentazioni Info: http://www.di.unisa.it/professori/anselmo/ Orario ricevimento: Lunedì 15-17 Giovedì 12-13 Il mio studio è il n 57

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1 Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008

Dettagli

Piacenza, 10 marzo 2014 La preparazione della tesi di Laurea Magistrale

Piacenza, 10 marzo 2014 La preparazione della tesi di Laurea Magistrale Piacenza, 0 marzo 204 La preparazione della tesi di Laurea Magistrale ma questa statistica a che cosa serve? non vedo l ora di cominciare a lavorare per la tesi. e dimenticarmi la statistica!! il mio relatore

Dettagli

Progettazione e realizzazione di una GUI multi-piattaforma per applicazioni mediche in 2D

Progettazione e realizzazione di una GUI multi-piattaforma per applicazioni mediche in 2D UNIVERSITÀ DEGLI STUDI DI BOLOGNA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell Informazione Progettazione e realizzazione di una GUI multi-piattaforma per applicazioni

Dettagli

Introduzione Surfing time,navigare nel tempo, è stato il filo conduttore che il consiglio di classe si è dato per sviluppare il progetto, come illustrato nella mappa inserita nel documento di progettazione.

Dettagli

1. Arduino va di moda.

1. Arduino va di moda. 1. Arduino va di moda. Arduino è una piattaforma hardware open source programmabile, interamente realizzata in Italia, che permette la prototipazione rapida e l'apprendimento veloce dei principi fondamentali

Dettagli

I Modelli della Ricerca Operativa

I Modelli della Ricerca Operativa Capitolo 1 I Modelli della Ricerca Operativa 1.1 L approccio modellistico Il termine modello è di solito usato per indicare una costruzione artificiale realizzata per evidenziare proprietà specifiche di

Dettagli

15 volte più veloce. per ridurre TCO e time-to-market

15 volte più veloce. per ridurre TCO e time-to-market 15 volte più veloce per ridurre TCO e time-to-market Instant Developer aumenta la produttività dei team di sviluppo riducendo il TCO e i tempi di realizzazione delle soluzioni software Instant Developer

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

In legenda sono riportate le fasi R, P, C/T e I/SA come specificato nella norma ISO/IEC 12207.

In legenda sono riportate le fasi R, P, C/T e I/SA come specificato nella norma ISO/IEC 12207. Durante le attività di sviluppo del software applicativo è spesso utilizzato un ciclo di vita incrementale il cui schema di processo è sintetizzato nella figura seguente. In legenda sono riportate le fasi

Dettagli

Laboratorio di Programmazione 2

Laboratorio di Programmazione 2 Laboratorio di Programmazione 2 Docente: Luca Forlizzi Orario: lun. 15:00-17:00, mar. 17:00-19:00, gio. 17:00-19:00 Ricevimento: lun. 17:00-18:00, mar. 16:00-17:00 Contatti: ricevimento (Coppito 2, stanza

Dettagli

ambito a. Organizzazione delle situazioni di apprendimento ho scelto di sviluppare i seguenti indicatori:

ambito a. Organizzazione delle situazioni di apprendimento ho scelto di sviluppare i seguenti indicatori: 1 INTRODUZIONE Prima di predisporre il Bilancio delle Competenze, sento la necessità di ripercorrere brevemente il mio percorso lavorativo, che non si è svolto solo in ambito scolastico. Dalla prima metà

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Mercoledì 08.30-10.30 Venerdì 08.30-10.30 Ricevimento:

Dettagli

Sistemi Informativi I Lezioni di Ingegneria del Software

Sistemi Informativi I Lezioni di Ingegneria del Software 4 Codifica, Test e Collaudo. Al termine della fase di progettazione, a volte anche in parallelo, si passa alla fase di codifica e successivamente alla fase di test e collaudo. In questa parte viene approfondita

Dettagli

Informatica e biotecnologie II parte

Informatica e biotecnologie II parte Informatica e biotecnologie II parte Analisi di sequenze: allineamenti CGCTTCGGACGAAATCGCATCAGCATACGATCGCATGCCGGGCGGGATAAC CGAAATCGCATCAGCATACGATCGCATGC Bioinformatica La Bioinformatica è una disciplina

Dettagli

Relazione finale sul Progetto IL CORPO UMANO

Relazione finale sul Progetto IL CORPO UMANO Diploma On Line secondo anno 2006/07 Relazione finale sul Progetto IL CORPO UMANO Corsista: Orazio Rapisarda classe C1 Il progetto scaturisce dall opportunità di lavorare con un gruppo di alunni che avevano

Dettagli

capitolo 4 L ORGANIZZAZIONE DELLA VALUTV ALUTAZIONEAZIONE

capitolo 4 L ORGANIZZAZIONE DELLA VALUTV ALUTAZIONEAZIONE capitolo 4 L ORGANIZZAZIONE DELLA VALUTV ALUTAZIONEAZIONE 4.1 DESCRIZIONE SINTETICA DELLA STRUTTURA ORGANIZZATIVA Gli strumenti e le procedure di valutazione e certificazione di qualità delineate nel

Dettagli

Corrispondenza tra gli insegnamenti: ORDINAMENTO (DM 509) NUOVO ORDINAMENTO (DM 270)

Corrispondenza tra gli insegnamenti: ORDINAMENTO (DM 509) NUOVO ORDINAMENTO (DM 270) Corrispondenza tra gli insegnamenti: ORDINAMENTO (DM 509) NUOVO ORDINAMENTO (DM 270) Questo documento è indirizzato agli studenti che intendono optare per i corsi di laurea del nuovo ordinamento DM 270/04,

Dettagli

IL FAI DA TE NEL SOFTWARE DIDATTICO

IL FAI DA TE NEL SOFTWARE DIDATTICO IL FAI DA TE NEL SOFTWARE DIDATTICO La realizzazione delle tastiere virtuali didattiche - 3 a parte Prosegue l articolo in cui l autore chiarisce che l individuazione o l impostazione della struttura logica

Dettagli

Tecniche di Clustering basate sul Machine Learning

Tecniche di Clustering basate sul Machine Learning UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II Scuola Politecnica e delle Scienze di base Area didattica Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tecniche di Clustering basate

Dettagli

Crittografia. Appunti a cura del prof. Ing. Mario Catalano

Crittografia. Appunti a cura del prof. Ing. Mario Catalano Crittografia Appunti a cura del prof. Ing. Mario Catalano La crittografia La crittografia è la scienza che studia la scrittura e la lettura di messaggi in codice. Solitamente, i meccanismi crittografici

Dettagli

Università degli Studi di Salerno GPS: Gestione Progetti Software. Project Proposal Versione 1.1

Università degli Studi di Salerno GPS: Gestione Progetti Software. Project Proposal Versione 1.1 Università degli Studi di Salerno GPS: Gestione Progetti Software Project Proposal Versione 1.1 Data 27/03/2009 Project Manager: D Amato Angelo 0521000698 Partecipanti: Nome Andrea Cesaro Giuseppe Russo

Dettagli

PAES. Laurea Specialistica in Informatica. Analisi e sviluppo di un implementazione parallela dell AES per. architetture eterogenee multi/many-core

PAES. Laurea Specialistica in Informatica. Analisi e sviluppo di un implementazione parallela dell AES per. architetture eterogenee multi/many-core PAES Analisi e sviluppo di un implementazione parallela dell AES per architetture eterogenee multi/many-core Candidato Paolo Bernardi Relatore Osvaldo Gervasi Laurea Specialistica in Informatica Contesto

Dettagli

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di

Dettagli

Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa. La mia scuola ha un sito Web

Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa. La mia scuola ha un sito Web Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web Presentazione del corso Contenuti e obiettivi del corso Imparare a lavorare con le metodologie dell ingegneria del

Dettagli

Project Planning. Politecnico di Milano. Progetto di Ingegneria del Software 2. 15 novembre 2011. Elisabetta Di Nitto Raffaela Mirandola

Project Planning. Politecnico di Milano. Progetto di Ingegneria del Software 2. 15 novembre 2011. Elisabetta Di Nitto Raffaela Mirandola Politecnico di Milano Progetto di Ingegneria del Software 2 Project Planning Autori: Claudia Foglieni Giovanni Matteo Fumarola Massimo Maggi Professori: Elisabetta Di Nitto Raffaela Mirandola 15 novembre

Dettagli

Anno Scolastico: 2014/2015. Indirizzo: Sistemi informativi aziendali. Classe: terza. Disciplina: Informatica. prof. Silvia Tondo

Anno Scolastico: 2014/2015. Indirizzo: Sistemi informativi aziendali. Classe: terza. Disciplina: Informatica. prof. Silvia Tondo Istituto Tecnico Internazionale Economico E. Tosi Anno Scolastico: 2014/2015 Indirizzo: Sistemi informativi aziendali Classe: terza Disciplina: Informatica prof. Silvia Tondo Competenze disciplinari: 1.

Dettagli

La specifica del problema

La specifica del problema 2.9 (Caso di studio facoltativo) Pensare a oggetti: esame del problema Iniziamo ora a esaminare il nostro caso di studio di progettazione e implementazione orientate agli oggetti. Le sezioni Pensare a

Dettagli

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale La Sicurezza Funzionale del Software Prof. Riccardo Sisto Ordinario di Sistemi di Elaborazione delle Informazioni Dipartimento di Automatica e Informatica Sicurezza Funzionale del Vari Aspetti Sicurezza

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli