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

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Dispensa di Informatica I.1

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

Dettagli

Linguaggi e Paradigmi di Programmazione

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

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

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

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

Dettagli

Architetture Applicative

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

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Docebo: la tua piattaforma E-Learning Google Ready.

Docebo: la tua piattaforma E-Learning Google Ready. Docebo: la tua piattaforma E-Learning Google Ready. Potenzia la tua suite Google Apps con Piattaforma FAD e Tutorial gratuiti Docebo! Docebo aiuta le aziende nella transizione da altre suite d ufficio

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

Il modello di ottimizzazione SAM

Il modello di ottimizzazione SAM Il modello di ottimizzazione control, optimize, grow Il modello di ottimizzazione Il modello di ottimizzazione è allineato con il modello di ottimizzazione dell infrastruttura e fornisce un framework per

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ SERVIZI DI PROJECT MANAGEMENT CENTRATE I VOSTRI OBIETTIVI LA MISSIONE In qualità di clienti Rockwell Automation, potete contare

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

Diode Array 7440 SD. Apparecchio NIR per analisi in linea. Affidabile, Accurato, Immediato

Diode Array 7440 SD. Apparecchio NIR per analisi in linea. Affidabile, Accurato, Immediato Diode Array 7440 SD Apparecchio NIR per analisi in linea Tutti i tipi di Snack Food Umidità, Grassi, sale Design industriale e sanitario Interfaccia basata su Web Affidabile, Accurato, Immediato Il controllo

Dettagli

ToolCare La gestione utensili di FRAISA NUOVO

ToolCare La gestione utensili di FRAISA NUOVO ToolCare La gestione utensili di FRAISA NUOVO [ 2 ] Più produttivi con ToolCare 2.0 Il nuovo sistema di gestione degli utensili Un servizio di assistenza che conviene Qualità ottimale, prodotti innovativi

Dettagli

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda. Scheda Il CRM per la Gestione delle Vendite Le organizzazioni di vendita sono costantemente alla ricerca delle modalità migliori per aumentare i ricavi aziendali e ridurre i costi operativi. Oggi il personale

Dettagli

MService La soluzione per ottimizzare le prestazioni dell impianto

MService La soluzione per ottimizzare le prestazioni dell impianto MService La soluzione per ottimizzare le prestazioni dell impianto Il segreto del successo di un azienda sta nel tenere sotto controllo lo stato di salute delle apparecchiature degli impianti. Dati industriali

Dettagli

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

LabVIEW offre un ambiente di programmazione grafica

LabVIEW offre un ambiente di programmazione grafica 03 COME OTTIMIZZARE IN LABVIEW APPLICAZIONI DI TEST AUTOMATIZZATI PER PROCESSORI MULTICORE David Hall Vediamo come delle applicazioni scritte in LabVIEW possono essere ottimizzate sfruttando tecniche di

Dettagli

Office 2007 Lezione 02. Le operazioni più

Office 2007 Lezione 02. Le operazioni più Le operazioni più comuni Le operazioni più comuni Personalizzare l interfaccia Creare un nuovo file Ieri ci siamo occupati di descrivere l interfaccia del nuovo Office, ma non abbiamo ancora spiegato come

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

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Soluzioni HP per la Gestione della Stampa. Tutto TEMPO GUADAGNATO.

Soluzioni HP per la Gestione della Stampa. Tutto TEMPO GUADAGNATO. Soluzioni HP per la Gestione della Stampa Tutto TEMPO GUADAGNATO. QUANTO TE HAI? MPO Le Soluzioni HP per la Gestione della Stampa riducono il tempo e l energia che spendi nella manutenzione e nello sviluppo

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

DOCUMENTO ESERCITAZIONE ONENOTE. Utilizzare Microsoft Offi ce OneNote 2003: esercitazione rapida

