IL TEMPO È TUTTO ...E LABVIEW 2010 SA GESTIRLO AL MEGLIO 2010 E 5,00 SETTEMBRE ISSN

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "IL TEMPO È TUTTO ...E LABVIEW 2010 SA GESTIRLO AL MEGLIO 2010 E 5,00 SETTEMBRE ISSN 1972-3008"

Transcript

1 ISSN SETTEMBRE 2010 E 5,00 L A P R I M A R I V I S T A I T A L I A N A P E R L A C O M U N I T À L A B V I E W In caso di mancata consegna restituire all editore che si impegna a pagare la relativa tassa presso il CMP di Roserio - Milano IL TEMPO È TUTTO...E LABVIEW 2010 SA GESTIRLO AL MEGLIO

2 15 SCENARIO IL TEMPO È CRITICO Q ualunque sia la vostra attività, il fattore tempo è cruciale e, in quanto tecnici, ne parlate continuamente: frasi come time-to-market, tempo di sviluppo. tempo di produzione, tempo di elaborazione, tempo di ciclo, ecc. fanno ormai parte del vostro linguaggio corrente. Diventato una preziosa commodity, il tempo è sempre più importante, sia che si debbano acquisire dati più rapidamente, rappresentare con precisione segnali reali all interno di un programma, sincronizzare sistemi distribuiti o semplicemente terminare in modo più veloce il proprio lavoro. National Instruments è ben consapevole di questa esigenza di riduzione dei tempi e della sua immediata conseguenza, bene espressa per la prima volta da Beniamino Franklin: il tempo è denaro. Per questo, uno dei temi conduttori della scorsa edizione di NIWeek è stato condensato nello slogan It s time. E molte caratteristiche della nuova versione LabVIEW 2010 sono state introdotte proprio per ottimizzare il tempo, le prestazioni e la produttività dello sviluppo di nuove applicazioni. Ad esempio, come ha sottolineato John Graff durante la keynote del primo giorno, NI ha dedicato uno sforzo notevole al miglioramento dei tempi di setup iniziale, di configurazione e di manutenzione dei propri prodotti. Nello stesso tempo, la programmazione grafica permette di progettare, prototipare e rilasciare più rapidamente un sistema completo, mentre le piattaforme multicore e FPGA assicurano notevoli incrementi prestazionali rispetto al passato. Ad esempio, nelle operazioni matematiche real-time, LabVIEW 2010 offre un incremento di prestazioni run-time del 50% rispetto a LabVIEW Incremento che raggiunge il 100% nella manipolazione di bit e si avvicina al 150% nel controllo real-time e al 200% nei cicli for paralleli. Anche il compilatore LabVIEW, descritto in modo più approfondito nell articolo a pag. 14, è stato rivisto per migliorare le prestazioni run-time dei VI, ovvero la rapidità di esecuzione dei VI senza alcun cambiamento di codice. In particolare, gli sviluppatori NI hanno introdotto due strati nella gerarchia del compilatore per velocizzare l esecuzione del codice, con la grande novità del back-end basato su LLVM (Lowlevel virtual machine), una struttura di compilatore open source che permette una serie di ottimizzazioni. Insieme alla Dataflow intermediate representation (DFIR), introdotta in LabVIEW 2009, la LLVM permette di ridurre fino al 20% il tempo di esecuzione del codice di un applicazione LabVIEW 2010 rispetto alla versione precedente del nostro software, ha sottolineato il Dott. Truchard. Ma LabVIEW 2010 si è rivelato unico anche nelle applicazioni basate su I/O in cui il timing è cruciale intendendo sia la visibilità sul timing stesso, sia il rispetto di vincoli e target di timing. Il tempo è infatti incorporato nell ambiente di programmazione grafica e la capacità di integrazione e trigger su eventi time-based fa parte di ogni funzione rilevante di LabVIEW 2010, dalle strutture di programmazione, come i costrutti Timed Loop, all elaborazione dei segnali, alle operazioni matematiche. Infine, un aspetto cruciale in molti sistemi è la necessità di timing e sincronizzazione fra vari componenti. Nell hardware e nel software National Instruments, è disponibile una varietà di approcci per soddisfare specifici limiti di timing, da più processori nella stessa macchina, a sistemi distribuiti sincronizzati in modo globale. Tutti questi miglioramenti, naturalmente, sono sinergici. Ed è il loro insieme che, ad esempio, ha permesso a un team di studenti di progettare e prototipare il primo veicolo per guidatori non vedenti in soli sei mesi (questa applicazione è stata premiata come Best application of the year da un commosso Dottor Truchard), o a un azienda di introdurre sul mercato in appena tre mesi un bancomat dei telefonini usati, che riceve un cellulare dall utente, ne riconosce il modello grazie a un sofisticato sistema di visione e lo paga in contanti in base a un listino prestabilito. Queste e mille altre applicazioni hanno potuto e possono contare su un ambiente di programmazione efficace, efficiente e veloce e su piattaforme hardware che si avvicinano ormai ai limiti di prestazioni del silicio per tradurre velocemente la creatività del progettista in un prototipo funzionante. Perché, come Beniamino Franklin ebbe a dire, Non ritroveremo mai più il tempo perduto. Valerio Alessandroni

3 15 SOMMARIO IL TEMPO E CRITICO Uno dei temi conduttori della scorsa edizione di NIWeek è stato condensato nello slogan It s time L EVOLUZIONE DEL GRAPHICAL SYSTEM DESIGN National Instruments ha introdotto in LabVIEW 2010 caratteristiche e funzioni che rispondono alle esigenze espresse dal mercato SISTEMI EMBEDDED CON TIMING PRECISO CON LABVIEW 2010 E RIO Le caratteristiche di timing incorporate in LabVIEW 2010 aiutano a sfruttare l hardware RIO di NI SVILUPPO PIÙ VELOCE CON WIZARD ED ESEMPI LABVIEW Driver di strumenti, esempi, wizard ed Express VI di NI LabVIEW possono aiutare a fare di più con il tempo a disposizione STANDARDIZZARE UNA PIATTAFORMA PRO- VATA CON LABVIEW 2010 Attraverso il forum pubblico LabVIEW Idea Exchange gli utenti LabVIEW possono sottoporre e votare idee TEMPORIZZAZIONE E SINCRONIZZAZIONE IN LABVIEW LabVIEW offre funzionalità essenziali di temporizzazione e sincronizzazione per il vostro sistema IL COMPILATORE LABVIEW SOTTO IL COFANO LabVIEW è un linguaggio compilato: il codice G viene tradotto in codice macchina nativo ed eseguito dal computer host STIMOLAZIONE DI FIBRE VAGALI CARDIACHE Uno strumento genera impulsi in grado di eccitare le fibre nervose vagali ottenendo la funzione di un pacemaker inverso CARATTERIZZAZIONE PROVINI DI TERRA Un sistema di test automatico gestito da CompactRIO TECNICHE DI SINCRONIZZAZIONE Notifier e code come metodi alternativi per passare dati tra processi paralleli REPLICA DI VARIABILI CONDIVISE LabVIEW replica le variabili condivise quando viene eseguito lo SVE QUANDO L AUTOMOTIVE SI FA CONVEGNO A Torino si è discusso dell auto del futuro DALLA CARTA AL WEB Link ad articoli di approfondimento e altri documenti disponibili sul web LA VOCE DEGLI UTENTI Ecco alcuni spunti di discussione apparsi di recente sul Forum di ILVG.it MEDICAL INNOVATION SUMMIT Si è discusso dello sviluppo di dispositivi biomedicali e di tecnologie per l innovazione nella ricerca medica e nella sperimentazione clinica LA MOSTRA-CONVEGNO DI RIFERIMENTO PER IL MERCATO EMBEDDED National Instruments ha partecipato al recente Focus Embedded LA VISIONE ARTIFICIALE SECONDO NATIONAL INSTRUMENTS Discusse le caratteristiche essenziali di un software flessibile SE STAI USANDO LABVIEW non perdere l occasione per fare di più INNOVAZIONE ITALIANA A NIWEEK 2010 La collaborazione con NI offre a molte piccole e medie aziende italiane la possibilità di affacciarsi sullo scenario internazionale LABVIEW WANTS YOU! Dove trovare gli ultimi add-on 44 APPUNTAMENTI Oltre ad organizzare propri corsi e seminari, National Instruments sarà presente a numerosi eventi 46 LABVIEW E LAVORO Proposte concrete per coloro che sanno utilizzare LabVIEW AAA

4 15 A TU PER TU Valerio Alessandroni L EVOLUZIONE DEL GRAPHICAL SYSTEM DESIGN Con LabVIEW 2010, National Instruments ha dimostrato di sapere ascoltare il mercato, introducendo caratteristiche e funzioni che rispondono alle esigenze espresse dalla comunità dei partner e degli utenti In occasione di NIWeek 2010 abbiamo intervistato John Pasquarette, Vice President Product Marketing Software di National Instruments. Pasquarette, che ha gestito in modo impeccabile gli speaker della seconda giornata, commenta il ruolo della comunità LabVIEW, spiegando alcuni aspetti fondamentali di LabVIEW 2010 e fornisce qualche anticipazione sul software del futuro. D: Nel corso di NIWeek 2010 è stato sottolineato più volte l impegno che National Instruments intende porre in una più stretta collaborazione non solo con i suoi Alliance Partner, ma anche con la comunità degli sviluppatori LabVIEW, il mondo accademico e della ricerca, ecc.. Qual è il suo punto di vista? Pasquarette: Per quanto riguarda il mondo accademico in particolare, i nostri programmi sono ben noti, data la nostra lunga presenza in questo settore. Il nostro obiettivo principale è che gli studenti apprendano attraverso i nostri prodotti, per contribuire a risolvere la persistente carenza Fig1 - Afferma John Pasquarette, Vice President Product Marketing Software di National Instruments: In LabVIEW 2010 sono stati accolti i 14 suggerimenti raccolti dal programma LabVIEW Idea Exhange ritenuti migliori dagli stessi utenti 3

