Corso di Progetto di compilatori ed interpreti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Progetto di compilatori ed interpreti"

Transcript

1 Corso di Progetto di compilatori ed interpreti Corso di Laurea Specialistica in Ingegneria Informatica A.A Requisiti preliminari e obiettivi Requisiti preliminari Conoscenza dei linguaggi di programmazione Conoscenza dei paradigmi di programmazione Conoscenza delle diverse modalita di allocazione della memoria Capacita di sviluppare applicazioni software anche complesse Conoscenza delle principali strutture dati e degli algoritmi per la loro gestione Obiettivi Tecniche di traduzione per i moderni linguaggi di programmazione sia di tipo general purpose che linguaggi per applicazioni specifiche

2 Scheduling Orario delle lezioni Martedì aula CC Giovedi 8-11 aula P5 Chiarimenti e informazioni Orario ricevimento Mercoledì dalle 11 alle 12 Venerdì dalle 10 alle 11 Course Outline Tecniche di implementazione dei linguaggi Traduttori, compilatori e interpreti Struttura di un compilatore Analisi lessicale (scanning) Grammatiche regolari Implementazione di scanner Analisi sintattica (parsing) Context Free Grammars Top-Down Parsing, LL Parsing Bottom-Up Parsing, LR Parsing Analisi Semantica (Contextsensitive Analysis) Syntax-Directed Translation Attribute Definitions Evaluation of Attribute Definitions Rappresentazone intermedia Generazione del codice Tecniche di ottimizzazione del codice Program Representation Dataflow Analysis Static Single Assignment Global Optimization Register Allocation Scheduling Interprocedural Analysis Optimizing Object-Oriented Languages (Alias analysis) Garbace collection Data Dependence Analysis Loop Transformations Scalar Compilers in Practice

3 Modalita di esami Modalità esami elaborato gruppi di 2 4 persone esame orale Prova in itinere Durante il corso sarà svolta una prova in itinere Materiale didattico R. Sebesta "Concept of Programming Language", The Benjamin Cummings Company, Inc. Fischer, Le Blanch, "Crafting a compiler", The Benjamin Cummings Company, Inc Steven Muchnick, Advanced Compiler Design Implementation, Morgan Kaufmann. Robert Morgan, Building an Optimizing Compiler, Digital Press. altro..

4 Perche studiare i compilatori? I compilatori forniscono una interfaccia essenziale fra applicazioni e architettura I compilatori inglobano una vasta gamma di tecniche basate su aspetti teorici ampiamente utilizzati Lo sviluppo dei compilatori consente di acquisire una maggiore abilità nello sviluppo del software Obiettivi dell implementazione di un linguaggio Correttezza Efficenza Time, data space, code space At compile & run-time Supporta l espressività del linguaggio Supporta caratteristiche dell ambiente di programmazione Fast turnaround time Separate compilation Source level debugging

5 Linguaggi intepretati vs. compilati C, C++, Fortran Di norma compilari Lisp, Haskell, PHP, Python Di norma interpretato Perchè? Tecniche di implementazione di un linguaggio Interprete Easy to implement Built-in run-time support Slow Compilatori Significant implementation effort Requires run-time support (e.g., garbage collector) Fast, optimized target code Hybrid Esempi: bytecode interpreters for Perl, Java

6 Compilatore vs. interprete programma sorgente Compilatore dati Programma oggetto errori risultati programma sorgente dati Interprete risultati errori Interpreti È possibile eseguire modifiche ed aggiunte al codice durante l esecuzione, ciò consente un debug interattivo. Tale modifiche possono essere gestite agevolmente se il linguaggio non gestisce blocchi strutturati il tipo di una variabile può variare durante l esecuzione dato che il programma utente e continuamente riesaminato durante l esecuzione migliore diagnostica degli errori indipendenza dalla macchina Sorgente meno compatto generano un grande overhaed: 10-1 linguaggi statici 100-1linguaggi dinamici ogni riferimento ad una variabile richiede un riesame del codice tutte le routine di supporto devono essere costantemente disponibili