DOCUMENTO ESERCITAZIONE ONENOTE. Utilizzare Microsoft Offi ce OneNote 2003: esercitazione rapida Utilizzare Microsoft Offi ce OneNote 2003: esercitazione rapida MICROSOFT OFFICE ONENOTE 2003 AUMENTA LA PRODUTTIVITÀ CONSENTENDO AGLI UTENTI L ACQUISIZIONE COMPLETA, L ORGANIZZAZIONE EFFICIENTE E IL RIUTILIZZO

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

leaders in engineering excellence

leaders in engineering excellence leaders in engineering excellence engineering excellence Il mondo di oggi, in rapida trasformazione, impone alle imprese di dotarsi di impianti e macchinari più affidabili e sicuri, e di più lunga durata.

Dettagli

CONTROLLO DEGLI ACCESSI INTELLIGENTE PER UN FLUSSO DI PERSONE SICURO E CONFORTEVOLE. KONE Access

CONTROLLO DEGLI ACCESSI INTELLIGENTE PER UN FLUSSO DI PERSONE SICURO E CONFORTEVOLE. KONE Access CONTROLLO DEGLI ACCESSI INTELLIGENTE PER UN FLUSSO DI PERSONE SICURO E CONFORTEVOLE KONE Access 1 KONE Access per una gestione avanzata del flusso di persone KONE Access è una soluzione di controllo d

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

Il controllo della visualizzazione

Il controllo della visualizzazione Capitolo 3 Il controllo della visualizzazione Per disegnare in modo preciso è necessario regolare continuamente l inquadratura in modo da vedere la parte di disegno che interessa. Saper utilizzare gli

Dettagli

Office 2007 Lezione 08

Office 2007 Lezione 08 Word: gli stili veloci e i temi Da questa lezione, iniziamo ad occuparci delle innovazioni che riguardano specificamente Word. Cominceremo parlando di stili e temi. Nella filosofia di questo nuovo Word,

Dettagli

Servizio Monitoraggio Energia via Web. CEAM CWS32-H01 Professional Web Platform

Servizio Monitoraggio Energia via Web. CEAM CWS32-H01 Professional Web Platform Servizio Monitoraggio Energia via Web CEAM CWS32-H01 Professional Web Platform Cosa è CWS32-H01 Piattaforma Tecnologica Web Modulare Multifunzionale per il Monitoraggio, Telecontrollo Gestione Manutenzione,

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

Il controllo qualità con GOM nel settore Automotive

Il controllo qualità con GOM nel settore Automotive Il controllo qualità con GOM nel settore Automotive La riduzione dei tempi di sviluppo prodotto e la riduzione dei costi forzano le aziende ad aumentare la loro efficienza. Parte importante di questo sforzo

Dettagli

STORE MANAGER.. LE COMPETENZE CARATTERISTICHE E I BISOGNI DI FORMAZIONE

STORE MANAGER.. LE COMPETENZE CARATTERISTICHE E I BISOGNI DI FORMAZIONE STORE MANAGER.. LE COMPETENZE CARATTERISTICHE E I BISOGNI DI FORMAZIONE 1 Indice 1. Premessa 2. Obiettivo 3. Le competenze del profilo ideale Competenze 3.1. Età ed esperienza 3.2. Le reali competenze

Dettagli

Introduzione alla Progettazione per Componenti

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

Dettagli

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Guida rapida all uso di Moodle per gli studenti

Guida rapida all uso di Moodle per gli studenti Guida rapida all uso di Moodle per gli studenti Introduzione La piattaforma utilizzata per le attività a distanza è Moodle, un software per la gestione di corsi on-line. Per chi accede come studente, essa

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

Dropbox di classe. É un servizio internet fornito gratuitamente (funzioni base).

Dropbox di classe. É un servizio internet fornito gratuitamente (funzioni base). Dropbox di classe Lo scopo del servizio Dropbox di classe è quello di far conoscere ai docenti del nostro istituto il funzionamento di un sistema di Cloud Storage, pronto e facile da usare, per esplorare

Dettagli