5 15 A TU PER TU di tecnici e ricercatori interessati alla tecnologia. Continueremo quindi a puntare sui giovani, offrendo loro strumenti sempre più semplici e divertenti per imparare. Un esempio molto significativo in tal senso è il nostro appoggio al programma First (For Inspiration and Recognition of Science and Technology). Passando ai nostri partner, abbiamo annunciato un programma finalizzato alla loro crescita, che permetterà anche alle piccole aziende di costruire con successo e distribuire i propri prodotti. I nostri partner possono oggi accedere più facilmente a LabVIEW e ai suoi numerosi add-on e partecipare attivamente all espansione della sua base di conoscenza, grazie anche a nuove caratteristiche presentate a NIWeek 2010, come l apertura nei confronti del Cloud Computing. Con LabVIEW FPGA Cloud Compile Service Beta, National Instruments offre ai programmatori di FPGA la possibilità di compilare i VI nel cloud, scaricandoli completamente dal computer di sviluppo. D: Un altro strumento importante di contatto con la comunità LabVIEW è rappresentato dalle social networks. In che modo vengono utilizzate da National Instruments per favorire lo scambio di idee con e fra Partner e utenti? D: In che modo viene gestita la conoscenza che i singoli partner o utilizzatori portano alla comunità LabVIEW? Ad esempio, i suggerimenti migliori ricevuti lo scorso anno sono stati incorporati nell attuale versione di LabVIEW, ma qual è stata la sorte degli altri suggerimenti espressi dagli utenti? Sono stati semplicemente scartati? Pasquarette: Il modo più attivo è probabilmente quello dei Forum di discussione, che è molto popolare nella comunità LabVIEW da ormai dieci anni. Attraverso il Forum, è possibile porre domande e ricevere risposte dai nostri specialisti ed è stata proprio la competenza di tali risposte a decretare il successo del Forum. Negli anni più recenti abbiamo messo in atto anche programmi di training più aggressivi per la certificazione degli utenti finali. E il modo migliore con il quale un utente può arrivare a dire Sono un buon programmatore LabVIEW, mentre i manager possono imparare che cosa c è dietro il nostro programma di Graphical System Design. Per quanto riguarda la seconda parte della domanda, in LabVIEW 2010 sono stati accolti i 14 suggerimenti raccolti dal programma LabVIEW Idea Exhange ritenuti migliori dagli stessi utenti (che li hanno potuti votare). Gli altri suggerimenti non sono stati scartati, ma rientreranno in lizza insieme alle nuove idee in vista di LabVIEW Fig2 National Instruments tiene in grande considerazione i suggerimenti che arrivano dai suoi partner e dal mercato in generale, sottolinea Pasquarette Pasquarette: Siamo molto attivi su Facebook e Twitter, come dimostra l elevato numero di post durante NIWeek Uno dei modi più interessanti per utilizzare i social media e il web in generale è l advertising. E infatti in crescita il numero dei nostri utenti che fanno conoscere i loro prodotti attraverso questi canali. D: Come ogni anno, anche a questa edizione di NIWeek sono state presentate numerose applicazioni in settori molto diversi fra loro, che dimostrano come i confini di LabVIEW sono in costante espansione. Fino a che punto queste applicazioni sono state possibili grazie al software National Instruments e fino a che punto ha invece contribuito il know-how di sviluppatori, system integrator e utenti? Pasquarette: In realtà, è la combinazione delle due componenti che fa funzionare il sistema. Oggi siamo riusciti a rendere estremamente semplice il deployment della piattaforma LabVIEW in qualsiasi applicazione, che si tratti di un sistema di test o di un sistema embedded. Ciò permette di costruire rapidamente un sistema robusto, testato e validato, in grado di gestire I/O, sensori, attuatori e strumenti. Ma a questo punto entra in gioco la creatività del singolo utente. Ciò che abbiamo fatto è stato tagliare i lunghi tempi di sviluppo e programmazione richiesti in preceden- 4

6 za, velocizzando lo sviluppo delle applicazioni, ma il successivo contributo dell utente rimane fondamentale. D: Quali sono i nuovi settori applicativi nei quali National Instruments intende entrare? Pasquarette: Per fare solo qualche esempio, posso citare i settori RF (ed in particolare della progettazione di radio), del signal processing e delle energie rinnovabili. Continueremo poi a focalizzarci sul controllo di macchine e sui controlli industriali embedded. D: Nell area espositiva di NIWeek 2010 erano presenti numerose piccole aziende che, grazie alla collaborazione con National Instruments, hanno oggi la possibilità di affacciarsi sul mercato internazionale. In quale misura l allargamento della base degli utenti con queste piccole realtà porta un vantaggio a National Instruments? Pasquarette: In generale, National Instruments ha bisogno di partner specializzati in molte aree. E le piccole aziende che sono entrate nella nostra orbita sono sempre delle realtà hi-tech dotate di un elevata specializzazione. Questo ci permette di avere a disposizione esperti in ogni area particolare, che si tratti di visione artificiale o di particolari sistemi di test, sia per affrontare un nuovo problema, sia per lo stesso sviluppo dei nostri nuovi prodotti. Come è già stato evidenziato, National Instruments tiene in grande considerazione i suggerimenti che arrivano dai suoi partner e dal mercato in generale. D: Uno noto slogan di National Instruments è The software is the instrument. Alla luce di quanto è stato presentato a NIWeek 2010 e soprattutto della forte spinta alla mobilità e al facile accesso al software da ogni punto del pianeta, è corretto affermare che The network (or the cloud) is the instruments? Pasquarette: Credo che fondamentalmente non ci sia una grande differenza fra questi slogan: essi evidenziano semplicemente forme diverse di software. Ma è il software di Graphical System Design che rimane al centro della questione, sia che si trovi sul web, sul cloud o sul computer locale. Gli strumenti hardware cambiano ed estendono le proprie capacità, ma il loro modello di riferimento è rimasto lo stesso. D: Un ultima domanda: in un ottica di medio termine, come sarà il software del futuro? Pasquarette: Vedo due direzioni di sviluppo fondamentali. Da una parte, il software sarà sempre più web-based e distribuito (e cito, a tale proposito, il forte impulso che National Instruments sta dando al tema dei Web Services con la nuova interfaccia Web UI). Ciò per due motivi: perché gli utenti richiedono un accesso sempre più comodo, anche attraverso terminali portatili, e perché il Cloud Computing è un modo molto conveniente e flessibile per scalare il proprio sistema di calcolo e di storage in base alle necessità. Dal lato opposto, il software tende ad integrarsi sempre più strettamente con l hardware embedded

7 15 WHAT S NEW SISTEMI EMBEDDED CON TIMING PRECISO CONLABVIEW 2010 E RIO(RECONFIGURABLE I/O) Le caratteristiche di timing incorporate in LabVIEW 2010 aiutano tecnici, ricercatori e progettisti embedded a sfruttare l'hardware RIO di NI con CPU real-time e FPGA (Field-programmable gate array) ad alte prestazioni per creare applicazioni robuste e che rispondono in modo reattivo A cura di Alessandro Plantamura Quando si progettano sistemi embedded, il timing è critico sia che si cerchi di assicurare che un loop di controllo sia eseguito in modo affidabile, che si risponda rapidamente a un segnale di I/O o che l elaborazione sia abbastanza veloce da soddisfare i requisiti applicativi. La costruzione di un sistema che gestisca queste esigenze di timing parte dall hardware; esso deve fornire il giusto equilibrio fra dimensioni, consumo di potenza, throughput elaborativo e latenza. In più, il software gioca un ruolo chiave nella regolazione dell esecuzione, nella risposta agli interrupt e nell equilibrare il tempo fra i task di calcolo. Integrare hardware e software embedded tenendo in considerazione il timing può essere un processo laborioso, ma il software LabVIEW 2010 e l hardware I/O riconfigurabile (RIO) di NI riducono lo sforzo necessario per costruire sistemi deterministici affidabili che possono gestire anche le applicazioni più stringenti. di trasferimento dati potente e diretta da LabVIEW o codice C. Il risultato finale è una piattaforma flessibile che è ideale per un ampia varietà di prototipi e progetti embedded. E, poiché l architettura NI-RIO è standard fra molti target hardware differenti, inclusi NI Single-Board RIO e NI CompactRIO, potete massimizzare il riutilizzo del codice quando installate le applicazioni su dispositivi embedded robusti od ottimizzati nei costi. L HARDWARE RIO DI NI OFFRE CPU REAL- TIME E CHIP FPGA (FIELD-PROGRAMMABLE GATE ARRAY) AD ALTE PRESTAZIONI I target hardware embedded di National Instruments si basano sull architettura RIO, che include una CPU che normalmente esegue un SO real-time e uno o più chip FPGA. Con questa combinazione, potete realizzare task che richiedono un timing con risoluzione di nanosecondi o parallelismo massiccio in hardware FPGA, mentre la CPU esegue in modo efficiente operazioni a elevato contenuto di calcolo come matematica a virgola mobile. La comunicazione fra il chip gli FPGA e la CPU avviene tipicamente su un bus PCI e il driver NI-RIO fornisce un interfaccia Figura 1. Il dispositivi embedded NI Reconfigurable I/O (RIO) sono costruiti attorno a un architettura comune caratterizzata da CPU real-time, chip FPGA e I/O modulare Per esempio, Ventura Aerospace ha usato NI Single-Board RIO, insieme a LabVIEW, per creare un sistema antincendio in grado di prevenire incendi catastrofici sugli aeromobili di trasporto merci FedEx. Algoritmi di controllo deterministico, networking e data logging sono stati gestiti sulla CPU real-time, mentre altri task critici sono stati implementati in hardware su chip FPGA. 6