7 Cosè un compilatore E un programma che legge una frase di un linguaggio e la traduce in un altro linguaggio Linguaggio sorgente Di norma un programma scritto in un linguaggio di alto livello Compilatore Linguaggio oggetto Di norma il programma equivalente scritto linguaggio macchina (machine code relocatable object file) errori Cosè un compilatore Traduttori di linguaggi di programmazione in linguaggio macchina convertitori di formato silicon compiler

8 Ruolo dei Compilatori Linguaggi di programmazione ad alto livello Incremento la produttività dei programmatori Facilità di maintenance del codice Maggiore portabilità del codice Dettagli dei linguaggi di basso livello Scelta delle istruzioni Metodi di ndirizzamento Pipelines Uso della cache Parallelismo a livello di istruzione I compilatori sono necessari per coprire il gap tra i linguaggi high-level e low-level I calcolatori continuano a cambiare da quando sono stati inventati Cambi nell architettura cambi nei compilatori Nuove caratteristiche significa nuovi problemi Modifiche nei costi Necessità di re-engineer di soluzioni conosciute Significative differenze nelle performance

9 Il progetto di compilatori investe numerosi settori della computer science All interno di un compilatore intervengono tutte queste componenti. Inteligenza artificiale Algoritmi Teoria Sistemi Architetture greedy algorithms learning algorithms graph algorithms Union-find network flows dynamic programming dfas for scanning parser generators lattice theory for analysis allocation and naming locality synchronization pipeline management memory hierarchy management instruction set use Progetto di Compilatori I compilatori sono pezzi di software di grandi dimenzioni ed enormemente complessi Lo sviluppo di compilatori richiede conoscenze su programming tools (compilers, debuggers) program generation tools (flex yacc bison) software libraries (sets collections) simulators (spim) La conoscenza della struttura di un compilatore migliora le qualita del progetista del software

10 Cosa richiedere ad un compilatore? Codice corretto Il codice prodotto sia efficiente (output runs fast) Il compilatore sia efficiente (Compiler runs fast) Il tempo di compilazione sia proporzionale alla dimenzione del codice Compilazione separata Accurata diagnosi degli errori sintattici Funzioni adeguatamente con il debugger Accurata diagnosi delle anomalie Cross language calls Ottimizzazione predicibile Altre applicazioni Le tecniche utilizzate per lo sviluppo dei compilatori travano impiego in numerosi problemi della computer science. Le techniche usate in un lexical analyzer possono essere utilizzate in un editor di test(text editors), sistemi di information retrieval, e programma di pattern recognition. Le techniche usate in un parser possono essere utilizzate in sistema di query processing come SQL. Molti software che hanno un front-end complesso possono utilzzare techniche utilizzate nel progetto dei compilatori Un risolutore simbolico di equazioni che prende una equazione in ingresso e esegue il parsing di tale equazione Natural Language Processing (NLP)

11 Struttura di un compilatore Ci sono due fasi fondamentali in un compilatore: Analisi e Sintesi Nella fase di analisi, una rappresentazione intermedia viene creata dal programma sorgente Analizzatore lessicale, Analizzatore Sintattico e Analizzatore Semanticosonopartidi questafase Nella fase di sintesi, il programma target equivalente viene creato dalla rappresentazione intermedia Generatore di codice intermedio, Generatore di Codice e Ottimizzatore sono parti di questa fase Fasi di un compilatore Source Program Lexical Analyzer Syntax Semantic Analyzer Analyzer Intermediate Code Code Generator Optimizer Code Generator Target Program Ogni fase trasforma il prgramma sorgente da una rappresentazione in un altra Durante queste fasi vengono utilizzate Error handlers. Symbol table.

12 Funzionalità di un compilatore Analisi lessicale (scanner) trasforma il codice sorgente in una forma compatta e uniforme (tokens=elementi lessicali) elimina informazioni non necessarie presenti nel codice sorgente (commenti) processa le direttive di compilazione (include, define, etc) scopre eventuali errori nel lessico le espressioni regolari è la notazione che in modo efficace consente di descrivere i tokens Analisi lessicale Un analizzatore lessicale legge il programma sorgente carattere per carattere e ritorna tokens del programma sorgente. Un token descrive un insieme di caratteri che hanno lo stesso significato (come identificatore, operatori, keywords, numeri, delimitatori etc) newval := oldval + 12 => tokens: newval identifier := assignment operator oldval identifier + add operator 12 a number Le informazioni sugli identificatori sono memorizzate nella tabella dei simboli (symbol table).