Modifiche principali al programma Adobe Open Options NOVITÀ! DISPONIBILITÀ ESCLUSIVA DEL SOFTWARE ADOBE ACROBAT ELEMENTS

Modifiche principali al programma Adobe Open Options NOVITÀ! DISPONIBILITÀ ESCLUSIVA DEL SOFTWARE ADOBE ACROBAT ELEMENTS Adobe Open Options Domande frequenti Modifiche principali al programma Adobe Open Options NOVITÀ! SCONTO SPECIALE PER ORDINI CLP HIGH-VOLUME DEL SOFTWARE ADOBE ACROBAT NOVITÀ! DISPONIBILITÀ ESCLUSIVA DEL

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

INSTALLAZIONE PROCEDURA 770/2011

INSTALLAZIONE PROCEDURA 770/2011 INSTALLAZIONE PROCEDURA 770/2011 Sommario 1. PREMESSA (DISCO CHIAVE SCARICABILE DA INTERNET)... 2 2. GESTIONE PRIMA INSTALLAZIONE E SUCCESSIVI AGGIORNAMENTI... 2 3. INSTALLAZIONE PROCEDURA 770/2011...

Dettagli

INDIRIZZI IP AUTORIZZATI

INDIRIZZI IP AUTORIZZATI INDIRIZZI IP AUTORIZZATI Brand Item Legrand 573992, 03565 MH200, MH200N BTicino F453, F453AV, F452, F452V www.myopen-legrandgroup.com 1 Document History Version Date Author 1.0.0 01/10/2010 My Open Staff

Dettagli

INDICOD-ECR Istituto per le imprese di beni di consumo

INDICOD-ECR Istituto per le imprese di beni di consumo INDICOD-ECR Istituto per le imprese di beni di consumo GLOBAL SCORECARD Uno strumento di autovalutazione, linguaggio e concetti comuni Versione base - Entry Level Introduzione Introduzione La Global Scorecard

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Il sistema operativo TinyOS

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

Dettagli

Grazie a Ipanema, Coopservice assicura le prestazioni delle applicazioni SAP & HR, aumentando la produttivita del 12%

Grazie a Ipanema, Coopservice assicura le prestazioni delle applicazioni SAP & HR, aumentando la produttivita del 12% Grazie a Ipanema, Coopservice assicura le prestazioni delle applicazioni SAP & HR, aumentando la produttivita del 12% CASE STUDY TM ( Re ) discover Simplicity to Guarantee Application Performance 1 Gli

Dettagli

CONTENT MANAGEMENT SYSTEM

CONTENT MANAGEMENT SYSTEM CONTENT MANAGEMENT SYSTEM P-2 PARLARE IN MULTICANALE Creare un portale complesso e ricco di informazioni continuamente aggiornate, disponibile su più canali (web, mobile, iphone, ipad) richiede competenze

Dettagli

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA MANUALEDIUTILIZZO MODULO CRM POSTVENDITA INDICE INTRODUZIONE INSERIMENTO CHIAMATA CHIAMATE Dettaglio Chiamate Macchine Coinvolte Documenti Riepilogo MACCHINE Dettaglio Macchine Documenti Interventi MACCHINE

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

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

Dettagli

NOVITA VERSIONE 2011. La soluzione CAD/CAM per il cablaggio elettrico

NOVITA VERSIONE 2011. La soluzione CAD/CAM per il cablaggio elettrico NOVITA VERSIONE 2011 La soluzione CAD/CAM per il cablaggio elettrico Edizione 12 novembre 2010 Definizione Cavi Con Cabling 4D 2011 è possibile definire un cavo multipolare all interno della finestra di

Dettagli

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

Dettagli

GUIDA UTENTE PRIMA NOTA SEMPLICE