8 WHAT S NEWS LABVIEW 2010 E IL TIMING INCORPORATO SEMPLIFI- CANO LA PROGRAMMAZIONE DI SISTEMI DETERMI- NISTICI AFFIDABILI Non solo è possibile utilizzare la programmazione grafica di LabVIEW per CPU (comprese quelle che eseguono un SO realtime) e chip FPGA (inclusi quelli in target hardware RIO), ma lo stesso linguaggio LabVIEW è stato progettato fin dall inizio tenendo presenti timing e sincronizzazione. Qui sotto vi è qualche esempio di come LabVIEW, insieme ai moduli LabVIEW Real-Time e LabVIEW FPGA, renda semplice il timing per applicazioni embedded. CARATTERISTICHE DI TIMING INTEGRATE NEL MODU- LO LABVIEW REAL-TIME Programmazione di applicazioni deterministiche, ad anello chiuso con LabVIEW Real-Time e il Timed Loop Il modulo Real-Time di LabVIEW 2010 estende la programmazione grafica di LabVIEW a target hardware real-time NI (inclusi i dispositivi RIO) e a selezionato hardware PC di terze parti. In base al target hardware, LabVIEW Real-Time utilizza automaticamente componenti del SO real-time VxWorks standard o ETS per assicurare prestazioni hard real-time deterministiche. Quando si programma un applicazione di controllo ad anello chiuso con LabVIEW Real-Time, il Timed Loop offre un modo intuitivo per eseguire periodicamente un sottoinsieme di codice, sincronizzare la velocità del loop con l hardware, prioritizzare più loop o anche assegnare un loop a un certo core della CPU tutto con pochi click del mouse. Inoltre, potete scegliere fra clock in kilohertz, megahertz o custom come base di timing del vostro loop. Figura 2. Il Timed Loop di LabVIEW vi permette di configurare intuitivamente il timing di loop, la sincronizzazione con hardware di I/O, la priorità di codice real-time, l affinità di CPU e altro SINCRONIZZAZIONE DI LOOP TEMPORIZZATI SU PIÙ TARGET Potete sfruttare la sincronizzazione IEEE 1588 su dispositivi hardware programmati con LabVIEW Real-Time per fare in modo che una data operazione avvenga pressoché simultaneamente su più sistemi embedded. In base al dispositivo che utilizzate, sono supportate sincronizzazioni IEEE 1588 software sotto il millisecondo, se via software, e/o hardware sotto il microsecondo, se effettuate via hardware. Per sfruttare la sincronizzazione tra target hardware basata sul software in LabVIEW Real-Time, usate il Timed Loop insieme all impostazione di sorgente di tipo Absolute Timing. Dopo la configurazione del Timed Loop, semplicemente una data di inizio e selezionate run per iniziare l esecuzione del loop su più sistemi contemporaneamente. Figura 3. Potete usare la sicronizzazione di tempo IEEE 1588 con il Timed Loop di LabVIEW per iniziare simultaneamente un operazione su più dispositivi embedded distribuiti (qui un NI CompactRIO) Uso del toolkit NI Real-Time Execution Trace per un analisi dettagliata del timing Usato con il LabVIEW Real-Time Module, il toolkit Real-Time Execution Trace può indicare informazioni dettagliate sul tempo di esecuzione di thread e subvi, priorità ed eredità fra elementi del codice. Potete usare il toolkit non solo per ottimizzare le vostre applicazioni real-time, ma anche per facilitare l identificazione di problemi potenziali come l inversione di priorità o condizioni di conflitto. Esecuzione deterministica di.m file su hardware real-time Se avete codice su file con estensione.m, potete usare il modulo NI LabVIEW MathScript RT per eseguire deterministicamente tale codice su un sistema embedded che programate con LabVIEW Real-Time. Essenzialmente, ciò rende lineare e rapido il percorso, un tempo complesso, di esecuzione di file di tipo.m su target hardware. Combinate semplicemente il vostro.m file con il codice grafico di LabVIEW usando il MathScript Node, quindi trascinate e depositate la vostra applicazione sul target real-time all interno del progetto LabVIEW. 7

9 15 WHAT S NEWS CARATTERISTICHE DI TIMING INCORPORATE NEL MODULO LABVIEW FPGA Ottimizzazione di applicazioni FPGA con il single-cycle Timed Loop Il single-cycle Timed Loop a ciclo singolo nel modulo FPGA di LabVIEW 2010 rimuove i registri dall interno del loop affinché possiate eseguire in modo ottimale un blocco di codice compatibile. Ciò rende possibili frequenze di loop fino a 40 MHz per operazioni critiche che devono essere eseguite in modo affidabile a livello hardware. Inoltre, il codice all interno di un single-cycle Timed Loop richiede meno spazio sull FPGA, lasciandovi più spazio per altri task. Figura 4. Il single-cycle Timed Loop di LabVIEW FPGA permttette di eseguire una sezione di codice in modo ottimale a frequenze di loop fino a 40 megahertz Uso del Loop Timer per regolare l esecuzione di codice FPGA Eseguire un operazione periodicamente su un chip FPGA è facile come usare il Loop Timer all interno di singoli loop sul vostro diagramma a blocchi LabVIEW FPGA. Usando il Loop Timer, avete la possibilità di controllare il timing di un loop come multiplo del clock hardware con periodi del loop nell ordine dei nanosecondi, microsecondi o millisecondi. Con una frequenza di clock di default di 40 MHz, il Loop Timer può essere usato per ottenere frequenze di loop in multipli di 25 ns. Figura 5. L evidenziazione dei percorsi critici nel modulo LabVIEW FPGA vi permette di identificare rapidamente i colli di bottiglia nella vostra applicazione FPGA Identificazione dei colli di bottiglia con evidenziazione dei percorsi critici L identificazione e la correzione delle violazioni di timing durante lo sviluppo di applicazioni FPGA può essere tedioso. Per facilitare questo processo, usate il modulo LabVIEW FPGA per evidenziare rapidamente ogni operazione nel percorso critico e saltare alla posizione appropriata nel codice sorgente, dove potete rimediare al problema programmando in modo più efficiente o usando stadi pipeline addizionali (Fig. 5). CONSIDERATE LABVIEW E NI RIO PER IL VOSTRO PROSSIMO PROTOTIPO O PRO- GETTO EMBEDDED L hardware NI RIO e LabVIEW sono stati usati con successo per fornire un timing stretto e un funzionamento affidabile in migliaia di prototipi e sistemi installati embedded. Quando pianificate il vostro prossimo progetto embedded, considerate i risparmi di tempo e di costi che un hardware pronto all uso, potente e flessibile può offrire oltre ai vantaggi di usare la programmazione grafica di LabVIEW, le sue caratteristiche di timing incorporate e centinaia di librerie IP per abbreviare il vostro ciclo di sviluppo. SINCRONIZZAZIONE DEL TIMING DI APPLICAZIONI REAL-TIME E FPGA CON INTERRUPT Con target hardware FPGA selezionati, potete generare interrupt da applicazioni FPGA per notificare eventi a programmi host real-time, come la lettura di dati, il verificarsi di un errore o il completamento di un a task. Sfruttando la funzione Interrupt in LabVIEW FPGA e il metodo Wait on Interrupt in LabVIEW Real-Time, potete sincronizzare il vostro intero sistema embedded. Sono disponibili fino a 32 interrupt. Note sull autore Laureato in ingegneria biomedica al Politecnico di Milano, Alessandro Plantamura lavora in qualità di Technical Marketing Engineer presso National Instruments Italy 8

10 WHAT S NEW 15 WIZARD ED ESEMPI LABVIEW Driver di strumenti, esempi, wizard ed Express VI di NI LabVIEW possono aiutarvi a fare di più con il tempo che avete a disposizione A cura di Alessandro Plantamura LabVIEW semplifica l automazione degli strumenti di test e misura riducendo la quantità di lavoro che dovete eseguire per controllare il vostro strumento. Per esempio, i driver per strumenti LabVIEW vi permettono di risparmiare tempo eliminando la necessità di imparare set di comandi specifici per ogni strumento che usate. Tuttavia, il tempo dedicato a localizzare ed installare i driver di strumenti rimane tempo speso lavorando su qualcosa di diverso del vostro obiettivo primario. L Instrument Driver Finder (IDFinder) in LabVIEW riduce il tempo di setup del controllo di strumenti fino al 400 per cento. L Instrument Driver Finder rileva gli strumenti collegati e localizza driver Plug and Play LabVIEW compatibili fra le migliaia di driver sulla Instrument Driver Network (IDNet). Dopo avere selezionato il driver che volete installare, l Instrument Driver Finder scarica e installa l API del driver e i relativi esempi, aiutandovi a stabilire una comunicazione con il vostro strumento in meno tempo. Dopo l installazione del driver dello strumento, usate l NI Figura 1. Instrument Driver Finder e NI Example Finder Example Finder per cercare o navigare fra gli esempi di programmi che coprono tutto, dall analisi alla presentazione per usare il vostro driver di strumento. Il codice esemplificativo in LabVIEW è pronto all esecuzione, pertanto potete usarlo così come è per semplici applicazioni. Per applicazioni più complesse, potete modificare ed estendere gli esempi base aggiungendo nuovo codice o copiando parti di più esempi per creare l applicazione. Usando sezioni di codice esemplificativo si può risparmiare tempo di sviluppo iniziale, oltre a tempo di collaudo e debugging. GENERAZIONE AUTOMATICA DI CODICE DI CONTROL- LO DI STRUMENTI Quando non riuscite a trovare un driver di strumenti per il vostro strumento o volete aggiungere funzionalità a un driver esistente, i wizard LabVIEW possono generare automaticamente gran parte del codice, tagliando la quantità di lavoro che dovete fare. Il wizard Create New Instrument Driver Project usa template per vari tipi di strumenti per creare rapidamente il framework che vi serve per sviluppare il vostro driver di strumenti. Il wizard popola il framework con comandi comuni e include documentazione dettagliata su come utilizzare il framework generato e creare un driver di strumenti pienamente funzionante. Se esiste già un driver per lo strumento che volete usare ma manca un comando che vi serve, il wizard Create Instrument Driver VI può generare il codice LabVIEW necessario basandosi sull informazione che fornite. Tale wizard esegue per voi il lavoro noioso, permettendovi di non dovere creare stringhe di comando custom e distribuire i dati restituiti dallo strumento. EXPRESS DI ANALISI E DI FILE DI I/O La connettività e la comunicazione di strumenti sono solo l inizio di qualsiasi progetto di controllo di strumenti. Oltre alle opzioni per codice grafico e matematica testuale, LabVIEW include un ampia gamma di Express VI che potete usare per impostare l elaborazione, l analisi o gli output di cui avete bisogno selezionando opzioni in un area di dialogo. Gli Express VI possono aiutarvi ad ottenere i seguenti obiettivi: Filtraggio, trigger e gate di segnali d ingresso Esecuzione di misure di distorsione, spettrali e di ampiezza Calcolo delle curve di fitting migliori a analisi statistica complessa Salvataggio dei risultati in file e report Questi task sono solo alcuni esempi della vasta funzionalità fornita da LabVIEW. Per un elenco completo degli Express VI e di altri VI e funzioni incorporati, consultate il riferimento a VI e funzioni nel LabVIEW Help. 9