13 Analisi lessicale Le espressioni regolari sono utilizzate per descrivere I token Un Automa a Stati Finiti Deterministico (Deterministic Finite State Automaton, Deterministic FSA) può essere utilizzato per implementare una analizzatore lessicale Funzionalità di un compilatore Analisi sintattica (parser) cerca errori sintattici si raggruppano i tokens in frasi grammaticali Un Analizzatore Sintattico crea la struttura sintattica (generalmente sotto forma di un albero chiamato parse tree) di un dato programma

14 Syntax Analyzer Un analizzatore sintattico è anche chiamato parser. Un parse tree descrive la struttura sintattica. assgstmt identifier := expression In un parse tree, tutti I terminali sono foglie Tutti gli altri nodi sono non terminali newval expression + expression identifier number oldval 12 Syntax Analyzer (CFG) La sintassi di un linguaggio è specificata per mezzo di una grammatica non contestuale (context free grammar CFG). Le regole di una CFG sono ricorsive Un analizzatore sintattico verifica se un dato programma sodisfa le regole derivate dall CFG o no Se le regole sono soddisfatte l analizzatore sintattico crea un parse tree per il programma dato

15 Syntax Analyzer (CFG) Spesso per specificare una CFG viene utilizzata una BNF (Backus Naur Form) assgstmt -> identifier := expression expression -> identifier expression -> number expression -> expression + expression Syntax Analyzer versus Lexical Analyzer Quali costrutti di un programma devono essere riconosciuti da un the lexical analyzer, e quali da un syntax analyzer? Ambedue fanno le stesse cose; ma il lexical analyzer tratta solo I costrutti del linguaggio non-recursivi. Il syntax analyzer tratta I costrutti del linguaggio recursivi Il lexical analyzer semplifica il lavoro del syntax analyzer. Il lexical analyzer riconosce I componenti più piccoli (tokens) del programma sorgente. Il syntax analyzer lavora sui tokens riconoscendo le strutture del linguaggio

16 Tecniche di Parsing In relazione a come viene creato il parse tree ci sono differenti tecniche che possono essere divise in due gruppi: Top-Down Parsing, Bottom-Up Parsing Top-Down Parsing: La costruzione del parse tree inizia dalla radice e procede verso le foglie. Efficienti parser top-down possono facilmente essere costruiti a mano. Recursive Predictive Parsing, Non-Recursive Predictive Parsing (LL Parsing). Bottom-Up Parsing: La costruzione del parse tree inizia dallefogliee procedeverso la radice. Di norma efficienti parser bottom-up parsers sono creati con l ausilio di tool software I parser Bottom-up è anche conosciuto con il nome di shift-reduce parsing. Operator-Precedence Parsing facili da implementare LR Parsing molte forme di shift-reduce parsing, LR, SLR, LALR Funzionalità di un compilatore Analisi semantica cerca errori semantici informazioni sui tipi - type checking Ottimizzazione cerca di migliorare il codice per limitare il tempo di esecuzione e la memoria necessaria (questa fase può essere molto complessa) Generazione del codice

17 Analizzatore Semantico Un semantic analyzer cerca nel programma sorgente errori semantici e raccoglie informazioni necessarie per la generazione del codice Type-checking è un importante parte dell analisi semantica Di norma le informazioni semantiche non possono essere rappresentate con un context-free language Context-free grammars sono integrate con attributi (regole semantiche) Il risultato e una traduzione syntax-directed, Grammatiche ad attributi Esempio: newval := oldval + 12 Il tipo dell identificatore newval deve corrispondere (match) con il tipo dell espressione (oldval+12) Generazione di codice intermedio Un compilatore può produrre una rappresentazione intermedia esplicita del codice intermedio. Questo codice intermedio e generalmente indipendente dall architecture. Il livello del codice intermedio è generalmente vicino a quello del codice macchina. Esempio: newval := oldval * fact + 1 id1 := id2 * id3 + 1 MULT ADD MOV id2,id3,temp1 temp1,#1,temp2 temp2,,id1