GUIDA UTENTE PRIMA NOTA SEMPLICE GUIDA UTENTE PRIMA NOTA SEMPLICE (Vers. 2.0.0) Installazione... 2 Prima esecuzione... 5 Login... 6 Funzionalità... 7 Prima Nota... 8 Registrazione nuovo movimento... 10 Associazione di file all operazione...

Dettagli

ProSky Progettare una facciata continua non è mai stato così semplice.

ProSky Progettare una facciata continua non è mai stato così semplice. ProSky Progettare una facciata continua non è mai stato così semplice. Progettare nei minimi dettagli: le facciate continue sono sempre più richieste nell architettura moderna, ma realizzarle richiede

Dettagli

Brochure prodotto Infrastrutture di ricarica per veicoli elettrici Servizi di connessione ABB

Brochure prodotto Infrastrutture di ricarica per veicoli elettrici Servizi di connessione ABB Brochure prodotto Infrastrutture di ricarica per veicoli elettrici Servizi di connessione ABB Servizi di connessione Prodotti a supporto del business Per sfruttare al meglio una rete di ricarica per veicoli

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

DATAMORFOSI. E la sintesi della strategia di prodotto di Webgate400.

DATAMORFOSI. E la sintesi della strategia di prodotto di Webgate400. DATAMORFOSI E la sintesi della strategia di prodotto di Webgate400. Indica tutte le trasformazioni di forma e di struttura che si possono applicare alle soluzioni software RPG per IBM Power System, attraverso

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

POLYEDRO. La migliore piattaforma tecnologica di sempre per EMBYON, l evoluzione dell ERP Metodo

POLYEDRO. La migliore piattaforma tecnologica di sempre per EMBYON, l evoluzione dell ERP Metodo POLYEDRO La migliore piattaforma tecnologica di sempre per EMBYON, l evoluzione dell ERP Metodo 1 Indice Chi siamo La tecnologia POLYEDRO EMBYON 4 8 12 Siamo nati in Italia, siamo leader in Italia. TeamSystem

Dettagli

PowerSchedo. Un sistema di supporto alla decisione nel settore dell'oil&gas. For further information: www.mbigroup.it

PowerSchedo. Un sistema di supporto alla decisione nel settore dell'oil&gas. For further information: www.mbigroup.it PowerSchedo Un sistema di supporto alla decisione nel settore dell'oil&gas For further information: Introduzione PowerSchedO è uno strumento software di supporto alle decisioni per problemi nel settore

Dettagli

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Ipertesti e Internet Prof.ssa E. Gentile a.a. 2011-2012 Ipertesto Qualsiasi forma di testualità parole, immagini,

Dettagli

LINGUAGGI, CREATIVITA, ESPRESSIONE TECNOLOGIA - INFORMATICA

LINGUAGGI, CREATIVITA, ESPRESSIONE TECNOLOGIA - INFORMATICA LINGUAGGI, CREATIVITA, ESPRESSIONE TECNOLOGIA - INFORMATICA FINALITA EDUCATIVE La tecnica è la struttura razionale del lavoro, cioè l uso consapevole e finalizzato di mezzi, materiali e procedimenti operativi

Dettagli

Manuale del Docente - Scienze Politiche

Manuale del Docente - Scienze Politiche Manuale del Docente - Scienze Politiche Questo file è una piccola guida alla creazione di corsi online con il sistema Moodle. Descrive le funzioni principali del sistema, e le attività permesse a / dirette

Dettagli

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative itime itime Il software di rilevazione presenze itime rappresenta lo strumento ideale per l automatizzazione della gestione del personale. L ampia presenza dei parametri facilita l operatore nel controllo

Dettagli

SACE BT realizza su tecnologia Microsoft la piattaforma di gestione delle polizze

SACE BT realizza su tecnologia Microsoft la piattaforma di gestione delle polizze Caso di successo Microsoft Integration SACE BT SACE BT realizza su tecnologia Microsoft la piattaforma di gestione delle polizze Informazioni generali Settore Istituzioni finanziarie Il Cliente Il Gruppo

Dettagli