11 15 TIPS&TECHNIQUES STANDARDIZZARE UNA PIATTAFORMA PROVATA, USER-DRIVEN CON LABVIEW 2010 Attraverso il forum pubblico LabVIEW Idea Exchange, introdotto lo scorso anno, gli utenti LabVIEW possono sottoporre le loro idee e votare quelle che preferiscono Todd Sierer La LabVIEW Community degli utenti mondiali ha sempre avuto un ruolo attivo nel supporto ai membri e nel fornire feedback alla R&D NI per migliorare il prodotto. Lo scorso anno, NI ha introdotto un nuovo modo per raccogliere i feedback sul prodotto: LabVIEW Idea Exchange. Attraverso questo forum pubblico, gli utenti LabVIEW possono sottoporre le loro idee sulle caratteristiche del prodotto e votare quelle che preferiscono. Qui sotto è riportata una breve sintesi delle 13 caratteristiche proposte dagli utenti che sono state implementate dalla R&D LabVIEW in questa versione. Migliore utilizzabilità di LabVIEW Rendere più facile la lettura del codice con etichette dei fili Paul Falkenstein, Pennsylvania Voti Tracciare i collegamenti dati su lunghi fili nel vostro codice LabVIEW può essere difficile. Migliorate la leggibilità del codice aggiungendo etichette ai fili lunghi e rendete più semplice sapere quali fili appartengono a quali terminali. Christian Altenbach, California Voti I dati stringa sono spesso semplice testo, ma possono rappresentare anche dati esadecimali, codici \ e password. Una nuova radice sui terminali stringa commuta per visualizzare il tipo di dati stringa assegnati, rendendo più facile la letttura e il troubleshoot del vostro codice. Linearizzare il diagramma a blocchi con il nodo di gestione errori flessibile Dany Allard, Montreal Voti Invece di usare una serie di nodi di gestione errori per combinare i dati di errore, il nuovo nodo ora si espande per raccogliere tutti i fili di errore richiesti dal vostro codice, riducendo il disordine sul vostro diagramma a blocchi. Editare più velocemente le connessioni dei fili SubVI Yair Neeman, Israele Voti Cambiare i terminali di cablaggio dei subvi tramite il pannello connettori richiedeva normalmente eccessivi click del mouse. Ora potete cambiare più velocemente le connessioni con un nuovo shortcut da tastiera. Differentiare i dati stringa con una nuova radice di terminale Ridurre l ingombro del diagramma a blocchi con una nuova costante di cluster Chris Bolin, Texas (NI) Voti La nuova costante di cluster è un altra caratteristica salvaspazio di LabVIEW Dopo avere definito gli elementi in una costante di cluster, cliccate con il tasto destro su di essa per sostituirla con una piccola icona sul vostro diagramma a blocchi per ridurre lo spazio e migliorare la leggibilità del codice (vedi alla pagina successiva). Nuova funzionalità di gestione progetti di LabVIEW Chiudere tutti i VI all interno di un progetto e usare la visualizzazione menu Progetti/VI potenziata Simon Holman, Germania - 4 Voti (chiudere tutti i VI) Greg Sussman, Pennsylvania - 16 Voti (visualizzazione menu) 10

12 DALLA TEORIA ALLA PRATICA Mano a mano che le applicazioni LabVIEW diventano più avanzate, gli sviluppatori devono aprire più progetti LabVIEW contemporaneamente. Prima di LabVIEW 2010, l opzione menu Close All VIs chiudeva tutti i VI aperti e non solo quelli di un particolare progetto. LabVIEW 2010 include una nuova opzione menu Close All VIs in Project per facilitare la gestione di elevate quantità di VI e progetti multipli. LabVIEW 2010 include inoltre una navigazione migliorata nel menu Windows, dove progetti e VI sono separati fra loro per una commutazione più veloce fra i progetti. Nuovi risparmia tempo con Quick Drop Sostituire un oggetto usando gli hotkey Quick Drop e Create Custom Quick Drop Dany Allard, Montreal - 21 Voti (sostituire) Dave Snyder, Seattle - 8 Voti (hotkey) Quick Drop, introdotto in LabVIEW 8.5, è diventato una delle nuove caratteristiche più popolari in LabVIEW da diversi anni. Con questa caratteristica, potete cercare, selezionare e disporre VI usando una breve serie di tasti. Usate Quick Drop in LabVIEW 2010 per sostituire un VI selezionato con un altro dall interno dell utility Quick Drop, risparmiando tempo di sviluppo. Potete anche creare i vostri hotkey e migliorare la vostra efficienza di programmazione ancora di più. Altri miglioramenti in LabVIEW 2010 sottoposti dalla Community - Massimo default di Undo impostato a 99 Putnam Monroe, New York 91 Voti - Struttura elementi sul posto spostata nella palette strutture Jim Kring, California - 91 Voti Esplorate altre caratteristiche LabVIEW sottoposte dagli utenti e proponete e votate voi stessi su ni.com/ideas. Note sull autore Todd Sierer è un Product Marketing Manager di LabVIEW in National Instruments. E' laureato in ingegneria elettrica alla Brigham Young University.

13 15 TIPS & TECHNIQUES TEMPORIZZAZIONE E SINCRONIZZAZIONE IN LABVIEW Con costrutti di temporizzazione inerenti al linguaggio, il nanosecond timing engine e la struttura Timed Loop, LabVIEW offre funzionalità essenziali di temporizzazione e sincronizzazione per il vostro sistema Joseph Di Giovanni La temporizzazione è un elemento essenziale in tutte le applicazioni di test, controllo e progettazione e dovrebbe essere una considerazione chiave in ogni sistema. Le tecnologie di temporizzazione e sincronizzazione correlano eventi nel tempo, cosa necessaria per eseguire attività coordinate. Affinché il software possa orchestrare queste attività coordinate, il programma deve essere sincronizzato e avere un concetto di tempo. Il software LabVIEW ha costrutti di temporizzazione inerenti al linguaggio che potete usare per sincronizzare il vostro software nel vostro sistema. LA TEMPORIZZAZIONE LABVIEW IN DETTAGLIO _ NANOSECOND ENGINE E NI-TIMESYNC LabVIEW usa un componente software chiamato nanosecond engine per tenere traccia del tempo all interno di un programma. Il nanosecond engine viene eseguito dietro le quinte e si interfaccia con il SO per gestire il tempo. Vi è una varietà di funzioni e strutture in LabVIEW che usano il nanosecond engine per gestire il tempo, come la funzione Wait e la struttura Timed Loop. Il nanosecond engine può usare un real-time clock (RTC) locale o può essere pilotato da un clock di riferimento esterno integrato attraverso l NI Time Sync Framework (NI-TimeSync) (figura 1). Figura 1. Il nanosecond timing engine e NI-TimeSync di LabVIEW si coordinano per fornire un clock alla vostra applicazione. LabVIEW 2010 introduce un nuovo clock disponibile per NI- TimeSync. Il plug-in Standard IEEE 1588 disponibile con NI- TimeSync 1.1 offre un riferimento di clock che è sincronizzato con risoluzione di 1 ms. Potete configurare più dispositivi su una rete in modo che usino lo stesso clock di riferimento IEEE 1588, permettendo a più piattaforme di sincronizzarsi su una rete Ethernet standard. Potete anche configurare il vostro dispositivo in modo che usi il Software 1588 Precision Time Protocol con l utility NI Measurement & Automation Explorer (MAX) (figura 2). Figura 2. Configurazione di Time Synchronization Source for Device da MAX STRUTTURE DI TEMPORIZZAZIONE LABVIEW TIMED LOOP Il Timed Loop è una struttura a loop che viene eseguita quando la sorgente di temporizzazione configurata genera un evento. Ha un ampia gamma di sorgenti di temporizzazione che sono descritte più avanti. Usate il Timed Loop quando volete sviluppare applicazioni che richiedono elaborazione a velocità multiple, temporizzazione e sincronizzazione precise, feedback sull esecuzione del loop, caratteristiche di temporizzazione che cambiano dinamicamente o più livelli di priorità di esecuzione. Oltre alle caratteristiche di stretta temporizzazione del Timed Loop, la struttura può essere usata per assegnare affinità dei processori per la programmazione multicore. 12

14 TIPS & TECHNIQUES Usando il Timed Loop, potete specificare una varietà di attributi di temporizzazione inclusi periodo, priorità, deadline, offset e timeout. Con la combinazione di questi attributi e l ampia gamma di sorgenti di temporizzazione, potete creare sofisticate applicazioni indipendentemente dai vincoli di temporizzazione richiesti (figura 3). Figura 3. La struttura Timed Loop di LabVIEW Structure per l esecuzione di codice con vincoli di temporizzazione SORGENTI DI TEMPORIZZAZIONE PER IL TIMED LOOP Una sorgente di temporizzazione controlla l esecuzione di una struttura temporizzata. Potete selezionare fra tre classi di sorgenti di temporizzazione: interna, triggerata da software o esterna (figura 4). Figura 4. Sorgenti di temporizzazione per la struttura Timed Loop: sorgenti di temporizzazione interne incorporate, sorgenti triggerate da software e sorgenti esterne SORGENTE DI TEMPORIZZAZIONE INTERNA La sorgente di temporizzazione interna usa il nanosecond engine per tenere traccia del tempo. Potete configurare il Timed Loop in modo che usi un clock a 1 khz o un clock a 1 MHz su un target real-time (RT) supportato. Usando il clock a 1 khz, potete schedulare una struttura temporizzata con una risoluzione del millisecondo. Tutte le piattaforme LabVIEW che possono eseguire una struttura temporizzata supportano la sorgente di temporizzazione a 1 khz. I targets che supportano la sorgente di temporizzazione a 1 MHz possono schedulare una struttura temporizzata con una risoluzione del microsecondo. Potete anche configurare la struttura Timed Loop in modo che usi una di queste sorgenti di temporizzazione incorporate come riferimento di tempo assioluto per iniziare l esecuzione della struttura usando timestamp. Per esempio, potete configurare il Timed Loop in modo che parta ad un orario preciso tutti i giorni. Una sorgente di temporizzazione interna addizionale è il Synchronize to Scan Engine, che sincronizza la struttura temporizzata con l NI Scan Engine. Usando questa sorgente di temporizzazione, la struttura temporizzata viene eseguita alla fine di ogni scansione. Il periodo fra le iterazioni corrisponde all impostazione dello Scan Period (μs) che configurate sulla pagina NI Scan Engine. SORGENTI DI TEMPORIZZAZIONE TRIGGERATE DA SOFTWARE Potete creare una sorgente di temporizzazione triggerata da software in modo che triggeri una struttura temporizzata in base a un evento definito via software. Usate il VI Create Timing Source per creare una sorgente di temporizzazione triggerata da software. Usate il VI Fire Software-Triggered Timing Source per triggerare programmaticamente un Timed Loop controllato da una sorgente di temporizzazione triggerata da software. Potete usare una sorgente di temporizzazione triggerata da software come un gestore di eventi RT-compatibile o per notificare a un Timed Loop consumer quando diventano disponibili nuovi dati in un applicazione producer-consumer. SORGENTI DI TEMPORIZZAZIONE ESTERNE Potete creare sorgenti di temporizzazione esterne per controllare una struttura temporizzata con NI-DAQmx Versione 7.2 o successiva. Usate il VI Create Timing Source del DAQmx per selezionare programmaticamente una sorgente di temporizzazione esterna. Potete anche usare più tipi di sorgenti di temporizzazione NI-DAQmx, incluse le sorgenti Frequency, Digital Edge Counter, Digital Change Detection e Signal from Task per controllare strutture temporizzate. Usate i VI DAQmx - Data Acquisition per creare i seguenti tipi di sorgenti di temporizzazione NI-DAQmx per controllare una struttura temporizzata: Frequency Crea una sorgente di temporizzazione che provoca l esecuzione di una struttura temporizzata ad una frequenza costante. Digital Edge Counter Crea una sorgente di temporizzazione che provoca l esecuzione di una struttura temporizzata sui fronti di salita o di discesa di un segnale digitale. Digital Change Detection Crea una sorgente di temporizzazione che provoca l esecuzione di una struttura temporizzata sui fronti di salita o di discesa di una o più linee digitali. Signal from Task Crea una sorgente di temporizzazione che usa il segnale da voi specificato per determinare quando una struttura temporizzata viene eseguita. Note sull autore Joseph Di Giovanni è un Software Group Manager della ricerca e sviluppo di LabVIEW FPGA in National Instruments. E' laureato in ingegneria elettronica alla Georgia Tech. 13