18 Ottimizzatore di codice (per codice intermedio) Ottimizzatore di codice ottimizza il codice intermedio in termini di tempo e spazio Esempio: MULT id2,id3,temp1 ADD temp1,#1,id1 Generatore di codice Produce il linguaggio target per una specifica architettura IL programma target è normalmente un codice oggetto rilocabile contenente codice macchina. Esempio: ( simpponendo che noi abbiamo un architettura per cui al più un operando è un registro) MOVE MULT ADD MOVE id2,r1 id3,r1 #1,R1 R1,id1

19 Classificazione dei compilatori Numero di passi compilatori a singolo passo - compilatori a più passi con numero di passi si intende il numero di volte che viene letto il codice sorgente durante la compilazione Ottimizzazione nessuna ottimizzazione ottimizzazione in spazio ottimizzazione in tempo Classificazione dei compilatori: Linguaggio oggetto prodotto pure machine code i compilatori generano codice per un particolare set di istruzioni macchina non assumendo l esistenza di alcun sistema operativo o libreria di funzioni questo approccio è raro ed è utilizzato per compilatori di linguaggi per l implementazione di sistemi augmented machine code i compilatori generano codice per un particolare set di istruzioni macchina arricchito con routine di sistema operativo o di supporto. Per eseguire un tale codice oggetto sulla macchina devono esistere un sistema operativo e una collezione di routine di supporto (I/O, allocazione di memoria) che vanno lincate al codice oggetto il grado di corrispondenza fra codice virtuale e hardware può variare moltissimo

20 Classificazione dei compilatori: Linguaggio oggetto prodotto Virtual machine code i compilatori generano codice composto esclusivamente da codice virtuale. Questo approccio è attraente perché permette di generare codice eseguibile indipendente dall hardware questo approccio penalizza la velocità di esecuzione Struttura di un compilatore: singolo passo analizzatore lessicale generatore del codice analizzatore sintattico - semantico

21 Struttura di un compilatore: due passi Front-end Back-end Linguaggio sorgente Linguaggio intermedio Linguaggio oggetto Front-end O(n) o O(nlogn) errori Back-end NPC Compilazione a due passi Front end : dipendenza da linguaggio sorgente - indip. da macchina (analisi e generazione codice intermedio...) Back end : indipendenza da linguaggio sorgente - dip. da macchina (ottimiz. e generazione codice) Front e back end si possono riutilizzare separatamente per nuovi compilatori Passate una singola passata può bastare per più fasi (interfogliate durante la passata) (es: analisi e generazione codice intermedio in una sola passata "guidata" da analiz. sintattico) Ridurre il numero di passate diminuisce tempo - aumenta memoria richiesta tecnica del backpatching per raggruppare generazione di codice intermedio e oggettosi lasciano "vuoti" gli indirizzi non deducibili una lista collega tutti i "buchi" relativi alla stessa entry nella symbol table i "buchi" si riempiono quando si arriva ad avere le informazioni necessarie

22 Struttura di un compilatore: due passi Linguaggio intermedio di alto livello: gli operatori del linguaggio sorgente sono ancora presenti nel linguaggio Linguaggio intermedio di basso livello: gli operatori sorgenti sono tradotti in altri più semplici o specializzati if cond then ramo1 else ramo2 Ifop cond ramo1 ramo2 Jump iffalse cond etich2 ramo1 jump etich_uscita etich2: ramo2 etich_uscita Implicazione della compilazione a due passi Utilizzo di una rappresentazione intermedia (IL = intermediate language) il front-end traduce il codice corretto in IL il back-and traduce il codice in formato IL nel target code rende più semplice la costruzione di un compilatore per un nuovo processore (retargeting) consente di progettare compilatori con multipli front-end

23 Struttura di un compilatore: due passi Codice PASCAL Codice PASCAL Codice PASCAL Codice PASCAL Front-end Compilatore per PASCAL per il processore Back-end P1per PASCAL processore P1 Compilatore PASCAL per il processore P2 Front-end per PASCAL Front-end Compilatore per PASCAL per il processore Back-end P3 per PASCAL processore P3 Compilatore PASCAL per il processore P4 Front-end per PASCAL Back-end per processore P2 Back-end per processore P4 Oggetto per P1 Oggetto per P2 Oggetto per P3 Oggetto per P4 Struttura di un compilatore: due passi Codice PASCAL Codice C Front-end per PASCAL Front-end per C Back-end per processore P1 Back-end per processore P2 Codice ADA Front-end per ADA Back-end per processore P3 3 front-end + 4 back-end = 12 compilatori Back-end per processore P4