Per informazioni rivolgersi allo Studio:

Per informazioni rivolgersi allo Studio: Lo Studio, notificando direttamente via e-mail o sms l avvenuta pubblicazione di news, circolari, prontuari, scadenzari, dà la possibilità all azienda di visualizzare immediatamente ed in qualsiasi luogo,

Dettagli

Più veloce. Più veloce, più intuitivo, più ricco, più compatibile: tutto questo in DIMS 3.0 Consultazione.

Più veloce. Più veloce, più intuitivo, più ricco, più compatibile: tutto questo in DIMS 3.0 Consultazione. 2 DIMS 3.0 Consultazione Più veloce, più intuitivo, più ricco, più compatibile: tutto questo in DIMS 3.0 Consultazione. DIMS 3.0 Consultazione, il componente di DIMS Web Interface dedicato all accesso

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione 4 LEZIONE: Programmazione su Carta a Quadretti Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10 Minuti Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione SOMMARIO:

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

Partnership efficace, successo garantito. SELECT Partner Program COMMITTED TO SUCCESS

Partnership efficace, successo garantito. SELECT Partner Program COMMITTED TO SUCCESS Partnership efficace, successo garantito SELECT Partner Program COMMITTED TO SUCCESS SELECT Partner Program di Fujitsu Siemens Computers: Crescere insieme Una partnership effettiva è in grado di comprendere

Dettagli

DALLA PARTE DEGLI ALTRI OPERATORI ECONOMICI. La nostra risposta alle esigenze della tua attività.

DALLA PARTE DEGLI ALTRI OPERATORI ECONOMICI. La nostra risposta alle esigenze della tua attività. DALLA PARTE DEGLI ALTRI OPERATORI ECONOMICI La nostra risposta alle esigenze della tua attività. LA BANCA COME TU LA VUOI DALLA PARTE DEGLI ALTRI OPERATORI ECONOMICI La nostra risposta alle esigenze della

Dettagli

Sistemi di Automazione Industriale

Sistemi di Automazione Industriale Introduzione ai PLC Sistemi di Automazione Industriale Ridurre e/o eliminare il ruolo dell operatore umano Ogni sistema di automazione prevede: Sistema Controllato; è un generatore di eventi non prevedibili

Dettagli

Organizzati la vita con Bulletin Board e ReelTime

Organizzati la vita con Bulletin Board e ReelTime Organizzati la vita con Bulletin Board e ReelTime Presentazione di Toshiba LifeSpace Organizzarsi non è mai stato più semplice LifeSpace è uno strumento semplice ed elegante che ti consentirà di organizzare

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

YOUR EASY SOLUTION FOR COSTING

YOUR EASY SOLUTION FOR COSTING YOUR EASY SOLUTION FOR COSTING INNOVAZIONE TECNOLOGICA CHE SEMPLIFICA I PROCESSI AZIENDALI Hyperlean nasce dall intuizione di sei giovani ricercatori del Dipartimento di Meccanica (ora Dipartimento di

Dettagli

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity.

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. UBIQUITY 5 Introduzione Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity. Versione Descrizione Data 1 Prima emissione 20/01/2015 Disclaimer Le informazioni

Dettagli

Il CRM per la Gestione del Servizio Clienti

Il CRM per la Gestione del Servizio Clienti Scheda Il CRM per la Gestione del Servizio Clienti Le Soluzioni CRM aiutano le aziende a gestire i processi di Servizio e Supporto ai Clienti. Le aziende di Servizio stanno cercando nuove modalità che

Dettagli

Sharpdesk V3.3. Guida all installazione Versione 3.3.04

Sharpdesk V3.3. Guida all installazione Versione 3.3.04 Sharpdesk V3.3 Guida all installazione Versione 3.3.04 Copyright 2000-2009 di SHARP CORPORATION. Tutti i diritti riservati. È vietata la riproduzione, l adattamento o la traduzione senza previa autorizzazione

Dettagli