15 15 TIPS & TECHNIQUES IL COMPILATORE LABVIEW: CHE COSA C È SOTTO IL COFANO LabVIEW è un linguaggio compilato. Ciò significa che il codice G che scrivete viene tradotto in codice macchina nativo ed eseguito direttamente dal computer host Jeffrey Phillips La progettazione di un compilatore anche per un linguaggio di programmazione banale può diventare facilmente un problema complesso. La teoria dei compilatori è considerata una conoscenza ad elevata specializzazione anche fra gli ingegneri software professionisti. Il moderno LabVIEW è un linguaggio multiparadigmatico, che abbraccia un ampia varietà di concetti inclusi il flusso dei dati, l orientamento agli oggetti e la programmazione guidata da eventi. LabVIEW raggiunge inoltre piattaforme diverse, eseguendo o su più SO (Windows, Linux, Mac), più chipset (PowerPC, Intel) e anche target come dispositivi embedded e chip FPGA (Field-programmable gate array), che si differenziano dalle tradizionali architetture PC. Come potete dedurre, il compilatore di LabVIEW è un sistema sofisticato e per spiegarlo bisognerebbe andare molto al di là di un singolo articolo. Questo particolare articolo introduce il compilatore di LabVIEW, spiega brevemente la sua evoluzione a partire dal 1986 con LabVIEW 1.0, e descrive la sua forma attuale. Inoltre, esplora le recenti innovazioni dei compilatori e sottolinea i vantaggi di queste nuove caratteristiche per l architettura LabVIEW e per voi. COMPILAZIONE E INTERPRETAZIONE LabVIEW è un linguaggio compilato, cosa che può sorprendere perché, durante il tipico sviluppo G, non vi è una fase esplicita di compilazione. Al contrario, potete cambiare il vostro VI e premere semplicemente il pulsante Run per eseguirlo. Compilazione significa che il codice G che scrivete viene tradotto in codice macchina nativo ed è quindi eseguito direttamente dal computer host. Un alternativa a questo approccio è l interpretazione, dove i programmi sono eseguiti indirettamente da un altro programma software (chiamato interprete) anziché direttamente dal computer. Nulla nel linguaggio LabVIEW richiede che sia compilato o interpretato; infatti, la prima versione di LabVIEW usava un interprete. Nelle versioni successive, il compilatore ha sostituito l interprete per spingere le prestazioni di esecuzione dei VI, cosa che è un comune differenziatore dei compilatori rispetto agli interpreti. Gli interpreti tendono a essere più facili da scrivere e mantenere a scapito di prestazioni di esecuzione più lente, mentre i compilatori tendono a essere più complessi da implementare ma offrono tempi di esecuzione più veloci. Uno dei benefici primari del compilatore di LabVIEW è che i miglioramenti apportati al compilatore sono visti da tutti i VI senza la necessità di cambiamenti. Infatti, uno dei focus primari della versione 2010 di LabVIEW sono state le ottimizzazioni all interno del compilatore per velocizzare il tempo di esecuzione dei VI. UNA PROSPETTIVA STORICA DEL COMPILATORE DI LABVIEW Prima di saltare in una discussione approfondita degli attuali elementi interni del compilatore, conviene riassumere lo sviluppo del compilatore dalle sue prime forme, oltre 20 anni fa. Alcuni degli algoritmi che introdurremo, come propagazione dei tipi, clumping e inplaceness, sono descritti in maggiore dettaglio nella discussione sul moderno compilatore di LabVIEW. LabVIEW 1.0 è stato introdotto nel Come già detto, nella sua prima versione LabVIEW usava un interprete ed era eseguibile solo sul Motorola A quel tempo, il nuovo linguaggio LabVIEW era molto più semplice, cosa che alleviava anche i requisiti del compilatore (allora un interprete). Per esempio, non c era polimorfismo e l unico tipo numerico era quello in virgola mobile a precisione estesa. LabVIEW 1.1 vide l introduzione dell algoritmo inplaceness, o dell inplacer. Tale algoritmo identifica le allocazioni dei dati che potete riutilizzare durante l esecuzione, evitando inutili copie dei dati e, di conseguenza, velocizzando spesso nettamente le prestazioni di esecuzione. In LabVIEW 2.0, l interprete è stato sostituito con un effettivo compilatore. Pur essendo ancora targetizzatorimanendo eseguibile ancora esclusivamente sui Motorola Motorola, LabVIEW poteva generare codice macchina nativo. Nella Version 2.0 è stato aggiunto anche l algoritmo di propagazione dei tipi di dato che, fra le altre cose, gestisce il controllo della sintassi e la risoluzione dei tipi sul linguaggio LabVIEW in crescita. Un altra grossa innovazione in LabVIEW 2.0 è stata 14

16 TIPS & TECHNIQUES l introduzione del clumper. L algoritmo di clumping identifica il parallelismo nel diagramma LabVIEW e raggruppa i nodi in clump, che possono essere eseguiti in parallelo. Gli algoritmi di propagazione dei tipi, inplaceness e clumping continuano a essere componenti importanti del moderno compilatore LabVIEW e hanno visto numerosi miglioramenti incrementali nel tempo. L infrastruttura del nuovo compilatore in LabVIEW 2.5 ha aggiunto supporto per back end multipli, specificamente Intel x86 and Sparc. LabVIEW 2.5 ha inoltre introdotto il linker, che gestisce le dipendenze fra VI per tracciarli quando devono essere ricompilati. Due nuovi back end, PowerPC e HP PA-RISC, sono stati aggiunti insieme al folding delle costanti in LabVIEW 3.1. LabVIEW 5.0 e 6.0 hanno ridato slancio al generatore di codice e hanno aggiunto la GenAPI, un interfaccia comune ai molteplici back end. La GenAPI cross-compila, cosa importante per lo sviluppo real-time. Gli sviluppatori real-time tipicamente scrivono i VI su un PC host ma li installano (e li compilano per) un target real-time. Inoltre, è stata inclusa una forma limitata di spostamento del codice loop-invariante. Infine, il sistema di esecuzione multitasking di LabVIEW è stato esteso per supportare thread multipli. LabVIEW 8.0 si è basato sull infrastruttura GenAPI introdotta nella Version 5.0 per aggiungere un algoritmo di allocazione dei registri. Prima dell introduzione della GenAPI, i registri erano hardcoded nel codice generato per ogni nodo. Sono state introdotte anche forme limitate di eliminazione del codice irraggiungibile e del codice morto. LabVIEW 2009 ha apportato come novità LabVIEW a 64 bit e la Dataflow epresentation (DFIR). La DFIR è stata immediatamente usata per costruire forme più avanzate di spostamento del codice loopinvariante, folding delle costanti, eliminazione del codice morto ed eliminazione del codice irraggiungibile. Nuove caratteristiche del linguaggio introdotte in 2009, come il For Loop parallelo, sono state basate sulla DFIR. Finalmente, in LabVIEW 2010, la DFIR offre nuove ottimizzazioni del compilatore, come la riassociazione algebrica, l eliminazione delle sottoespressioni comuni, il loop unrolling e l inlining dei subvi. Questa versione include anche l adozione di una macchina virtuale a basso livello (LLVM) nella catena del compilatore LabVIEW. La LLVM è un infrastruttura compilatore open-source molto usata nell industria. Con la LLVM, sono state aggiunte nuove ottimizzazioni come la pianificazione delle istruzioni, il loop unswitching, la combinazione delle istruzioni, la propagazione condizionata e un allocatore di registri più sofisticato. L ATTUALE PROCESSO DI COMPILAZIONE Con una comprensione di base della storia del compilatore di LabVIEW, ora potete esplorare il processo di compilazione nel moderno LabVIEW. In primo luogo, esaminiamo una visione d insieme ad alto livello dei vari passi di compilazione e rivisitiamo quindi ogni parte in maggiore dettaglio. Il primo passo nella compilazione di un VI è l algoritmo di propagazione dei tipi di dato. Questo passo complesso è responsabile del riconoscimento dei tipi implicati per i terminali che possono adattarsi al tipo di dato, nonché del rilevamento degli errori di sintassi. Tutti i possibili errori di sintassi nel linguaggio di programmazione G sono rilevati durante l algoritmo di propagazione dei tipi. Se l algoritmo determina che il VI è valido, la compilazione continua. Dopo la propagazione dei tipi di dato, il VI viene convertito dal modello usato dall editor del diagramma a blocchi nella DFIR usata dal compilatore. Dopo la conversione nella DFIR, il compilatore esegue diverse trasformazioni sul grafico DFIR per decomporlo, ottimizzarlo e prepararlo per la generazione del codice. Molte delle ottimizzazioni del compilatore ad esempio, l inplacer e il clumper sono implementate come trasformazioni e vengono eseguite in questo passo. Dopo l ottimizzazione e la semplificazione del grafico DFIR, viene tradotto nella rappresentazione intermedia LLVM. Vengono eseguiti uuna serie di passaggi LLVM sulla rappresentazione intermedia per ottimizzarla e abbassarla ulteriormente, fino al codice macchina. PROPAGAZIONE DEI TIPI DI DATO Come detto in precedenza, l algoritmo di propagazione dei tipi identifica i tipi di dato e rivela gli errori di programmazione. Questo algoritmo ha diverse responsabilità, incluse le seguenti: Identificare i tipi di dato implicati per i terminali che possono adattarsi al tipo Riconoscere le chiamate ai subvi e determinare la loro validità Calcolare la direzione dei fili Verificare i cicli nel VI Rivelare e riportare gli errori di sintassi Questo algoritmo viene eseguito dopo ogni cambiamento che apportate a un VI per determinare se il VI è ancora buono, quindi è un po discutibile il fatto che questo passo faccia realmente parte della compilazione. Tuttavia, è il passo nella catena di compilazione di LabVIEW che corrisponde più chiaramente ai passi di analisi lessicale, parsing o analisi semantica in un compilatore tradizionale. Un semplice esempio di un terminale che si adatta al tipo di dato è la primitiva di somma in LabVIEW. Sommando due interi, il risultato è un intero, ma se sommate due numeri a virgola mobile, il risultato è un numero a virgola mobile. Modelli simili esistono per tipi composti come array e cluster. Vi sono altri costrutti del linguaggio come gli shift register che hanno regole di tipizzazione più complesse. Nel caso della primitiva di somma, il tipo di dato in uscita è determinato dai tipi in ingresso e si dice che il tipo si propaga attraverso il diagramma, da cui il nome dell algoritmo. 15