24 Struttura di un compilatore: un compilatore a sei passi Codice sorgente ANALISI LESSICALE L1 ANALISI SINTATTICA L2 L4 ANALISI DELLE DICHIARAZIONI L3 ANALISI DEI NOMI ANALISI DEI CORPI L5 SELEZIONE DEI CODICI OPER. L7 Codice oggetto ASSEMBLAGGIO CODICE Analisi lessicale: elimina spazi, commenti e transcodifica gli identificatori in interi Analisi sintattica: esegue una analisi sintattica e produce una rappresentazione intermedia tramite un albero sintattico linearizzato nella postfissa Analisi dei nomi: sostituisce alla codifica dei nomi un preciso riferimento alla dichiarazione dello stesso risolvendo le omonimie Analisi delle dichiarazioni: assegna un indirizzo virtuale ad ogni variabile e analizza le strutture dati. Le informazioni raccolte sono distribuite nel testo e non raccolte in apposite tabelle dei simboli Analisi dei corpi: verifica la compatibilità dei tipi degli operandi, degli operatori e specifica ulteriormente la codifica degli operatori Selezione dei codici operativi: calcola l occupazione di memoria per le istruzioni generate da un blocco e raccoglie le etichette in una tabella con accanto gli indirizzi

25 Scanner Parser Symbol Table Semantic checker Intermediate code generator Error Handler Optimizer Code generator Optimizer

26 Tool per il progetto di compilatori tool di software development general- purpose + tool specializzati Tool per il progetto automatico di parti di compilatori parser generators: producono analizzatori sintattici scanner generators: producono analizzatori lessicali syntax- directed translator engines: producono collezioni di routine che visitanoil parse tree e generano il codice intermedio ogni nodo una o più traduzioni... automatic code generators: prendono regole per tradurre da ling. intermedio in ling. Macchina soluzioni alternative gestite con "template matching data-flow engines: analisi data- flow per ottimizzare il codice fornisce info su come si propagano i dati da una parte all'altra del programma - intervento dell'utente Formalismi di interesse Analisi lessicale Regular Grammars Finite State Automata Regular Expressions Analisi sintattica Grammatiche non contestuali (Context-Free Grammars CFGs) Generalmente i parser CFG hanno una complessita O(n 3 ) Non ogni elemento linguistico in un linguaggio di programmazione puo essere trattato come grammatica non contestuale

27 Formalismi di interesse Analisi semantica Traduzione diretta alla sintassi (Syntax-directed translation) Grammatiche ad attributi (Attribute grammars) Altri approcci piu sofisticati Code generation: Pattern matching Euristica Soluzioni ad-hoc Tabella dei simboli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

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

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra A seguire alcune proposte di tirocini/tesi in tre ambiti dell ingegneria del software (non del tutto scorrelati): (1) Model-driven driven

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Introduzione Perché ti può aiutare la Smart Data Capture?

Introduzione Perché ti può aiutare la Smart Data Capture? 01 Introduzione Perché ti può aiutare la Smart Data Capture? Gestisci ogni giorno un elevato numero di fatture e documenti? Se hai un elevato numero di fatture da registrare, note di credito e documenti

Dettagli

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test Prefazione, Contenuto Parte 1: Sviluppo di programmi Parte 2: Uso e test SIMATIC Parte 3: Descrizione del linguaggio Programmazione di blocchi Appendici Glossario, Indice analitico Manuale Numero di ordinazione

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Elementi di UML (7): Diagrammi dei componenti e di deployment

Elementi di UML (7): Diagrammi dei componenti e di deployment Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1 Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

Ricerca non informata in uno spazio di stati

Ricerca non informata in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

Progettazione di sistemi Embedded

Progettazione di sistemi Embedded Progettazione di sistemi Embedded Corso introduttivo di progettazione di sistemi embedded A.S. 2013/2014 proff. Nicola Masarone e Stefano Salvatori Eccetto dove diversamente specificato, i contenuti di