17 15 TIPS & TECHNIQUES Questo esempio illustra anche la responsabilità nel controllo della sintassi dell algoritmo di propagazione dei tipi. Supponete di cablare un intero e una stringa alla primitiva di addizione che cosa accadrebbe? In questo caso, sommare questi due valori non ha senso, quindi l algoritmo di propagazione dei tipi lo riporta come errore e marca il VI come cattivo, causando la rottura della freccia di esecuzione. RAPPRESENTAZIONI INTERMEDIE CHE COSA E PERCHÉ Dopo che la propagazione dei tipi decide che un VI è valido, la compilazione continua e il VI è tradotto nella DFIR. Prendiamo in considerazione le rappresentazioni intermedie (IR) in generale prima di dettagliare la DFIR. Una IR è una rappresentazione del programma utente che è manipolata mano a mano che la compilazione progredisce attraverso le varie fasi. La nozione di IR è comune nella moderna letteratura sui compilatori e può essere applicata a qualsiasi linguaggio di programmazione. Consideriamo qualche esempio. Oggi esiste una varietà di IR ben note. Due esempi comuni sono gli alberi di sintassi astratti (AST) e il codice a tre indirizzi. La figura 1 mostra una rappresentazione AST dell espressione Figura 1. Esempio di IR AST t0 <- y t1 <- 3 t2 <- t0 * t1 t3 <- x t4 <- t3 + t2 x + y * 3, mentre la tabella 1 nella parte destra, mostra la rappresentazione basata su codice a tre indirizzi. Un ovvia differenza fra queste due rappresentazioni è che l AST è molto più ad alto livello. Essa si avvicina più alla rappresentazione sorgente del programma (C) che alla rappresentazione target (codice macchina). Il codice a tre indirizzi, invece, è a basso livello e assomiglia più all assembly. Le rappresentazioni ad alto e a basso livello hanno entrambe i loro vantaggi. Per esempio, le analisi come l analisi della dipendenza possono essere più facili da eseguire su una rappresentazione ad alto livello come l AST che su una a basso livello come il codice a tre indirizzi. Altre ottimizzazioni, come l allocazione dei registri o la schedulazione delle istruzioni, sono tipicamente eseguite su una rappresentazione a basso livello come il codice a tre indirizzi. Poiché IR differenti hanno punti di forza e debolezza differenti, molti compilatori (incluso quello di LabVIEW) usano più IR. Nel caso di LabVIEW, la DFIR è usata come IR ad alto livello, mentre la IR LLVM è usata come IR a basso livello. DFIR In LabVIEW, la rappresentazione ad alto livello è la DFIR, che è gerarchica e basata su grafici e assomiglia allo stesso codice G. Come il G, la DFIR è composta da vari nodi, ciascuno dei quali contiene terminali. I terminali possono essere connessi ad altri terminali. Alcuni nodi, come i loop, contengono diagrammi, che possono a loro volta contenere altri nodi. Figura 2. Codice G di LabVIEW e grafico DFIR equivalente La figura 2 mostra un semplice VI insieme alla sua rappresentazione DFIR iniziale. Quando il grafico DFIR di un VI viene creato per la prima volta, è una traduzione diretta del codice G e i nodi nel grafico DFIR generalmente hanno una corrispondenza uno a uno con i nodi nel codice G. Mano a mano che la compilazione progredisce, i nodi DFIR possono essere spostati o divisi, oppure possono essere inseriti nuovi nodi DFIR. Uno dei vantaggi chiave della DFIR è che preserva caratteristiche come il parallelismo implicito nel vostro codice G. Il parallelismo rappresentato nel codice a tre indirizzi, al contrario, è molto più difficile da discernere. La DFIR offre due significativi vantaggi al compilatore LabVIEW. Innanzitutto, la DFIR disaccoppia la rappresentazione del VI dell editor da quella del compilatore. Inoltre, la DFIR agisce da hub comune per il compilatore, che ha numerosi front e back end. Consideriamo ciascuno di questi vantaggi in maggiore dettaglio. IL GRAFICO DFIR DISACCOPPIA LA RAPPRESENTAZIO- NE DELL EDITOR DA QUELLA DEL COMPILATORE Prima dell avvento della DFIR, LabVIEW aveva una singola rappresentazione del VI condivisa dell editor e dal compilatore. Questo proibiva al compilatore di modificare la rappresentazione durante il processo di compilazione, cosa che, a sua volta, rendeva difficile introdurre ottimizzazioni del compilatore. Figura 3. La DFIR fornisce un framework che permette al compilatore di ottimizzare il vostro codice 16

18 TIPS & TECHNIQUES La figura 3 mostra un grafico DFIR per il VI presentato prima. Il grafico rappresenta un tempo molto successivo nel processo del compilatore, dopo che diverse trasformazioni lo hanno scomposto e ottimizzato. Come potete vedere, il grafico è parecchio diverso dal grafico precedente. Per esempio: Le trasformazioni di scomposizione hanno rimosso i nodi controllo indicatore e SubVI e li hanno sostituiti con nuovi nodi UIAccessor, UIUpdater, FunctionResolvere FunctionCall Lo spostamento delle parti di codice loop-invarianti ha portato i nodi di incremento e moltiplicazione all esterno del corpo del loop Il clumper ha introdotto un nodo YieldIfNeeded all interno del For Loop, provocando la condivisione dell esecuzione del thread in esecuzione con altri elementi di lavoro in competizione La trasformazioni sono descritte in maggiore dettaglio in un paragrafo successivo. L IR della DFIR serve come hub comune per i front e back end multipli del compilatore LabVIEW funziona su numerosi target differenti, alcuni dei quali sono nettamente diversi fra loro, per esempio un PC desktop x86 e un FPGA Xilinx. Analogamente, LabVIEW presenta più modelli di calcolo all utente. Oltre alla programmazione grafica in G, LabVIEW offre matematica testuale in MathScript, per fare un esempio. Ciò si traduce in una raccolta di front e back end, che devono tutti funzionare con il compilatore di LabVIEW. Usando la DFIR come IR comune che tutti i front end producono e tutti i back end consumano facilita il riutilizzo fra le varie combinazioni. Per esempio, un implementazione di un ottimizzazione a folding di costanti seguita su un grafico DFIR può essere scritta una sola volta ed applicata a target desktop, real-time, FPGA ed embedded. SCOMPOSIZIONI DELLA DFIR Una volta nella DFIR, il VI è sottoposto in primo luogo a una serie di trasformazioni di scomposizione. Le trasformazioni di scomposizione puntano a ridurre o normalizzare il grafico DFIR. Per esempio, la scomposizione dei tunnel d uscita non cablati trova i tunnel d uscita su strutture case e strutture a eventi che non sono cablati e configurati come Use Default If Unwired. Per questi terminali, la trasformazione lascia una costante con il valore di default e la cabla al terminale, rendendo quindi il comportamento Use Default If Unwired esplicito nel grafico DFIR. Successivi passaggi del compilatore possono quindi trattare tutti i terminali in modo identico e assumere che tutti abbiano ingressi cablati. In questo caso, la caratteristica Use Default If Unwired del linguaggio è stata compilata via riducendo la rappresentazione a una forma più fondamentale. Questa idea può essere applicata anche a caratteristiche più complesse del linguaggio. Per esempio, una trasformazione di scomposizione è usata per ridurre il Feedback Node in shift register su un While Loop. Un altra scomposizione implementa il For Loop parallelo in diversi For Loop sequenziali con un po di logica addizionale per dividere gli ingressi in parti parallelizzabili per i loop sequenziali e riunire le parti fra loro successivamente. Anche una nuova caratteristica in LabVIEW 2010, l inlining dei subvi, è implementata come una scomposizione DFIR. Durante questa fase della compilazione, il grafico DFIR dei subvi marcati inline è inserito direttamente nel grafico DFIR chiamante. Oltre a evitare l overhead della chiamata di un subvi, l inlining mette in luce opportunità di ottimizzazione addizionali combinando il chiamante e il chiamato in un singolo grafico DFIR. Per esempio, consideriamo questo semplice VI che chiama il TrimWhitespace.vi da vi.lib. Figura 4. Esempio di un semplice VI per dimostrare le ottimizzazioni della DFIR La TrimWhitespace.vi è definita in vi.lib nel modo seguente: Figura 5. Diagramma a blocchi di TrimWhitespace.vi Il subvi è inlined nel chiamante, ottenendo un grafico DFIR equivalente al seguente codice G. Figura 6. Codice G equivalente al grafico DFIR di TrimWhitespace.vi inlined Ora che il diagramma del subvi è inlined nel diagramma del chiamante, l eliminazione del codice irraggiungibile e l eliminazione del codice morto possono semplificare il codice. La prima struttura case è sempre eseguita, mentre la seconda struttura case non è mai eseguita. 17

19 15 TIPS & TECHNIQUES b) Figura 7. Le strutture case possono essere rimosse perché la logica d ingresso è costante Analogamente, lo spostamento del codice loop-invariante sposta la primitiva del match pattern fuori dal loop. Il grafico DFIR finale è equivalente al seguente codice G. In questo caso, il diagramma Do not increment della struttura case non è mai eseguito, quindi la trasformazione rimuove tale caso. Poiché la struttura case ha un solo caso rimanente, viene sostituita con una struttura in sequenza. In seguito, l eliminazione del codice morto rimuove il frame e la costante enumerata. SPOSTAMENTO DEL CODICE LOOP-INVARIANTE Lo spostamento del codice loop-invariante identifica il codice entro il corpo di un loop che è possibile spostare all esterno con sicurezza. Poiché il codice spostato viene eseguito meno volte, la velocità di esecuzione complessiva migliora. Figura 8. Codice G equivalente al grafico DFIR finale Poiché il TrimWhitespace.vi è marcato come inline in LabVIEW 2010 per default, tutti i client di questo VI ricevono questi benefici automaticamente. OTTIMIZZAZIONI DELLA DFIR Dopo la profonda scomposizione del grafico DFIR, iniziano i passaggi di ottimizzazione della DFIR. Ulteriori ottimizzazioni sono eseguite in seguito durante la compilazione LLVM. Questo paragrafo copre solo una parte delle numerose ottimizzazioni. Ciascuna di queste trasformazioni è una comune ottimizzazione del compilatore, quindi dovrebbe essere facile trovare altre informazioni su una specifica ottimizzazione. ELIMINAZIONE DEL CODICE IRRAGGIUNGIBILE Il codice che non può mai essere eseguito è irraggiungibile. Rimuovere il codice irraggiungibile non rende direttamente il vostro tempo di esecuzione molto più veloce, ma rende il vostro codice più piccolo e accelera i tempi di compilazione perché il codice rimosso non è mai trasmesso nelle nei successivi passaggi di compilazione. Figura 10. Codice G equivalente per la scomposizione con spostamento del codice loop-invariante della DFIR Prima della trasformazione con spostamento del codice loopinvariante (a sinistra) Dopo la trasformazione con spostamento del codice loop-invariante ( a destra) In questo caso, l operazione di incremento è spostata all esterno del loop. Il corpo del loop rimane permettendo la costruzione dell array, ma i calcoli non devono essere ripetuti in ogni iterazione. ELIMINAZIONE DELLE SOTTOESPRESSIONI COMUNI L eliminazione delle sottoespressioni comuni identifica calcoli ripetuti, esegue i calcoli una sola volta e riusa i risultati. Figura 9. Codice G equivalente per la scomposizione con eliminazione del codice irraggiungibile della DFIR a) prima dell eliminazione del codice irraggiungibile b) dopo l eliminazione del codice irraggiungibile a) Figura 11. Codice G equivalente per la scomposizione con eliminazione delle sottoespressioni comuni della DFIR Prima (a sinistra) e dopo ( a destra) FOLDING DELLE COSTANTI Il folding delle costanti identifica parti di un diagramma che rimangono costanti durante l esecuzione del codice e che quindi possono essere determinate in anticipo. 18

20 TIPS & TECHNIQUES b) Figura 12. Il folding delle costanti può essere visualizzato nel diagramma a blocchi LabVIEW Le marcature tratteggiate sul VI nella figura 12 indicano le parti constant-folded. In questo caso, il controllo offset non può essere constant folded, ma l altro operando della primitiva di somma, incluso il For Loop, è valutato come costante. LOOP UNROLLING Il loop unrolling riduce l overhead di un loop ripetendo più volte il corpo del loop nel codice generato e riducendo il numero totale delle iterazioni dello stesso fattore. Ciò riduce l overhead del loop e mette in luce opportunità per ulteriori ottimizzazioni a scapito di un certo aumento delle dimensioni del codice. ELIMINAZIONE DEL CODICE MORTO Il codice morto è codice inutile. Rimuovere il codice morto velocizza il tempo di esecuzione, perché il codice rimosso non viene più eseguito. Il codice morto è normalmente prodotto dalla manipolazione del grafico DFIR da trasformazioni che non avete scritto direttamente. Consideriamo il seguente esempio. L eliminazione del codice irraggiungibile determina che la struttura case può essere rimossa. Ciò crea codice morto che la trasformazione di eliminazione del codice morto può rimuovere. Figura 13. L eliminazione del codice morto può ridurre la quantità di codice che il compilatore deve attraversare a) Prima dell'eliminazione del codice irraggiungibile b) Dopo l eliminazione del codice morto a) La maggior parte delle trasformazioni coperte in questo paragrafo hanno interrelazioni come questa. Eseguire una trasformazione può mettere in luce opportunità per eseguire altre trasformazioni. TRASFORMAZIONI BACK-END DELLA DFIR Dopo la scomposizione ed ottimizzazione del grafico DFIR, viene eseguita una serie di trasformazioni back-end. Tali trasformazioni valutano e annotano il grafico DFIR in preparazione alla sintesi finale del grafico DFIR nella IR LLVM IR. CLUMPER L algoritmo di clumping analizza il parallelismo nel grafico DFIR e raggruppa i nodi in clump che si possono eseguire in parallelo. Questo algoritmo è strettamente legato al sistema di esecuzione run-time di LabVIEW, che usa il multitasking associato al multithreading. Ciascuno dei clump prodotti dal clumper è organizzato come task individuale nel sistema di esecuzione. I nodi all interno dei clump sono eseguiti in un ordine fisso, sequenziale. Avere un ordine di esecuzione predeterminato con ogni clump permette all inplacer di condividere le allocazioni dei dati e migliorare nettamente le prestazioni. Il clumper è anche responsabile dell inserimento di prodotti intermedi in operazioni lunghe, come loop o I/O, in modo che tali clump siano eseguiti cooperativamente in multitask con altri clump. Inplacer L inplacer analizza il grafico DFIR e identifica quando è possibile riutilizzare allocazioni dei dati e quando è necessario fare una copia. Un filo in LabVIEW può essere un semplice scalare a 32 bit o un array di 32 MB. Fare in modo che tali dati siano riutilizzati il più possibile è critico in un linguaggio a flusso di dati come LabVIEW. Considerate il seguente esempio (notate che il debugging del VI è disabilitato per ottenere le prestazioni e l ingombro di memoria migliori). 19

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

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

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

La Valutazione Euristica

La Valutazione Euristica 1/38 E un metodo ispettivo di tipo discount effettuato da esperti di usabilità. Consiste nel valutare se una serie di principi di buona progettazione sono stati applicati correttamente. Si basa sull uso

Dettagli

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO Precisione del riconoscimento Velocità di riconoscimento Configurazione del sistema Correzione Regolazione della

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

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

***** Il software IBM e semplice *****

***** Il software IBM e semplice ***** Il IBM e semplice ***** ***** Tutto quello che hai sempre voluto sapere sui prodotti IBM per qualificare i potenziali clienti, sensibilizzarli sulle nostre offerte e riuscire a convincerli. WebSphere IL

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

Dettagli

Corso. LabVIEW. a cura di FRANCESCO FICILI. oltre l elettronica N 144-152

Corso. LabVIEW. a cura di FRANCESCO FICILI. oltre l elettronica N 144-152 Corso LabVIEW a cura di FRANCESCO FICILI N 144-152 oltre l elettronica Sommario LEZIONI 1 9 LEZIONE 1 Iniziamo a conoscere la piattaforma software LabVIEW di National Instruments, un innovativo ambiente

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

Seagate Access per Personal Cloud Manuale utente

Seagate Access per Personal Cloud Manuale utente Seagate Access per Personal Cloud Manuale utente 2015 Seagate Technology LLC. Tutti i diritti riservati. Seagate, Seagate Technology, il logo Wave e FreeAgent sono marchi depositati o marchi registrati

Dettagli

Virtualizzazione e installazione Linux

Virtualizzazione e installazione Linux Virtualizzazione e installazione Linux Federico De Meo, Davide Quaglia, Simone Bronuzzi Lo scopo di questa esercitazione è quello di introdurre il concetto di virtualizzazione, di creare un ambiente virtuale

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Mini manuale di Audacity.

Mini manuale di Audacity. Mini manuale di Audacity. Questo mini manuale è parte del corso on-line Usare il software libero di Altrascuola. Il corso è erogato all'interno del portale per l'e-learning Altrascuola con la piattaforma

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

CLOUD SURVEY 2012: LO STATO DEL CLOUD COMPUTING IN ITALIA

CLOUD SURVEY 2012: LO STATO DEL CLOUD COMPUTING IN ITALIA CLOUD SURVEY 2012: LO STATO DEL CLOUD COMPUTING IN ITALIA 2ª PARTE NEL CAPITOLO PRECEDENTE NOTA METODOLOGICA LA PAROLA AI CIO I MIGLIORI HYPERVISOR AFFIDARSI AI VENDOR INVESTIRE PER IL CLOUD APPLICAZIONI

Dettagli

I.Stat Guida utente Versione 1.7 Dicembre 2010

I.Stat Guida utente Versione 1.7 Dicembre 2010 I.Stat Guida utente Versione 1.7 Dicembre 2010 1 Sommario INTRODUZIONE 3 I concetti principali di I.Stat 4 Organizzazione dei dati 4 Ricerca 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della lingua 7 Individuazione

Dettagli

INDICE Informazioni Generali... 4. Comprare ebook con Kobo Desktop... 8. Usare la Libreria di Kobo Desktop... 10. Leggere su Kobo Desktop...

INDICE Informazioni Generali... 4. Comprare ebook con Kobo Desktop... 8. Usare la Libreria di Kobo Desktop... 10. Leggere su Kobo Desktop... Kobo Desktop Manuale Utente INDICE Informazioni Generali... 4 Installare Kobo Desktop su Windows... 5 Installare Kobo Desktop su Mac... 6 Comprare ebook con Kobo Desktop... 8 Usare la Libreria di Kobo

Dettagli

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A Leggere attentamente questo manuale prima dell utilizzo e conservarlo per consultazioni future Via Don Arrigoni, 5 24020 Rovetta

Dettagli

Articolo. Dieci buoni motivi per acquistare una telecamere di rete Ovvero, quello che il vostro fornitore di telecamere analogiche non vi dirà mai

Articolo. Dieci buoni motivi per acquistare una telecamere di rete Ovvero, quello che il vostro fornitore di telecamere analogiche non vi dirà mai Articolo Dieci buoni motivi per acquistare una telecamere di rete Ovvero, quello che il vostro fornitore di telecamere analogiche non vi dirà mai INDICE Introduzione 3 Dieci cose che il vostro fornitore

Dettagli

Oscilloscopi serie WaveAce

Oscilloscopi serie WaveAce Oscilloscopi serie WaveAce 60 MHz 300 MHz Il collaudo facile, intelligente ed efficiente GLI STRUMENTI E LE FUNZIONI PER TUTTE LE TUE ESIGENZE DI COLLAUDO CARATTERISTICHE PRINCIPALI Banda analogica da

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

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

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana Storie di successo Microsoft per le Imprese Scenario: Software e Development Settore: Servizi In collaborazione con Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

Entrate... 11 Uscite... 11 Trasferimento... 11 Movimenti ricorrenti... 11 Movimenti suddivisi... 12

Entrate... 11 Uscite... 11 Trasferimento... 11 Movimenti ricorrenti... 11 Movimenti suddivisi... 12 Data ultima revisione del presente documento: domenica 8 maggio 2011 Indice Sommario Descrizione prodotto.... 3 Licenza e assunzione di responsabilità utente finale:... 4 Prerequisiti:... 5 Sistema Operativo:...

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

8. L'USO DEL PROGRAMMA DI POSTA ELETTRONICA INSIEME ALLA GESTIONE PROFESSIONALE DI DOCUMENTI IN FORMATO E-MAIL

8. L'USO DEL PROGRAMMA DI POSTA ELETTRONICA INSIEME ALLA GESTIONE PROFESSIONALE DI DOCUMENTI IN FORMATO E-MAIL This project funded by Leonardo da Vinci has been carried out with the support of the European Community. The content of this project does not necessarily reflect the position of the European Community

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

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

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

Boot Camp Guida di installazione e configurazione