Dettagli

Panoramica su ITIL V3 ed esempio di implementazione del Service Design

Panoramica su ITIL V3 ed esempio di implementazione del Service Design Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Panoramica su ITIL V3 ed esempio di implementazione del Service Design Lavoro pratico II Periodo didattico

Dettagli

Verifica che una grammatica sia Context Free nel GrammaReader

Verifica che una grammatica sia Context Free nel GrammaReader Verifica che una grammatica sia Context Free nel GrammaReader Sommario Dispensa di Linguaggi di Programmazione Corrado Mencar Pasquale Lops In questa dispensa si descrivono alcune soluzioni per verificare

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

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

Riferimenti ed Oggetti

Riferimenti ed Oggetti Riferimenti e oggetti Riferimenti ed Oggetti In non si possono definire variabili di tipo oggetto ma solo di tipo riferimento a oggetto. I riferimenti sono assimilabili ai tipi base. Allocazione statica

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 31 marzo 2015 CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di

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

Tipologie di pianificatori. Pianificazione. Partial Order Planning. E compiti diversi. Pianificazione gerarchica. Approcci integrati

Tipologie di pianificatori. Pianificazione. Partial Order Planning. E compiti diversi. Pianificazione gerarchica. Approcci integrati Tipologie di pianificatori Pianificazione Intelligenza Artificiale e Agenti II modulo Pianificazione a ordinamento parziale (POP) (HTN) pianificazione logica (SatPlan) Pianificazione come ricerca su grafi

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

BUSINESS INTELLIGENCE & PERFORMANCE MANAGEMENT

BUSINESS INTELLIGENCE & PERFORMANCE MANAGEMENT BUSINESS INTELLIGENCE & PERFORMANCE MANAGEMENT BOLOGNA BUSINESS school Dal 1088, studenti da tutto il mondo vengono a studiare a Bologna dove scienza, cultura e tecnologia si uniscono a valori, stile di

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

Introduzione al VHDL. Alcuni concetti introduttivi

Introduzione al VHDL. Alcuni concetti introduttivi Introduzione al VHDL Alcuni concetti introduttivi Riferimenti The VHDL Cookbook, Peter J. Ashenden, Reperibile nel sito: http://vlsilab.polito.it/documents.html The VHDL Made Easy, David Pellerin, Douglas

Dettagli

ISTITUTO COMPRENSIVO STATALE di BORGORICCO SUGGERIMENTI PER LA COMPILAZIONE DEL P.D.P. PER ALUNNI CON DISTURBI SPECIFICI DI APPRENDIMENTO

ISTITUTO COMPRENSIVO STATALE di BORGORICCO SUGGERIMENTI PER LA COMPILAZIONE DEL P.D.P. PER ALUNNI CON DISTURBI SPECIFICI DI APPRENDIMENTO SUGGERIMENTI PER LA COMPILAZIONE DEL P.D.P. PER ALUNNI CON DISTURBI SPECIFICI DI APPRENDIMENTO Il documento va compilato in forma digitale per poter ampliare gli spazi dello schema (ove necessario) e togliere

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione Text mining ed analisi di dati codificati in linguaggio naturale Analisi esplorative di dati testualilezione 2 Le principali tecniche di analisi testuale Facendo riferimento alle tecniche di data mining,

Dettagli

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto Scheda descrittiva del programma Open-DAI ceduto in riuso CSI-Piemonte in rappresentanza del Consorzio di progetto Agenzia per l Italia Digitale - Via Liszt 21-00144 Roma Pagina 1 di 19 1 SEZIONE 1 CONTESTO

Dettagli

Manipolazione di testi: espressioni regolari

Manipolazione di testi: espressioni regolari Manipolazione di testi: espressioni regolari Un meccanismo per specificare un pattern, che, di fatto, è la rappresentazione sintetica di un insieme (eventualmente infinito) di stringhe: il pattern viene

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

LA TECHNOLOGY TRANSFER PRESENTA JEN UNDERWOOD ADVANCED WORKSHOP ROMA 6 MAGGIO 2015 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231

LA TECHNOLOGY TRANSFER PRESENTA JEN UNDERWOOD ADVANCED WORKSHOP ROMA 6 MAGGIO 2015 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 LA TECHNOLOGY TRANSFER PRESENTA JEN UNDERWOOD ADVANCED ANALYTICS WORKSHOP ROMA 6 MAGGIO 2015 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 info@technologytransfer.it www.technologytransfer.it ADVANCED ANALYTICS

Dettagli

Processi ITIL. In collaborazione con il nostro partner:

Processi ITIL. In collaborazione con il nostro partner: Processi ITIL In collaborazione con il nostro partner: NetEye e OTRS: la piattaforma WÜRTHPHOENIX NetEye è un pacchetto di applicazioni Open Source volto al monitoraggio delle infrastrutture informatiche.

Dettagli

Griglia di correzione Fascicolo di Italiano Prova Nazionale anno scolastico 2008-2009

Griglia di correzione Fascicolo di Italiano Prova Nazionale anno scolastico 2008-2009 Griglia di correzione Fascicolo di Italiano Prova Nazionale anno scolastico 2008-2009 Il buon nome - Chiavi di risposta e classificazione degli item Item Risposta corretta Ambito di valutazione Processi

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 Download Si può scaricare gratuitamente la versione per il proprio sistema operativo (Windows, MacOS, Linux) dal sito: http://www.codeblocks.org

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

COME FRODE. la possibilità propri dati. brevissimo. Reply www.reply.eu

COME FRODE. la possibilità propri dati. brevissimo. Reply www.reply.eu FRAUD MANAGEMENT. COME IDENTIFICARE E COMB BATTERE FRODI PRIMA CHE ACCADANO LE Con una visione sia sui processi di business, sia sui sistemi, Reply è pronta ad offrire soluzioni innovative di Fraud Management,

Dettagli

Configuration Management

Configuration Management Configuration Management Obiettivi Obiettivo del Configuration Management è di fornire un modello logico dell infrastruttura informatica identificando, controllando, mantenendo e verificando le versioni

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Traduzione di TeamLab in altre lingue

Traduzione di TeamLab in altre lingue Lingue disponibili TeamLab è disponibile nelle seguenti lingue nel mese di gennaio 2012: Traduzioni complete Lingue tradotte parzialmente Inglese Tedesco Francese Spagnolo Russo Lettone Italiano Cinese

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

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

GLI ASSI CULTURALI. Allegato 1 - Gli assi culturali. Nota. rimessa all autonomia didattica del docente e alla programmazione collegiale del

GLI ASSI CULTURALI. Allegato 1 - Gli assi culturali. Nota. rimessa all autonomia didattica del docente e alla programmazione collegiale del GLI ASSI CULTURALI Nota rimessa all autonomia didattica del docente e alla programmazione collegiale del La normativa italiana dal 2007 13 L Asse dei linguaggi un adeguato utilizzo delle tecnologie dell

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

Relazione sul data warehouse e sul data mining

Relazione sul data warehouse e sul data mining Relazione sul data warehouse e sul data mining INTRODUZIONE Inquadrando il sistema informativo aziendale automatizzato come costituito dall insieme delle risorse messe a disposizione della tecnologia,

Dettagli

Progetto BPR: Business Process Reengineering

Progetto BPR: Business Process Reengineering Progetto BPR: Business Process Reengineering Riflessioni frutto di esperienze concrete PER LA CORRETTA INTERPRETAZIONE DELLE PAGINE SEGUENTI SI DEVE TENERE CONTO DI QUANTO ILLUSTRATO ORALMENTE Obiettivo

Dettagli

Modal 2 Modulo Analisi modale Modulo per l Analisi della dinamica strutturale.

Modal 2 Modulo Analisi modale Modulo per l Analisi della dinamica strutturale. Modal 2 Modulo Analisi modale Modulo per l Analisi della dinamica strutturale. L analisi modale è un approccio molto efficace al comportamento dinamico delle strutture, alla verifica di modelli di calcolo

Dettagli

Comunicate con chiarezza: affidatevi a un professionista della lingua. Associazione Svedese dei Traduttori Professionisti

Comunicate con chiarezza: affidatevi a un professionista della lingua. Associazione Svedese dei Traduttori Professionisti Comunicate con chiarezza: affidatevi a un professionista della lingua Associazione Svedese dei Traduttori Professionisti Dobrý den! Guten Tag! Hola! Bonjour! Hej! Hello! Shalom! Un mondo più comprensibile

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 1 per la Scuola secondaria di secondo grado UNITÀ CMPIONE Edizioni del Quadrifoglio à t i n U 1 Insiemi La teoria degli

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Windows Compatibilità

Windows Compatibilità Che novità? Windows Compatibilità CODESOFT 2014 é compatibile con Windows 8.1 e Windows Server 2012 R2 CODESOFT 2014 Compatibilità sistemi operativi: Windows 8 / Windows 8.1 Windows Server 2012 / Windows

Dettagli

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Progettazione concettuale Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

Disgrafia-Disortografia, un inquadramento diagnostico

Disgrafia-Disortografia, un inquadramento diagnostico IRCCS Burlo Garofolo U.O. Neuropsichiatria Infantile Trieste Disgrafia-Disortografia, un inquadramento diagnostico Dott.ssa Isabella Lonciari Bolzano, 28 Febbraio 2008 Disortografia Aspetti linguistici

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

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

Logica del primo ordine

Logica del primo ordine Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_4 V1.3 Logica del primo ordine Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

Milano, Settembre 2009 BIOSS Consulting

Milano, Settembre 2009 BIOSS Consulting Milano, Settembre 2009 BIOSS Consulting Presentazione della società Agenda Chi siamo 3 Cosa facciamo 4-13 San Donato Milanese, 26 maggio 2008 Come lo facciamo 14-20 Case Studies 21-28 Prodotti utilizzati

Dettagli

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Supponiamo sempre di avere un ponte stretto che permette il passaggio delle auto solo in un verso per volta,

Dettagli

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA Allegato 1 al bando di gara SCUOLA TELECOMUNICAZIONI FF.AA. CHIAVARI REQUISITO TECNICO OPERATIVO MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA MASTER DI 2 LIVELLO 1. DIFESA

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Pronti per la Voluntary Disclosure?

Pronti per la Voluntary Disclosure? Best Vision GROUP The Swiss hub in the financial business network Pronti per la Voluntary Disclosure? Hotel de la Paix, 21 aprile 2015, ore 18:00 Hotel Lugano Dante, 22 aprile 2015, ore 17:00 Best Vision

Dettagli

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza.

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza. Relazione tecnica Fibonacci ANDENA GIANMARCO Traccia: Creare un algoritmo che permetta, dato un valore intero e positivo, di stabilire la sequenza utilizzando la regola di fibonacci dei numeri fino al

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

House organ. La carta stampata non muore mai. di Roberto Morini

House organ. La carta stampata non muore mai. di Roberto Morini House organ La carta stampata non muore mai di Roberto Morini La carta nell era del web ovvero: mai usata tanta carta come da quando c è il computer I testi lunghi gli approfondimenti La grafica l impaginazione:

Dettagli

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Oggi più che mai, le aziende italiane sentono la necessità di raccogliere,

Dettagli

REALIZZARE UN MODELLO DI IMPRESA

REALIZZARE UN MODELLO DI IMPRESA REALIZZARE UN MODELLO DI IMPRESA - organizzare e gestire l insieme delle attività, utilizzando una piattaforma per la gestione aziendale: integrata, completa, flessibile, coerente e con un grado di complessità

Dettagli

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A.

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A. Università di Venezia Corso di Laurea in Informatica Laboratorio di Informatica Applicata Introduzione all IT Governance Lezione 5 Marco Fusaro KPMG S.p.A. 1 CobiT: strumento per la comprensione di una

Dettagli

Scuola primaria: obiettivi al termine della classe 5

Scuola primaria: obiettivi al termine della classe 5 Competenza: partecipare e interagire con gli altri in diverse situazioni comunicative Scuola Infanzia : 3 anni Obiettivi di *Esprime e comunica agli altri emozioni, sentimenti, pensieri attraverso il linguaggio

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Linguistica Generale

Linguistica Generale Linguistica Generale Docente: Paola Monachesi Aprile-Maggio 2003 Contents 1 La linguistica e i suoi settori 2 2 La grammatica come mezzo per rappresentare la competenza linguistica 2 3 Le componenti della

Dettagli