Boot Camp Guida di installazione e configurazione Boot Camp Guida di installazione e configurazione Indice 3 Introduzione 4 Panoramica dell'installazione 4 Passo 1: Verificare la presenza di aggiornamenti 4 Passo 2: Per preparare il Mac per Windows 4

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

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

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

Il software per la gestione smart del Call Center

Il software per la gestione smart del Call Center Connecting Business with Technology Solutions. Il software per la gestione smart del Call Center Center Group srl 1 Comunica : per la gestione intelligente del tuo call center Comunica è una web application

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

Dettagli

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive 1 MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive Cos è un servizio di e-learning SaaS, multimediale, interattivo

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

Software 2. Classificazione del software. Software di sistema

Software 2. Classificazione del software. Software di sistema Software 2 Insieme di istruzioni e programmi che consentono il funzionamento del computer Il software indica all hardware quali sono le operazioni da eseguire per svolgere determinati compiti Valore spesso

Dettagli

WINDOWS - Comandi rapidi da tastiera più utilizzati.

WINDOWS - Comandi rapidi da tastiera più utilizzati. WINDOWS - Comandi rapidi da tastiera più utilizzati. La prima colonna indica il tasto da premere singolarmente e poi rilasciare. La seconda e terza colonna rappresenta la combinazione dei i tasti da premere

Dettagli

Guida rapida. Cos è GeoGebra? Notizie in pillole

Guida rapida. Cos è GeoGebra? Notizie in pillole Guida rapida Cos è GeoGebra? Un pacchetto completo di software di matematica dinamica Dedicato all apprendimento e all insegnamento a qualsiasi livello scolastico Riunisce geometria, algebra, tabelle,

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

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

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

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

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

SIMATIC FM 351. Getting Started Edizione 02/2000

SIMATIC FM 351. Getting Started Edizione 02/2000 SIATIC F 351 Getting Started Edizione 02/2000 Le presenti informazioni guidano l utente, sulla base di un esempio concreto articolato in cinque fasi, nell esecuzione della messa in servizio fino ad ottenere

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

È nata una nuova specie di avvocati. Liberi.

È nata una nuova specie di avvocati. Liberi. È nata una nuova specie di avvocati. Liberi. LIBERI DI NON PENSARCI Basta preoccupazioni per il back-up e la sicurezza dei tuoi dati. Con la tecnologia Cloud Computing l archiviazione e la protezione dei

Dettagli

Configurazioni Mobile Connect

Configurazioni Mobile Connect Mailconnect Mail.2 L EVOLUZIONE DELLA POSTA ELETTRONICA Configurazioni Mobile Connect iphone MOBILE CONNECT CONFIGURAZIONE MOBILE CONNECT PER IPHONE CONFIGURAZIONE IMAP PER IPHONE RUBRICA CONTATTI E IPHONE

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

progettiamo e realizziamo architetture informatiche Company Profile

progettiamo e realizziamo architetture informatiche Company Profile Company Profile Chi siamo Kammatech Consulting S.r.l. nasce nel 2000 con l'obiettivo di operare nel settore I.C.T., fornendo servizi di progettazione, realizzazione e manutenzione di reti aziendali. Nel

Dettagli

La Borsa delle idee Innovare: il reale valore dei social network

La Borsa delle idee Innovare: il reale valore dei social network La Borsa delle idee Innovare: il reale valore dei social network Di cosa parliamo? La Borsa delle Idee è la soluzione per consentire alle aziende di coinvolgere attivamente le persone (dipendenti, clienti,

Dettagli

Integrazione. Ecad. Mcad. Ecad - MENTOR GRAPHICS

Integrazione. Ecad. Mcad. Ecad - MENTOR GRAPHICS Integrazione Ecad Mcad Ecad - MENTOR GRAPHICS MENTOR GRAPHICS - PADS La crescente complessità del mercato della progettazione elettronica impone l esigenza di realizzare prodotti di dimensioni sempre più

Dettagli

EndNote Web. Quick Reference Card THOMSON SCIENTIFIC

EndNote Web. Quick Reference Card THOMSON SCIENTIFIC THOMSON SCIENTIFIC EndNote Web Quick Reference Card Web è un servizio online ideato per aiutare studenti e ricercatori nel processo di scrittura di un documento di ricerca. ISI Web of Knowledge, EndNote

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

I componenti di un Sistema di elaborazione. CPU (central process unit)

I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

Progetto VirtualCED Clustered

Progetto VirtualCED Clustered Progetto VirtualCED Clustered Un passo indietro Il progetto VirtualCED, descritto in un precedente articolo 1, è ormai stato implementato con successo. Riassumendo brevemente, si tratta di un progetto

Dettagli

MINI GUIDA SINTETICA per l uso della lavagna interattiva multimediale

MINI GUIDA SINTETICA per l uso della lavagna interattiva multimediale MINI GUIDA SINTETICA per l uso della lavagna interattiva multimediale InterWrite SchoolBoard è un software per lavagna elettronica di facile utilizzo. Può essere adoperata anche da studenti diversamente

Dettagli

DAT@GON. Gestione Gare e Offerte

DAT@GON. Gestione Gare e Offerte DAT@GON Gestione Gare e Offerte DAT@GON partecipare e vincere nel settore pubblico La soluzione sviluppata da Revorg per il settore farmaceutico, diagnostico e di strumentazione medicale, copre l intero

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

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

RefWorks Guida all utente Versione 4.0

RefWorks Guida all utente Versione 4.0 Accesso a RefWorks per utenti registrati RefWorks Guida all utente Versione 4.0 Dalla pagina web www.refworks.com/refworks Inserire il proprio username (indirizzo e-mail) e password NB: Agli utenti remoti

Dettagli

OPERAZIONI SUL FILE SYSTEM OPERAZIONI SUL FILE SYSTEM

OPERAZIONI SUL FILE SYSTEM OPERAZIONI SUL FILE SYSTEM SPOSTARE un file o una sottodirectory da una directory ad un altra COPIARE un file o una directory da una directory all altra RINOMINARE un file o una directory CANCELLARE un file o una directory CREARE

Dettagli

Guida alle offerte di finanziamento per le medie imprese

Guida alle offerte di finanziamento per le medie imprese IBM Global Financing Guida alle offerte di finanziamento per le medie imprese Realizzata da IBM Global Financing ibm.com/financing/it Guida alle offerte di finanziamento per le medie imprese La gestione

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

minilector/usb Risoluzione dei problemi più comuni di malfunzionamento

minilector/usb Risoluzione dei problemi più comuni di malfunzionamento minilector/usb minilector/usb...1 Risoluzione dei problemi più comuni di malfunzionamento...1 1. La segnalazione luminosa (led) su minilector lampeggia?... 1 2. Inserendo una smartcard il led si accende

Dettagli

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE In un mercato delle Telecomunicazioni sempre più orientato alla riduzione delle tariffe e dei costi di

Dettagli

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE???

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Opportunità di lavoro: ICT - Information and Communication Technology in Azienda Vendite Acquisti Produzione Logistica AFM SIA ICT

Dettagli

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Introduzione generale Autenticazione dell operatore https://sebina1.unife.it/sebinatest Al primo accesso ai servizi di Back Office, utilizzando

Dettagli

Data warehouse.stat Guida utente

Data warehouse.stat Guida utente Data warehouse.stat Guida utente Versione 3.0 Giugno 2013 1 Sommario INTRODUZIONE 3 I concetti principali 4 Organizzazione dei dati 4 Ricerca 5 Il browser 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della

Dettagli

MailStore Proxy è disponibile gratuitamente per tutti i clienti di MailStore Server all indirizzo http://www.mailstore.com/en/downloads.

MailStore Proxy è disponibile gratuitamente per tutti i clienti di MailStore Server all indirizzo http://www.mailstore.com/en/downloads. MailStore Proxy Con MailStore Proxy, il server proxy di MailStore, è possibile archiviare i messaggi in modo automatico al momento dell invio/ricezione. I pro e i contro di questa procedura vengono esaminati

Dettagli

Setup e installazione

Setup e installazione Setup e installazione 2 Prima di muovere i primi passi con Blender e avventurarci nel vasto mondo della computer grafica, dobbiamo assicurarci di disporre di due cose: un computer e Blender. 6 Capitolo

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers

PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers PROCEDURA DI INSTALLAZIONE DI MYSQL E VolT per utenti Visual Trader e InteractiveBrokers La procedura di installazione è divisa in tre parti : Installazione dell archivio MySql, sul quale vengono salvati

Dettagli

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement BRM BusinessRelationshipManagement Tutte le soluzioni per la gestione delle informazioni aziendali - Business Intelligence - Office Automation - Sistemi C.R.M. I benefici di BRM Garantisce la sicurezza

Dettagli

PASSIONE PER L IT PROLAN. network solutions

PASSIONE PER L IT PROLAN. network solutions PASSIONE PER L IT PROLAN network solutions CHI SIAMO Aree di intervento PROFILO AZIENDALE Prolan Network Solutions nasce a Roma nel 2004 dall incontro di professionisti uniti da un valore comune: la passione

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

ATLAS : Aula - COME ESEGUIRE UNA SESSIONE DEMO

ATLAS : Aula - COME ESEGUIRE UNA SESSIONE DEMO ATLAS : Aula - COME ESEGUIRE UNA SESSIONE DEMO Come eseguire una sessione DEMO CONTENUTO Il documento contiene le informazioni necessarie allo svolgimento di una sessione di prova, atta a verificare la

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Scopo di questo corso, vuole essere quello di fornire ad ognuno dei partecipanti, indipendentemente dalle loro precedenti conoscenze informatiche, l apprendimento

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

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Protocolli di rete Sommario Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Configurazione statica e dinamica

Dettagli

Ninja Master Online STRATEGIE DI MARKETING & E-COMMERCE GENNAIO-MARZO

Ninja Master Online STRATEGIE DI MARKETING & E-COMMERCE GENNAIO-MARZO Ninja Master Online STRATEGIE DI MARKETING & 2013 GENNAIO-MARZO 9 CORSI: MARKETING STRATEGY BRANDING & VIRAL-DNA CONTENT STRATEGY DESIGN & USABILITY WEB MARKETING CUSTOMER RELATIONSHIP MANAGEMENT SOCIAL

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica IL SAMPLE AND HOLD Progetto di Fondamenti di Automatica PROF.: M. Lazzaroni Anno Accademico

Dettagli

Strumenti 3D per SMART Notebook 11.1. Manuale dell'utente

Strumenti 3D per SMART Notebook 11.1. Manuale dell'utente Strumenti 3D per SMART Notebook 11.1 Manuale dell'utente Registrazione del prodotto Se si registra il prodotto SMART, si verrà informati delle nuove funzionalità e aggiornamenti software disponibili. Registrazione

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli