UNIVERSITÀ DI PISA. Sperimentazione con il Framework SPINE per WSN e Android. Tesi di Laurea FACOLTÀ DI INGEGNERIA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DI PISA. Sperimentazione con il Framework SPINE per WSN e Android. Tesi di Laurea FACOLTÀ DI INGEGNERIA"

Transcript

1 UNIVERSITÀ DI PISA FACOLTÀ DI INGEGNERIA Corso di Laurea Triennale in Ingegneria Informatica Tesi di Laurea Sperimentazione con il Framework SPINE per WSN e Android RELATORI Prof. Marco Avvenuti CANDIDATO Francesco Piras Ing. Mario G.C.A. Cimino Ing. Daniel Cesarini ANNO ACCADEMICO

2 A mio padre e mia madre che mi hanno permesso di raggiungere questo importante traguardo.

3 Riassunto analitico L'obiettivo di questa tesi è stato quello di esplorare il framework SPINE (Signal Processing In Node Environment) e testarne il funzionamento per l'acquisizione e l'elaborazione di dati provenienti da WSN (Wireless Sensor Networks), mediante dispositivi mobili con sistema operativo Android, utilizzando il protocollo Bluetooth per la comunicazione. A tal proposito sono state realizzate due semplici applicazioni per testare eettivamente il funzionamento del framework. Una consente di visualizzare su un piano cartesiano XY i dati acquisiti, l'altra produce dei suoni, in base ai dati acquisiti, attraverso l'utilizzo di PureData. La prima parte della tesi consiste in una breve introduzione alle WSN seguita dalla seconda parte nella quale viene descritto il framework SPINE, il sistema operativo Android e l'integrazione dell'uno con l'altro. Questa tesi vuole essere infatti anche una guida alla congurazione e all'utilizzo del framework con il sistema operativo Android in quanto la documentazione a disposizione non tratta esplicitamente l'argomento. La parte nale riguarda la descrizione delle applicazioni delle quali viene illustrato il funzionamento, alcune scelte implementative e i problemi riscontrati durante la fase di realizzazione e di test. In appendice è fornito il codice e il diagramma delle classi dell'applicazione che visualizza su un piano cartesiano XY i dati acquisiti. I

4 Indice I. Le WSN 1 1. Wireless Sensor Networks 2 II. SPINE e Android 4 2. Introduzione al Framework SPINE Architettura di SPINE Lato Nodo Comunicazione Radio Controller Packet Manager Rilevamento Elaborazione Feature Engine Alarm Engine Altre Funzionalità Architettura di SPINE Lato Server API oerte da SPINE SPINEListener SPINEManager Android Architettura Componenti Applicativi Activity Services Content Provider Broadcast Receivers Attivazione dei componenti Intent Il le Manifest II

5 Indice 3.5. L'ambiente di sviluppo Struttura di un progetto realizzato con Eclipse Utilizzo di SPINE con Android Congurazione dell'applicazione Congurazione e attivazione della WSN Congurazione dei sensori Congurazione del Feature Engine Function Congurazione, aggiunta e attivazione delle Feature Avvio della WSN e gestione dei dati ricevuti III. Le Applicazioni Mobili Le Applicazioni Model-View-Controller AndroidSPINE Connessione Bluetooth Congurazione della WSN Acquisizione e stampa dei dati SPINESonier Test e considerazioni IV. Appendice 38 A. Codice 39 B. Diagramma delle classi 52 III

6 Parte I. Le WSN 1

7 1. Wireless Sensor Networks Le Wireless Sensor Networks (WSN) rappresentano una tecnologia che introduce una nuova classe di applicazioni e di sistemi per l'elaborazione delle informazioni attraverso reti di sensori. In particolare, le WSN applicate al corpo umano, conosciute come Wireless Body Sensor Networks (WBSN), rappresentano il sistema più adatto per il monitoraggio e il controllo i parametri sici e biomedici provenienti dal corpo umano, così da supportare applicazioni ad alto impatto per una grande varietà di contesti che vedono l'uomo protagonista (Figura 1.1). La caratteristica principale di questo di tipo di reti è l'architettura distribuita della rete stessa, la quale è realizzata mediante un insieme di dispositivi elettronici autonomi in grado di prelevare dati dall'ambiente circostante (o dal corpo umano se si parla di BSN) e di comunicare tra loro. Il progresso tecnologico nel campo dell'elettronica e delle comunicazioni wireless ha permesso lo sviluppo di dispositivi dai costi contenuti, multifunzionali e capaci di comunicare con tecnologia wireless a corto raggio e soprattutto a bassa potenza. Questi dispositivi, chiamati nodi sensore (sensor node o mote), costituiti da uno o più sensori, sono in grado di rilevare grandezze siche (accelerazione, temperatura, umidità ecc.) attraverso dei trasduttori che si trovano a diretto contatto con le grandezze da misurare, elaborare i dati e comunicare tra loro. I nodi sensore all'interno di una rete hanno la possibilità di collaborare tra loro dal momento che sono provvisti di un processore on-board. Grazie a quest'ultimo, ciascun nodo, anziché inviare dati grezzi ai nodi responsabili della raccolta dei dati, può eettuare delle semplici elaborazioni e trasmettere solo i dati richiesti e già elaborati. Esistono dei Sistemi Operativi sviluppati appositamente per le WSN, il più famoso dei quali è TinyOS. La comunicazione, realizzata tramite tecnologia wireless a corto raggio (Bluetooth, IEEE e ZigBee), è solitamente di tipo asimmetrico in quanto i nodi comuni inviano le informazioni raccolte ad uno o più nodi speciali della rete, detti nodi sink, i quali hanno lo scopo di raccogliere i dati e trasmetterli tipicamente ad un server o ad un calcolatore. Una comunicazione può avvenire autonomamente da parte del nodo quando si verica un dato evento, o può venire indotta dal nodo sink tramite l'invio di una richiesta verso i nodi interessati. Una delle problematiche principali sulla quale si lavora è il consumo energetico. Ogni 2

8 CAPITOLO 1. WIRELESS SENSOR NETWORKS sensore ha una riserva limitata di energia e questo implica che debba lavorare mantenendo bassi i consumi, in modo da avere un maggiore ciclo di vita. Una delle soluzioni che viene proposta per mediare questo problema, è quella di attivare la radio per la comunicazione solo quando si hanno dei dati da trasmettere anziché tenerla sempre accesa. Figura 1.1.: Wireless Body Sensor Network 3

9 Parte II. SPINE e Android 4

10 2. Introduzione al Framework SPINE SPINE (Signal Processing in Node Environment) è un framework per l'implementazione distribuita di algoritmi per l'elaborazione di segnali nelle reti di sensori wireless. Nato dalla collaborazione dell'università della Calabria con società come Telecom Italia, è distribuito con licenza LGPL. Questo framework fornisce un insieme di servizi direttamente eseguibili sui nodi che possono essere settati e attivati in base alle esigenze dell'applicazione che si intende sviluppare. Attualmente è disponibile la versione Il framework SPINE ha due componenti principali: Lato Nodo: sviluppato con l'ambiente TinyOS2.x, fornisce servizi direttamente sul nodo come il campionamento, la memorizzazione e l'elaborazione dei dati. Lato Server: sviluppato con Java SE, opera come coordinatore della rete di sensori. Gestisce la rete, congura e attiva i servizi sui nodi in base ai requisiti dell'applicazione Architettura di SPINE Lato Nodo Il framework SPINE si deve occupare della comunicazione tra i nodi all'interno della rete, della gestione dei sensori presenti sui nodi e delle funzionalità di elaborazione del segnali. Le funzionalità presenti sui nodi vengono suddivise in tre blocchi logici (Figura 2.1): Comunicazione: si occupa della comunicazione radio e del relativo duty cicle, della costruzione e dell'analisi dei pacchetti, degli schemi di accesso al canale; Rilevamento: Gestisce il campionamento dei dati provenienti dai sensori e del salvataggio in un buer condiviso; Elaborazione: si occupa dell'elaborazione dei dati acquisiti. 1 5

11 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE Figura 2.1.: Architettura Lato Nodo Il ciclo di vita del Framework SPINE Lato Nodo è gestito dal componente SPINEApp. SPINEApp agisce come tramite fra i moduli sopracitati e in particolare fornisce i seguenti servizi: Non appena viene ricevuto il messaggio di Service Discovery, vengono richieste informazioni riguardo i sensori supportati dal Sensor Board Controller e le funzionalità del Function Manager e in seguito viene restituito al coordinatore il pacchetto Service Advertisement; Vengono smistati i pacchetti in arrivo in base al loro tipo: Messaggi di SetUpSensor ai moduli di rilevamento (Sensor Board Controller); Messaggi di SetUpFunction e ActivateFunction ai moduli di elaborazione (Function Manager) Gestione dei messaggi di start e reset. 6

12 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE Comunicazione Lato nodo, la comunicazione è gestita principalmente da due componenti: il Radio Controller e il Packet Manager(Figura 2.2). Figura 2.2.: Modulo per la comunicazione Lato Nodo Radio Controller Il Radio Controller si occupa dell'accesso alla radio e, quando sono attivi, della gestione della modalità low power e dell'accesso al canale tramite lo schema TDMA (Time Division Multiple Access). Quando viene ricevuto il messaggio di start, il nodo viene avviato con la congurazione impostata precedentemente. Nel payload del messaggio di start, l'applicazione Lato Server può settare due dierenti ag: radioalwayson: quando questo parametro è impostato su FALSE, la radio viene spenta se non bisogna inviare nessun messaggio e viene accesa ogniqualvolta il nodo ha un messaggio da inviare. Tuttavia la comunicazione bidirezionale deve essere ancora garantita quindi il Radio Controller implementa la logica per ricevere eventuali messaggi. Dopo l'invio di un messaggio la radio viene tenuta accesa per un certo periodo di tempo in attesa di eventuali messaggi in arrivo (Figura 2.3). Lato Server, se la rete è stata avviata con l'opzione radioalwayson=false e lo SPINEManager ha un messaggio da inviare ad un nodo, memorizza il messaggio nché non riceve un messaggio da quel nodo. Inoltre, il coordinatore aspetta un riscontro da parte del nodo prima di eliminare il messaggio dalla coda, altrimenti prova a ritrasmetterlo (Figura 2.4). 7

13 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE Figura 2.3.: Comportamento della radio con radioalwayson=false Figura 2.4.: Diagramma di usso del RadioController con radioalwayson=false enabletdma: quando questo parametro è impostato su TRUE, il Radio Controller applicherà lo schema TDMA a tutte le trasmissioni (Figura 2.5). Dunque, ogni volta che dovrà inviare un pacchetto attenderà il prossimo slot di tempo che gli è stato assegnato. Questo potrebbe essere necessario in scenari dove deve es- 8

14 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE sere inviata una grande quantità di dati al coordinatore da diversi nodi e uno schema CSMA-CD puro potrebbe non essere abbastanza per ottenere una comunicazione adabile. Il messaggio di start fornirà anche il numero totale di nodi presenti nella rete in quel momento. Questa è la ragione per la quale bisogna programmare i nodi con ID sequenziali (1,2,...) e, se necessario, cambiare il TD- MA_FRAME_PERIOD all'interno del Makele, che ha come impostazione predenita 600ms. C'è da notate che nché il coordinatore non sarà assegnato ad un particolare slot, proverà a inviare pacchetti appena possibile, basandosi sullo schema di accesso predenito della base-station (tipicamente CSMA-CA). Figura 2.5.: Esempio di schema TDMA Packet Manager Il Packet Manager si occupa della costruzione e dell'analisi del payload e degli header dei pacchetti SPINE. Inoltre, se necessario, si occupa della frammentazione dei pacchetti prima di inviarli alla radio. In questo modo, ogniqualvolta il Function Manager deve inviare un pacchetto, non si deve preoccupare della lunghezza e chiamare semplicemente PacketManager.build. In seguito il Packet Manager, se necessario, analizza il pacchetto e invia pacchetti multipli. Lato Server, SPINE Manager ricostruirà il pacchetto opportunamente. Da notare che, a questo stadio, il meccanismo non è implementato nell'altra direzione: conseguentemente il Lato Server non potrà mai inviare frammenti dello stesso pacchetto ma dovrà costruire il pacchetto in accordo con la massima dimensione con- 9

15 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE sentita. Il Packet Manager può occuparsi di dierenti tipi di pacchetti in ingresso e in uscita per quanto concerne le interfacce denite (InPacket con il comando di analisi e OutPacket con il comando di costruzione). SPINE denisce un protocollo bidirezionale per la comunicazione tra il nodo coordinatore e i nodi sensore. Tutti i messaggi hanno lo stesso header il quale viene mostrato di seguito: In particolare, supporta la gestione dei messaggi dal nodo coordinatore agli altri nodi come: Network Discovery: è un pacchetto vuoto mandato in broadcast in modo che possa essere ricevuto da tutti i nodi della rete. Set Up Sensor: contiene le impostazioni per il campionamento necessarie per congurare il sensore. Set Up Function: contiene le impostazioni generali delle quale una funzione necessita. La lista dei parametri è generalmente una lista di byte in modo da essere generica e possa essere utilizzata per diverse funzioni. Active/Deactive Function: contiene i dettagli delle funzionalità che devono essere attivate. La lista dei parametri è una lista generica di array. Start Network: è un pacchetto inviato in broadcast che funziona come interruttore per avviare il campionamento e l'elaborazione sui nodi. Contiene il numero totale dei nodi presenti nella rete (utilizzato sei il TDMA è abilitato) e i ag RadioAlwaysON e enabletdma. 10

16 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE Dall'altra parte, i nodi sensore possono inviare al coordinatore i seguenti messaggi: Service Advertisement: riporta le informazioni riguardo i sensori e le funzioni supportate dal nodo. Il campo functions è riempito da una specica Function e contiene codici utili per identicare la funzione stessa e altre sotto funzioni se presenti. Data Packet: contiene il tipo di funzione e una lista di byte con i dati specici. È stato pensato per essere generico e per poter essere facilmente utilizzato per qualsiasi tipo di funzionalità. Service Message Packet: usato dai nodi per noticare avvertimenti ed errori che si possono vericare e per altri messaggi informativi di sistema Rilevamento Il modulo di Rilevamento è composto da tre componenti principali: il Sensor Registry, il Sensor Board Controller e il Buer Pool (Figura 2.6). 11

17 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE Figura 2.6.: Modulo di Rilevamento Il Sensor Board Controller gestisce tutti i sensori che sono registrati a SPINE grazie al Sensor Registry,. La sue funzioni principali sono quelle di impostare i parametri dei sensori e acquisire i dati da essi. I dati vengono poi memorizzati in una serie di buer, Buer Pool, in modalità FIFO. Il Buer Pool è impostato dal Makele tramite i parametri BUFFER_POOL_SIZE e BUFFER_LENGTH per allocare un buer per ogni canale di ogni sensore registrato. Per convenienza BUFFER_POOL_SIZE è impostato automaticamente durante l'utilizzo della sensorboard predenita. La parte di rilevamento può essere estesa aggiungendo nuovi sensori per essere supportati da SPINE Elaborazione Il modulo di elaborazione è composto da un Function Manager che si occupa della gestione di tutte le funzioni supportate dal nodo(figura 2.7). 12

18 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE Figura 2.7.: Modulo di Elaborazione Lato Nodo, una generica funzione deve implementare l'interfaccia Function per poter essere gestita dal Funciton Manager. L'interfaccia è stata denita in maniera molto generica, in modo tale che la logica si possa implementare all'interno della funzione. Il Lato Server invia due comandi dierenti al Function Manager (setupfunction e activatefunction) indirizzando delle speciche funzioni e inviando un array generico di parametri che saranno in seguito decodicati dalla funzione implementata. Il pacchetto dati inviato indietro al Lato Server con i valori computati è composto anche esso da un array generico di byte. L'elaborazione delle funzioni potrà ora iniziare dopo la ricezione del messaggio di start proveniente dal Lato Server Feature Engine I dati raccolti dai sensori presenti sui nodi potrebbero essere inviati al coordinatore senza nessuna elaborazione (raw data) per essere analizzati in seguito Lato Server. Questa non è la procedura migliore in termini di consumo energetico e utilizzo del canale di trasmissione. In alternativa, i dati possono essere elaborati sul nodo e solo il risultato dell'elaborazione viene inviato al coordinatore. Feature Engine di SPINE fornisce calcoli periodici di semplici caratteristiche dei dati acquisiti. L'applicazione Lato Server può richiedere una caratteristica utilizzando due messaggi di setup: un messaggio di congurazione della funzione (SetUpFunction) con i valori della nestra di lavoro e di shift di un dato sensore, e un messaggio di attivazione della funzione con le caratteristiche desiderate per quel sensore. Le caratteristiche includono: AMPLITUDE (Ampiezza), MAX (valore massimo), MEAN 13

19 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE (valor medio), MIN(valore minimo), MODE (moda), RAW DATA (dati grezzi), STAN- DARD DEVIATION (deviazione standard), TOTAL ENERGY (energia totale) ecc. Le caratteristiche possono essere calcolate sia sui singoli canali che su canali multipli Alarm Engine Un'altra interessante caratteristica di SPINE è l'alarm Engine. I dati campionati dai sensori presenti sui nodi possono servire al coordinatore solo se rispettano certe condizioni. Tali condizioni possono essere vericate dal nodo stesso e i dati vengono inviati al coordinatore solo quando necessari: questo è lo scopo dell'alarm Engine. Alarm Engine di SPINE fornisce degli eventi generati sul nodo ogni volta che i valori delle funzioni superano le soglie precedentemente impostate. Gli allarmi possono essere impostati su tutte le caratteristiche supportate, inclusi i dati grezzi, specicando la dimensione della nestra e dello shift oltre i parametri specici per l'allarme. Alarm Engine fornisce notiche per quattro tipi diversi di allarmi su tutte le caratteristiche disponibili sul nodo(figura 2.8). Figura 2.8.: Tipi di allarme Altre Funzionalità SPINE ore delle altre funzionalità come Step Counter. Step Counter è una funzione predenita che, utilizzando i dati provenienti da un accelerometro contenuto dentro un nodo che viene posizionato sulla vita di una persona, conta i passi durante una camminata. Una volta attivato, viene inviata una notica al coordinatore ogni volta che viene rilevato un passo. 14

20 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE 2.2. Architettura di SPINE Lato Server Il Lato Server ha una struttura tale da permettere di separare la logica del framework dal tipo di rete con la quale deve comunicare cioè il core di SPINE non utilizza alcuna API specica e può essere utilizzato in maniera indipendente dallo stack protocollare sottostante (Figura 2.9). Il framework supporta diversi tipi di nodi quali Telosb, Tmote, Micaz, Shimmer e permettere inoltre l'emulazione dei nodi grazie all'applicazione SPINE Node Emulator. Sempre per quanto riguarda il Lato Server, il framework fornisce delle semplici API Java per lo sviluppo delle applicazioni. Pertanto il punto di forza del framework SPINE è il fatto di consentire al programmatore Lato Server di sviluppare applicazioni per le reti di sensori senza doversi preoccupare della programmazione Lato Nodo. Ciò che è richiesto lato Java allo sviluppatore è di implementare l'interfaccia SPINEListener utilizzando le API fornite dalla classe SPINEManager che verranno trattate in seguito nello specico. Figura 2.9.: Architettura Lato Server Il codice Lato Server è organizzanto nel seguente modo: spine: contiene il core logico di SPINE; spine.datamodel: package che contiene i modelli di dati utilizzati dal Framework; spine.datamodel.functions: sub-package che denisce le strutture delle funzioni; 15

21 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE spine.datamodel.servicemessages: sub-package che denisce i messaggi di servizio; spine.exceptions: SPINE. sub-package contenente la classe di eccezioni lanciate da Il Lato Server di SPINE fornisce un'implementazione per le reti TinyOS2.x, per le reti Virtual Sersor Network e per la comunicazione via Bluetooth. Inoltre fornisce il supporto per la comunicazione a basso livello con TinyOS: spine.communication.tinyos: contiene la logica e le procedure per la comunicazione a basso livello speciche per TinyOS (chiamando le API da tinyos.jar); spine.payload.codec.tinyos: sub-package contenente i codec dei messaggi a basso livello per la piattaforma TinyOS; per la comunicazione a basso livello con SPINE Node Emulator: spine.communication.emu: contiene la logica e le procedure per la comunicazione a basso livello per Virtual Sensor Node; spine.payload.codec.emu: sub-package contenente i codec dei messaggi a basso livello per Virtual Sensor Node; e per la comunicazione via Bluetooth: spine.communication.bt: contiene la logica e le procedure per la comunicazione a basso livello tramite il protocollo Bluetooth. Grazie a questo package è possibile implementare la comunicazione via Bluetooth utilizzando librerie diverse in base alle esigenze del programmatore e in base alla piattaforma utilizzata (es. Android); spine.payload.codec.bt: sub-package contenente i codec dei messaggi a basso livello per il protocollo Bluetooth API oerte da SPINE Come già accennato, quello che deve fare lo sviluppatore Lato Server, è di implementare l'interfaccia SPINEListener utilizzando le API fornite da SPINEManager SPINEListener L'interfaccia SPINEListener fornisce i seguenti metodi: void received(data data) 16

22 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE È invocato dallo SPINEManager per i suoi listener registrati quando riceve dei dati da un nodo specico. L'oggetto Node che ha generato l'oggetto Data è contenuto all'interno dell'oggetto Data stesso. void discoverycompleted(java.util.vector activenodes) È invocato dallo SPINEManager per i suoi listener registrati quando il timer della procedura di discovery si esaurisce. void newnodediscovered(node newnode) È invocato dallo SPINEManager per i suoi listener registrati quando riceve un messaggio di ServiceAdvertisement da un nodo della WSN. void received(servicemessage msg) È invocato dallo SPINEManager per i suoi listener registrati quando riceve un ServiceMessage da un nodo specico. L'oggetto Node che ha generato l'oggetto ServiceMessage è contenuto all'interno dell'oggetto ServiceMessage stesso SPINEManager La classe SPINEManager fornisce i seguenti metodi: void activate(node node, SpineFunctionReq functionreq) Attiva una funzione (o una sotto-funzione) su un determinato sensore. void addlistener(spinelistener listener) Registra uno SPINEListenerRegisters all'istanza di SPINEManager. void bootupwsn() Non fa niente. void deactivate(node node, SpineFunctionReq functionreq) Disattiva una funzione (o una sotto-funzione) su un determinato sensore. void discoverywsn() Ordina allo SPINEManager di eettuare un discovery dei nodi della WSN. void discoverywsn(long timeout) Ordina allo SPINEManager di eettuare un discovery dei nodi della WSN con un determinato timeout. 17

23 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE java.util.vector getactivenodes() Restituisce la lista dei nodi attivi come un Vector di spine.datamodel.node. spine.datamodel.node getbasestation() Restituisce il nodo che rappresenta la BaseStation. Jade.util.Logger static getlogger() Restituisce il Logger statico del Framework SPINE. Il Logger può essere utilizzato per impostare il livello di logging e la gestione personalizzata (ad esempio scrivere i log su un le). spine.datamodel.node getnodebylogicalid(spine.datamodel.address id) Restituisce un nodo con un determinato indirizzo logico. spine.datamodel.node getnodebyphysicalid(spine.datamodel.address id) Restituisce un nodo con un determinato indirizzo sico. void getoneshotdata(node node, byte sensorcode) Impone ad un determinato nodo il campionamento immediato al primo colpo su un dato sensore. boolean isstarted() Restituisce TRUE se allo SPINEManger è stato richiesto di iniziare l'elaborazione nella WSN. void removelistener(spinelistener listener) Rimuove uno SPINEListener dall'istanza dello SPINEManager. void resetwsn() Impone un reset software dell'intera WSN. void setdiscoveryproceduretimeout(long discoverytimeout) Imposta il timeout per la procedura di discovery. void setup(node node, SpineSetupFunction setupfunction) Imposta una specica funzione su un dato nodo. void setup(node node, SpineSetupSensor setupsensor) Imposta uno specico sensore su un dato nodo. 18

24 CAPITOLO 2. INTRODUZIONE AL FRAMEWORK SPINE void startwsn(boolean radioalwayson) Avvia la WSN ed elabora le precedenti richieste di impostazione delle funzioni. void startwsn(boolean radioalwayson, boolean enabletdma) Avvia la WSN e elabora le precedenti richieste di impostazione delle funzioni. void syncwsn() Ordina una sincronizzazione software della WSN basata sul clock locale dei nodi. L'istanza dello SPINEManager può essere recuperata solo attraverso SPINEFactory: SPINEManager createspinemanager(string apppropertiesfile) Inizializza lo SPINEManager. I parametri di inizializzazione vengono ottenuti attraverso il le app.properties. 19

25 3. Android Android è un sistema operativo per dispositivi mobili, basato su kernel Linux, che comprende un sistema operativo di base, dei middleware e le applicazioni di base. Creato da Google in collaborazione con l'open Handset Alliance, un gruppo di 79 aziende che lavorano per lo sviluppo e l'innovazione nel settore mobile, Android è la prima piattaforma completa e Open Source per lo sviluppo di applicazioni mobili. Il progetto nasce nel 2005, viene proposto agli sviluppatori nel 2007 e inizia ad aermarsi a partire dal 2009 dopo la prima versione rilasciata il 23 settembre Google ha allestito un sito di E-Commerce che funge da punto di incontro tra gli sviluppatori e gli utilizzatori dei dispositivi mobili. Inizialmente diuso con il nome di Android Market, dal 6 marzo 2012 è stato rinominato in Google Play. Su tutti i dispositivi è preinstallata l'applicazione che permette l'accesso a questo servizio attraverso il quale gli utenti possono cercare e scaricare software e altro materiale (gratuitamente o a pagamento) Architettura Android è, insieme, un sistema operativo, una piattaforma di sviluppo e una collezione di software di base per l'utilizzo di dispositivi mobili. È un sistema operativo di ultima generazione e quindi abbastanza complesso la cui architettura (Figura 3.1) non ha niente da invidiare ai comuni sistemi operativi presenti su computer desktop e laptop. 20

26 CAPITOLO 3. ANDROID Figura 3.1.: Architettura di Android Android è bastato sul kernel Linux versione 2.6 (versione 3.x da Android 4.0 in poi). All'interno dello strato del kernel sono presenti i driver per il controllo dei componenti hardware del dispositivo come tastiera, schermo, touch screen, Bluetooth, WiFi, audio ecc. Sopra il kernel si trova lo strato dell'architettura che contiene le librerie fondamentali ereditate dal mondo Open Source come le OpenGL, SQLite e WebKit. Android fa uso di una macchina virtuale (Dalvik Virtual Machine) per l'esecuzione delle applicazioni che insieme ad una libreria fondamentale costituiscono la piattaforma di sviluppo. Durante il processo di compilazione il programma che costituisce l'applicazione viene trasformato in un codice intermedio chiamato bytecode (come avviene con Java) che verrà poi eseguito sulla Dalvik Virtual Machine. Essendo tale macchina virtuale uguale per tutti i dispositivi Android, le applicazioni potranno essere seguite su qualsiasi dispositivo indipendentemente dall'hardware. Nel penultimo strato dell'architettura è possibile individuare i gestori e le applicazioni di base del sistema. Nello strato più in alto dell'architettura sono presenti gli applicativi utilizzabili dall'utente. 21

27 CAPITOLO 3. ANDROID 3.2. Componenti Applicativi I componenti applicativi sono i blocchi costruttivi essenziali per lo sviluppo di un'appliazione Android. Ci sono quattro tipi di compenenti applicativi fondamentali ognuno dei quali svolge un ruolo diverso per il funzionamento dell'applicazione, ha un proprio ciclo di vita e può essere attivato individualmente Activity Una Activity rappresenta una singola schermata con un'interfaccia utente. Tramite essa l'utente può interagire con l'applicazione per compiere operazioni come scattare una foto, leggere un' , o visualizzare una mappa. Solitamente un'applicazione è costituita da più Activity una delle quali è nominata come main e viene mostrata all'utente quando viene lanciata l'applicazione. Ogni Activity può avviare altre Activity per compiere diverse operazioni. Quando una Activity viene avviata, quella precedente viene sospesa e viene conservata dal sistema in una pila (Black Stack). Quando questo avviene, l'activity che sta per essere sospesa può invocare dei metodi, che fanno parte del suo ciclo di vita, per noticare il cambiamento di stato e per svolgere delle operazioni come ad esempio il rilascio di alcuni oggetti non più necessari. Il sistema operativo stesso può decidere di terminare una Activity che era stata sospesa, se ad esempio la memoria è insuciente. Non appena una Activity viene creata, viene inserita nella pila e viene mostrata all'utente. Essendo la pila una struttura dati che adotta la losoa last in, rst out, quando viene premuto il tasto Indietro, viene mostrata l'ultima Activity che era stata sospesa. Le Activity si realizzano estendendo la classe Activity Services Un Service è un componente applicativo che svolge operazioni in background e non fornisce un'interfaccia utente. Un altro componente applicativo può avviare un Service che continua ad essere eseguito in background anche quando l'utente utilizza un'altra applicazione. Un Service può assumere essenzialmente due forme: Started: un Service assume questa forma quando un'applicazione lo avvia chiamando il metodo startservice(). Una volta avviato viene eseguito in background no a quando non viene distrutto, svolge le operazioni richieste e solitamente non restituisce niente al chiamante. Bound: un Service assume questa forma quando un'applicazione lo avvia chiamando il metodo bindservice(). Quando un Service è avviato in questo modo ore 22

28 CAPITOLO 3. ANDROID un'interfaccia client-server ai componenti che voglio interagire esso ed è eseguito solo nché viene eseguito il componente applicativo al quale è associato I Service si realizzano estendendo la classe Service Content Provider I Content Provider gestiscono l'accesso a insieme di dati strutturati. Orono l'incapsulamento dei dati e meccanismi per denire la sicurezza. I Content Provider sono l'interfaccia standard per la condivisione dei dati tra le applicazioni altrimenti inaccessibili per motivi di sicurezza. Un processo può segnalare al sistema di essere un Content Provider di alcune informazioni: grazie a delle speciche API di Android sarà possibile accedere a queste informazioni secondo le modalità specicate (sola lettura, lettura e scrittura). Un esempio di Content Provider è l'elenco dei contatti presenti sul telefono. Un'applicazione, con i permessi necessari, può accedere all'elenco dei contatti per leggere e scrivere informazioni Broadcast Receivers Un Braodcast Receiver è un componente che risponde a degli annunci broadcast di sistema. La maggior parte dei broadcast sono generati dal sistema come ad esempio l'avviso che il livello di carica della batteria è basso oppure che lo schermo è stato spento. Anche le applicazioni possono generare dei broadcast per informare le altre applicazioni su qualcosa. Sebbene non dispongano di un'interfaccia graca, essi possono generare una notica che apparirà nella barra di stato per informare l'utente su un evento che si è vericato. Più comunemente, i Broadcast Receiver sono utilizzati come punti di passaggio fra i componenti applicativi Attivazione dei componenti Intent Tre dei quattro componenti applicativi - Activity, Service e Broadcast Receiver - vengono attivati da un messaggio asincrono chiamato Intent. L'Intent associa i vari componenti l'uno con l'altro a tempo di esecuzione sia che essi appartengano alla stessa applicazione o ad un'altra. Grazie all'intent, Android diventa un sistema interconnesso composto da componenti indipendenti in grado di comunicare l'uno con l'altro. L'Intent permette di lanciare Activity o Service, trasmettere informazioni riguardo eventi che si sono vericati, supportare l'interazione tra le applicazioni installate sul dispositivo. 23

29 CAPITOLO 3. ANDROID 3.4. Il le Manifest Prima che il sistema Android possa avviare un componente applicativo, il sistema deve sapere che il componente esiste leggendo il le AndroidManifest.xml dell'applicazione. Tutti i componenti presenti nell'applicazione devono essere dichiarati in questo le, il quale si deve trovare della cartella principale del progetto. Inoltre il le ha il compito di: Identicare tutti i permessi utente che l'applicazione richiede Dichiarare il minino API Level richiesto dall'applicazione Dichiarare le caratteristiche software e hardware richieste Librerie API che l'applicazione necessita per essere collegate opportunamente 3.5. L'ambiente di sviluppo Le applicazioni Android sono sviluppate utilizzando un framework che fornisce un'opportuna struttura di supporto sulla quale le applicazioni possono essere organizzate e progettate. Le applicazioni possono essere facilmente progettare e realizzate grazie all'ausilio di un IDE (Integrated Development Environment) come ad esempio Eclipse 1, con integrato il plug-in ADT (Android Developer Tools) che fornisce tra le tante cose gli strumenti di sviluppo per Android (SDK) 2. Le applicazioni Android sono caratterizzate da una parte dinamica rappresentata dai le scritti in linguaggio Java e da una parte statica rappresentata dai le scritti in XML utilizzati per denire il layout. Le applicazioni vengono generalmente distribuite sotto forma di le.apk che permettono l'installazione delle stesse sul dispositivo (sulla memoria interna o scheda SD). Per lo sviluppo delle applicazioni è disponibile una documentazione completa Struttura di un progetto realizzato con Eclipse La struttura di un progetto realizzato con l'ide Eclipse è rappresentata nella Figura

30 CAPITOLO 3. ANDROID Figura 3.2.: Struttura di un progetto realizzato con Eclipse La cartella src/ contiene il codice sorgente dell'applicazione; La cartella gen/ vine generata durante la compilazione del progetto e contiene alcuni le generati automaticamente da Eclipse; Le Android Dependencies/ contengono ulteriori librerie esterne necessarie per l'applicazione; La cartella assets/ contiene altri le statici che saranno impacchettati nell'applicazione; La cartella bin/ contiene l'applicazione una volta compilata; La cartella libs/ contiene i le jar di terze parti di cui l'applicazione necessita; 25

31 CAPITOLO 3. ANDROID La cartella res/ contiene le risorse dell'applicazione, come ad esempio il layout dell'interfaccia graca, il le delle stringhe e quello delle preferenze; Il le AndroidManifest.xml descrive come l'applicazione deve essere costruita e quali componenti, Activity e Service sono forniti dall'applicazione; 26

32 4. Utilizzo di SPINE con Android Come già visto, il framework SPINE fornisce, Lato Server, delle semplici API Java per lo sviluppo di applicazioni con il ruolo di coordinatore. Grazie a questa caratteristica, è stato possibile eettuare il porting del framework sulla piattaforma Android modicando solo le parti relative alla comunicazione via Bluetooth, all'accesso al le system e poche altre cose utilizzando le API speciche per Android, lasciando inalterato il core del Framework Congurazione dell'applicazione Per la corretta esecuzione delle applicazioni che utilizzano SPINE su dispositivi Android, è necessario congurare opportunamente alcuni le e cartelle durante la fase di sviluppo: Aggiungere il le app.properties alla cartella assets. All'interno del le occorre settare i parametri PLATFORM=bt e BT_NETWORK_SIZE=1 per l'utilizzo del Bluetooth. Modicare il le AndroidManifest.xml inserendo le seguenti righe per settare i permessi per l'utilizzo del Bluetooth e per il riconoscimento di SPINE da parte dell'applicazione: <m a n i f e s t... <uses p e r m i s s i o n android : name="android. p e r m i s s i o n.bluetooth_admin"/> <uses p e r m i s s i o n android : name="android. p e r m i s s i o n.bluetooth" />... <a p p l i c a t i o n... android : name="s p i n e. u t i l s. ResourceManagerApplication " >... </ a p p l i c a t i o n > </manifest > Se non esiste, creare la cartella libs dentro il progetto, all'interno della quale andranno messe le librerie esterne (contenute in dei le.jar) le quali dovranno essere aggiunte al Build Path. In particolare occorre che il le spineandroid.jar 1 si trovi all'interno di questa cartella e sia aggiunto al Build Path

33 CAPITOLO 4. UTILIZZO DI SPINE CON ANDROID 4.2. Congurazione e attivazione della WSN Una volta ottenuta l'istanza della classe SPINEManager tramite SPINEFactory manager = SPINEFactory.createSPINEManager(appPropertiesFile); che viene salvata all'interno dell'istanza della classe che implementa l'interfaccia SPINEListener, la quale a sua volta andrà registrata all'istanza della classe SPINEManager appena ottenuta manager.addlistener(this); si può procedere alla congurazione e all'attivazione della WSN. Bisogna inviare un messaggio di Network Discovery in broadcast per ottenere la lista dei nodi che compongono la rete e i relativi servizi oerti manager.discoverywsn(); Quando la procedura di discovery è stata completata, viene richiamata la funzione discoverycompleted(vector activenodes). A questo punto bisogna congurare i nodi, i sensori e le relative funzioni opportunamente Congurazione dei sensori Supponendo di voler congurare il sensore accelerometro con un determinato SAMPLE_TIME espresso in millisecondi, si procede nel seguente modo: SpineSetupSensor sss = new SpineSetupSensor(); sss.setsensor(spinesensorconstants.acc_sensor); sss.settimescale(spinesensorconstants.millisec); sss.setsamplingtime(sample_time); manager.setup(node, sss); Congurazione del Feature Engine Function Supponendo di voler settare una determinata WINDOW_SIZE e SHIFT_SIZE per il sensore accelerometro, si procede nel seguente modo: FeatureSpineSetupFunction ssf = new FeatureSpineSetupFunction(); ssf.setsensor(spinesensorconstants.acc_sensor); ssf.setwindowsize(window_size); 28

34 CAPITOLO 4. UTILIZZO DI SPINE CON ANDROID ssf.setshiftsize(shift_size); manager.setup(node, ssf); Congurazione, aggiunta e attivazione delle Feature Supponendo di voler aggiungere la funzione che calcola il modulo dell'accelerazione (AMPLITUDE) per i dati provenienti dal sensore accelerometro (su tre assi) si procede nel seguente modo: FeatureSpineFunctionReq sfr = new FeatureSpineFunctionReq(); sfr.setsensor(spinesensorconstants.acc_sensor); sfr.add(new Feature(SPINEFunctionConstants.AMPLITUDE, ((Sensor) curr.getsensorslist().elementat(0)).getchannelbitmask())); manager.activate(node, sfr); 4.3. Avvio della WSN e gestione dei dati ricevuti Dopo aver congurato tutti i nodi e i sensori presenti sui nodi si può avviare la WSN con le impostazioni desiderate per i parametri radioalwayson e enabletdma: manager.startwsn(true, true); Una volta avviata la WSN, viene invocata la funzione received(data data) ogniqualvolta viene ricevuto un dato proveniente da un nodo della rete. Sui dati ricevuti, già elaborati sul nodo, si possono compiere ulteriori elaborazioni oppure si possono utilizzare direttamente ai ni dell'applicazione. Il seguente esempio mostra come estrarre dati utili contenuti nell'oggetto Data. public void received ( Data data ) { switch ( data. getfunctioncode () ) { case SPINEFunctionConstants. FEATURE : { Node source = data. getnode () ; Feature [] feats = (( FeatureData ) data ). getfeatures () ; Feature firsfeat = feats [0]; byte sensor = firsfeat. getsensorcode () ; byte featcode = firsfeat. getfeaturecode () ; int ch1value = firsfeat. getch1value () ; break ; default : break ; 29

35 Parte III. Le Applicazioni Mobili 30

36 5. Le Applicazioni Sono state realizzate due semplici applicazioni, Lato Server, per testare il funzionamento del framework SPINE. Queste possono essere considerate la base per applicazioni future più sosticate e consistenti, grazie alle numerose funzionalità messe a disposizione dal framework SPINE e dal SDK di Android. Lato Nodo non è stato necessario realizzare alcuna applicazione poiché è stata utilizzata l'applicazione SPINEApp, realizzata dal team che ha sviluppato il framework, la quale può essere caricata su tutti i nodi compatibili e le cui funzionalità oerte da essa possono essere congurate e attivate direttamente Lato Server. I nodi sensore utilizzati sono gli Shimmer2R con accelerometro (Figura 5.1). La piattaforma Shimmer è stata introdotta in SPINE grazie al contributo di Pering Trevor del laboratorio di ricerca della Intel. Attualmente è supportato il sensore accelerometro su tre assi. Figura 5.1.: Nodo sensore Shimmer2R 31

37 CAPITOLO 5. LE APPLICAZIONI 5.1. Model-View-Controller Le applicazioni sono state progettate utilizzando il pattern Model-View-Controller (Figura 5.2). Figura 5.2.: Model-View-Controller L'architettura del MVC è stata pensata per permettere la separazione tra i moduli che gestiscono il modo di presentare i dati e i moduli che gestiscono i dati stessi. Infatti grazie a questo pattern è stato possibile separare l'interfaccia graca (in generale il modulo di output dei dati) dal modulo per l'acquisizione e l'elaborazione dei dati. In questo modo è risultato abbastanza facile sostituire l'output di tipo graco con l'output di tipo sonoro. I moduli del MVC hanno le seguenti caratteristiche: MODEL Denisce i dati e le operazioni che possono essere eseguite su di essi. Denisce quindi le regole per l'interazione con i dati da parte della View e del Controller, rispettivamente per l'accesso e l'aggiornamento. Inne il Model può avere la responsabilità di noticare alla View eventuali aggiornamenti sui dati, magari in seguito a richieste del Controller, in modo da fornire all'utente dati sempre aggiornati. 32

38 CAPITOLO 5. LE APPLICAZIONI VIEW Denisce la logica di presentazione dei dati. Si occupa quindi della costruzione dell'interfaccia graca attraverso la quale l'utente visualizza i dati e interagisce con l'applicazione. I dati vengono aggiornati attraverso delle notiche da parte del Model (Push Model). La View delega al Controller l'esecuzione dei comandi richiesti dall'utente. CONTROLLER Ha il compito di trasformare le interazione dell'utente con la View in azioni eseguite dal Model. Il Controller non rappresenta solo un ponte tra Model e View ma implementa la logica di controllo dell'applicazione. Tuttavia il pattern è stato modicato per adattarlo alle esigenze delle applicazioni che verranno esposte in seguito AndroidSPINE L'applicazione AndroidSPINE (Figura 5.3) ore le seguenti funzionalità: Connessione Bluetooth con i nodi sensore Congurazione (statica) della WSN Acquisizione dei dati e stampa su graco cartesiano utilizzando le librerie AndroidPlot 1 1 Figura 5.3.: AndroidSPINE 33

Tecniche di progettazione e sviluppo di applicazioni mobile

Tecniche di progettazione e sviluppo di applicazioni mobile Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy diegozabot@yahoo.it Android Introduzione diegozabot@yahoo.it

Dettagli

14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. http://alessandrazullo.altervista.org Alessandra Zullo

14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. http://alessandrazullo.altervista.org Alessandra Zullo 14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1 http://alessandrazullo.altervista.org Alessandra Zullo Indice Provvisorio INTRODUZIONE... 3 COMPONENTI PRINCIPALI... 3 PROCESSI...

Dettagli

Sistemi Mobili e Wireless Android Introduzione alla piattaforma

Sistemi Mobili e Wireless Android Introduzione alla piattaforma Sistemi Mobili e Wireless Android Introduzione alla piattaforma Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Cos'è Android?

Dettagli

L ambiente di sviluppo Android Studio

L ambiente di sviluppo Android Studio L ambiente di sviluppo Android Studio Android Studio è un ambiente di sviluppo integrato (IDE, Integrated Development Environment) per la programmazione di app con Android. È un alternativa all utilizzo

Dettagli

Android. Anatomia di una applicazione

Android. Anatomia di una applicazione Android Anatomia di una applicazione Elementi di base Gli elementi di base per costruire una applicazione Android sono cinque: Activity Intent Broadcast Receiver Service Content Provider 2 Activity (1/3)

Dettagli

Sistemi Mobili e Wireless Android Primi passi

Sistemi Mobili e Wireless Android Primi passi Sistemi Mobili e Wireless Android Primi passi Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Ambiente di sviluppo L'ambiente

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

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it ANDROID Domenico Talia Università della Calabria talia@dimes.unical.it Sistemi Operativi per Mobile! I sistemi operativi per sistemi mobili seguono i principi dei SO classici ma devono gestire risorse

Dettagli

Università degli Studi di Napoli Federico II. FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica LM. Progetto di un applicazione Android

Università degli Studi di Napoli Federico II. FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica LM. Progetto di un applicazione Android Università degli Studi di Napoli Federico II FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica LM Progetto di un applicazione Android Briscola bluetooth Candidati: Giuliano Formato Daniele

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Programmazione in ambiente

Programmazione in ambiente Università Politecnica delle Marche Dipartimento di Ingegneria dell Informazione Programmazione in ambiente Android Laura Montanini - laura.montanini@univpm.it Corso di Tecnologie per le TLC 2013-2014

Dettagli

A.1 Congurazione dell'ambiente di sviluppo

A.1 Congurazione dell'ambiente di sviluppo Appendice A Hardware e Software A.1 Congurazione dell'ambiente di sviluppo Per ottenere una piattaforma di sviluppo che funzioni in maniera adeguata è necessario eseguire l'installazione di diversi tool

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy.

Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy. Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy. 10 Lezione n. Parole chiave: Java Corso di Laurea: Informatica Insegnamento: Linguaggi di Programmazione II Email Docente: faella.didattica@gmail.com

Dettagli

SMS-GPS MANAGER. Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps

SMS-GPS MANAGER. Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps SOFTWARE PER LA GESTIONE DEI TELECONTROLLI SMS-GPS MANAGER Software per la gestione remota ed automatizzata dei telecontrolli gsm con e senza gps Rev.0911 Pag.1 di 8 www.carrideo.it INDICE 1. DESCRIZIONE

Dettagli

Android world. Sviluppare app per Android. Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...)

Android world. Sviluppare app per Android. Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...) Android world Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...) Contiene un Sistema Operativo, software middleware e applicazioni varie Sviluppato da Open Handset Alliance,

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Guida Utente PS Contact Manager GUIDA UTENTE

Guida Utente PS Contact Manager GUIDA UTENTE GUIDA UTENTE Installazione...2 Prima esecuzione...5 Login...7 Registrazione del programma...8 Inserimento clienti...9 Gestione contatti...11 Agenti...15 Archivi di base...16 Installazione in rete...16

Dettagli

Un applicazione per il trasferimento file in ambiente Symbian

Un applicazione per il trasferimento file in ambiente Symbian tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Paolo Ascione candidato Barbara Migliaccio Matr. 534/1026 Scenario Applicativo File Transfer via Bluetooth

Dettagli

Un Sistema Location-based per la mappatura degli Access Point

Un Sistema Location-based per la mappatura degli Access Point 1 Un Sistema Location-based per la mappatura degli Access Point Pasquale Cautela pasquale.cautela@studio.unibo.it Marco Peca marco.peca@studio.unibo.it Rosario Salpietro rosario.salpietro@studio.unibo.it

Dettagli

Processi in Linux. Igino Corona igino.corona@diee.unica.it. 20 Ottobre 2009

Processi in Linux. Igino Corona igino.corona@diee.unica.it. 20 Ottobre 2009 Sistemi Operativi Processi in Linux Igino Corona igino.corona@diee.unica.it 20 Ottobre 2009 Contenuti della lezione Come funzionano i programmi in Linux? Schema base di esecuzione di un programma Modalità

Dettagli

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY 1 Sommario 1. INTRODUZIONE... 3 2. GET METAIO... 4 2.1. PREREQUISITI... 4 2.2. INTALLAZIONE... 4 2.3. PROGETTI ESEMPLIFICATIVI... 4 3. USARE

Dettagli

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica Corso di Laurea in Matematica Seminario C/C++ Costa Università degli Studi di Milano Dipartimento di Matematica 19 Ottobre 2011 Cos'é un'ide IDE = Integrated Development Environment Consiste in: Editor

Dettagli

LUCA VACCARO. Politecnico di Milano. S2MS Guida di Riferimento

LUCA VACCARO. Politecnico di Milano. S2MS Guida di Riferimento LUCA VACCARO Politecnico di Milano S2MS Guida di Riferimento L U C A V A C C A R O S2MS Guida di Riferimento Software sviluppato da Luca Vaccaro luck87@gmail.com Progetto del corso Internetworking TCP/IP

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

MANUALE D USO Agosto 2013

MANUALE D USO Agosto 2013 MANUALE D USO Agosto 2013 Descrizione generale MATCHSHARE è un software per la condivisione dei video e dati (statistiche, roster, ) delle gare sportive. Ogni utente abilitato potrà caricare o scaricare

Dettagli

19. Introduzione al multi-threading

19. Introduzione al multi-threading 19. Introduzione al multi-threading Marco Faella Dip. Ing. Elettrica e Tecnologie dell'informazione Università di Napoli Federico II Corso di Linguaggi di Programmazione II I thread I thread, o processi

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Guida all Utilizzo del Posto Operatore su PC

Guida all Utilizzo del Posto Operatore su PC Guida all Utilizzo del Posto Operatore su PC 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad internet

Dettagli

Android. Android. Sviluppo di applicazioni. Dalvik 19/03/2011. A. Ferrari

Android. Android. Sviluppo di applicazioni. Dalvik 19/03/2011. A. Ferrari Android Android A. Ferrari Android è un sistema opera8vo per disposi8vi mobili. Inizialmente sviluppato da Startup Android Inc. acquisita poi nel 2005 da Google Inc. Il cuore di Android è un kernel Linux.

Dettagli

INTRODUZIONE ALLE PIATTAFORME

INTRODUZIONE ALLE PIATTAFORME INTRODUZIONE ALLE PIATTAFORME Android ios Windows Phone 8 Android 2 Cos è Android? Un moderno open-source sistema operativo Componenti: Linux kernel Java Core applications 3 Perché è stato un successo

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

Getting started. Creare una applicazione con supporto Web Server

Getting started. Creare una applicazione con supporto Web Server Getting started Creare una applicazione con supporto Web Server Revisioni del documento Data Edizione Commenti 10/03/2010 1.0 - Sielco Sistemi srl via Roma, 24 I-22070 Guanzate (CO) http://www.sielcosistemi.com

Dettagli

Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools

Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools rel. 1.2 ITA 01-06-2012 Introduzione alla creazione del plug-in Questo documento ha lo scopo di illustrare come creare

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

DonkeyCode. Manuale amministratore di sistema. Versione 1.0.0

DonkeyCode. Manuale amministratore di sistema. Versione 1.0.0 DonkeyCode RescueMe: globale per la gestione di catastrofi naturali Manuale amministratore di Versione 1.0.0 Ingegneria Del Software AA 2010-2011 DonkeyCode - RescueMe Informazioni documento Titolo documento:

Dettagli

IBM SPSS Modeler Social Network Analysis 16 Guida all'installazione e alla configurazione

IBM SPSS Modeler Social Network Analysis 16 Guida all'installazione e alla configurazione IBM SPSS Modeler Social Network Analysis 16 Guida all'installazione e alla configurazione Indice Capitolo 1. Introduzione a IBM SPSS Modeler Social Network Analysis.... 1 Panoramica di IBM SPSS Modeler

Dettagli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Corsi ANDROID 2013/2014 Benvenuti nel mondo dinamico dello sviluppo di applicazioni per smartphone e tablet Android Corsi ANDROID 2013/2014 L

Dettagli

1 2 Fase di autenticazione utente

1 2 Fase di autenticazione utente DInG my Dates di Andrea Dignani DinG my Dates è una applicazione di tipo Reminder, ovvero una app in grado di segnalare in un determinato istante di tempo all' utente un certo avvenimento/evento accaduto

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Display. Guida all Uso

Display. Guida all Uso Display Installazione Guida all Uso Scaricare l ospite (Insegnante) DisplayNote richiede un piccolo programma in esecuzione sul computer che ospita le connessioni per i dispositivi partecipanti, scaricarlo

Dettagli

Guida all Utilizzo dell Applicazione Centralino

Guida all Utilizzo dell Applicazione Centralino Guida all Utilizzo dell Applicazione Centralino 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

Elementi di Informatica e Programmazione

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

Dettagli

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

Istruzioni per la configurazione di IziOzi

Istruzioni per la configurazione di IziOzi Istruzioni per la configurazione di IziOzi Installazione L'applicazione si può installare da qualunque dispositivo Android a partire dalla versione 4.1 con la procedura standard tramite Google Play Store.

Dettagli

Silence Please! Gestore di profili audio per smartphone Android utilizzante geolocalizzazione GPS. Carmine Benedetto Luca Laudadio

Silence Please! Gestore di profili audio per smartphone Android utilizzante geolocalizzazione GPS. Carmine Benedetto Luca Laudadio Silence Please! Gestore di profili audio per smartphone Android utilizzante geolocalizzazione GPS Carmine Benedetto Luca Laudadio Silence Please! - Descrizione Generale Silence Please! è un'applicazione

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Guida introduttiva all'applicazione per dispositivi mobili Android

Guida introduttiva all'applicazione per dispositivi mobili Android Guida introduttiva all'applicazione per dispositivi mobili Android L'applicazione mobile SanDisk +Cloud consente di accedere ai contenuti e gestire il proprio account dal proprio dispositivo mobile. Con

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Protocollo di trasmissione Trova il Tuo Farmaco. Indice. Versione documento: 1.4 Data: 29/06/2011

Protocollo di trasmissione Trova il Tuo Farmaco. Indice. Versione documento: 1.4 Data: 29/06/2011 Protocollo di trasmissione Trova il Tuo Farmaco Versione documento: 1.4 Data: 29/06/2011 Indice Protocollo di trasmissione Trova il Tuo Farmaco...1 Requisiti...2 Finalità...2 Software...2 Documentazione...2

Dettagli

Manuale d uso. Applicazione client Postecert Firma Digitale per Postemailbox

Manuale d uso. Applicazione client Postecert Firma Digitale per Postemailbox per Postemailbox Documento pubblico Pagina 1 di 22 Indice INTRODUZIONE... 3 REQUISITI... 3 SOFTWARE... 3 HARDWARE... 3 INSTALLAZIONE... 3 AGGIORNAMENTI... 4 AVVIO DELL APPLICAZIONE... 4 UTILIZZO DELL APPLICAZIONE...

Dettagli

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA-SPF-1.0 Versione del 18.04.2001 SOMMARIO 1 INTRODUZIONE

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

Parte II: Reti di calcolatori Lezione 10

Parte II: Reti di calcolatori Lezione 10 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 10 Giovedì 3-04-2014 1 Reti per la distribuzione

Dettagli

Si precisa in ogni caso che questa guida rapida non esime dalla lettura del manuale utente presente nell ambiente del Servizio Telematico Doganale.

Si precisa in ogni caso che questa guida rapida non esime dalla lettura del manuale utente presente nell ambiente del Servizio Telematico Doganale. GUIDA RAPIDA versione 11 marzo 2008 SEERVIIZZIIO TTEELLEEMATTIICO M DOGANALLEE G Avvertenze: Questa guida vuole costituire un piccolo aiuto per gli operatori che hanno già presentato richiesta di adesione

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

GFI LANguard 9. Guida introduttiva. A cura di GFI Software Ltd.

GFI LANguard 9. Guida introduttiva. A cura di GFI Software Ltd. GFI LANguard 9 Guida introduttiva A cura di GFI Software Ltd. http://www.gfi.com E-mail: info@gfi.com Le informazioni contenute nel presente documento sono soggette a modifiche senza preavviso. Salvo se

Dettagli

Manuale Utente. versione 1.2.0.6. BIS S.r.l.

Manuale Utente. versione 1.2.0.6. BIS S.r.l. Manuale Utente versione 1.2.0.6 BIS S.r.l. Via Trieste, 31 20080 Bubbiano MI Italia Tel.: +39 02 90834207 Fax: +39 02 90870542 e-mail: info@bilanceonline.it P.IVA e C.F.: 03774900967 INDICE 1 INTRODUZIONE...

Dettagli

GEODROP APPLICATIONS. Developer. Public. Private. Reseller

GEODROP APPLICATIONS. Developer. Public. Private. Reseller GEODROP APPLICATIONS Public Developer Reseller Private Le Applicazioni di Geodrop Guida per Developer alle Applicazioni Guida alle applicazioni v1.1-it, 21 Dicembre 2012 Indice Indice...2 Cronologia delle

Dettagli

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

Dettagli

APP SECURKEYPAD ANDROID. ----------------------- Manuale Edizione 1.0

APP SECURKEYPAD ANDROID. ----------------------- Manuale Edizione 1.0 APP SECURKEYPAD ANDROID ----------------------- Manuale Edizione 1.0 Securforce Srl email : info@securforce.com web : www.securforce.com Rev. 1.0 del 01/06/2014 Ver. firmware 6.XX Manuale installatore

Dettagli

Statistica 4038 (ver. 1.2)

Statistica 4038 (ver. 1.2) Statistica 4038 (ver. 1.2) Software didattico per l insegnamento della Statistica SERGIO VENTURINI, MAURIZIO POLI i Il presente software è utilizzato come supporto alla didattica nel corso di Statistica

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

Informatica di base. Lucio Bianchi. 2 aprile 2011. Lezione 3

Informatica di base. Lucio Bianchi. 2 aprile 2011. Lezione 3 Informatica di base Lezione 3 Lucio Bianchi 2 aprile 2011 1 Sommario Indice 1 Primi passi con Ubuntu 1 1.1 Il LiveCD............................... 1 1.2 Esplorare il desktop......................... 3

Dettagli

NAL DI STAGING. Versione 1.0

NAL DI STAGING. Versione 1.0 NAL DI STAGING Versione 1.0 14/10/2008 Indice dei Contenuti 1. Introduzione... 3 2. Installazione NAL di staging... 3 VMWare Server... 3 Preistallazione su server linux... 6 Preinstallazione su server

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Android development. Sviluppo di Mobile Apps sul sistema operativo di Google

Android development. Sviluppo di Mobile Apps sul sistema operativo di Google Android development Sviluppo di Mobile Apps sul sistema operativo di Google Agenda Giorni: Gio 14/04/2011 Ven 15/04/2011 Gio 21/04/2011 Ven 22/04/2011 Suddivisione: Mattina: teoria Pomeriggio: pratica

Dettagli

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

Acronis License Server. Manuale utente

Acronis License Server. Manuale utente Acronis License Server Manuale utente INDICE 1. INTRODUZIONE... 3 1.1 Panoramica... 3 1.2 Politica della licenza... 3 2. SISTEMI OPERATIVI SUPPORTATI... 4 3. INSTALLAZIONE DI ACRONIS LICENSE SERVER...

Dettagli

STELLA SUITE Manuale d'uso

STELLA SUITE Manuale d'uso STELLA SUITE Manuale d'uso Stella Suite Manuale d'uso v. 1.2014 INDICE Sezione Pagina 1. Introduzione a Stella Suite Componenti Requisiti sistema Panorama della schermata iniziale 2. Installazione di Stella

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

Cambia vincite. Documento tecnico Aggiornamento tarature per lettore di banconote Smart Payout. Cod. DQMBI00001.0IT Rev. 1.

Cambia vincite. Documento tecnico Aggiornamento tarature per lettore di banconote Smart Payout. Cod. DQMBI00001.0IT Rev. 1. Nexus PRO Cambia vincite IT Documento tecnico Aggiornamento tarature per lettore di banconote Smart Payout Cod. DQMBI00001.0IT Rev. 1.0 06 10 2015 Aggiornamento delle tarature per erogatore di banconote

Dettagli

Introduzione... 2. Un software per l automazione di procedure statistiche su dati Pet... 2. Il Pre-Processing... 7. La fase di statistica...

Introduzione... 2. Un software per l automazione di procedure statistiche su dati Pet... 2. Il Pre-Processing... 7. La fase di statistica... Indice Introduzione... 2 Un software per l automazione di procedure statistiche su dati Pet... 2 Il Pre-Processing... 7 La fase di statistica... 12 Algoritmo di classificazione... 13 L interfaccia... 15

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Messaggi volatili. Matteo Zignani. 10 gennaio 2015

Messaggi volatili. Matteo Zignani. 10 gennaio 2015 UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Messaggi volatili Matteo Zignani 10 gennaio 2015 1 PRESENTAZIONE DEL PROBLEMA Lo studente

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

Sistema Tele Assistence

Sistema Tele Assistence Sistema Tele Assistence SISTEMA PER LA GESTIONE DI RICHIESTE DI SOCCORSO LASER NAVIGATION 1 1.SISTEMA TELEASSISTENCE Il Sistema Tele Assistence ha come scopo garantire la sicurezza delle persone che si

Dettagli

NCR 2215 e compatibili

NCR 2215 e compatibili MANUALE D USO NCR 2215 e compatibili COMPATIBILE WINDOWS VISTA / 7 / 8 Versione 1.0.0.8 Manuale RTS WPOS1 INDICE MANUALE D USO...1 NCR 2215 e compatibili...1 INDICE... 2 LEGENDA... 2 PREMESSA... 3 VERSIONI

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore Relazioni tra oggetti e classi : Generalizzazione Fondamenti di Informatica II 20. Laboratorio 6 Collegamenti e associazioni Le relazioni di tipo generalizzazione (specializzazione), servono per poter

Dettagli

Si precisa in ogni caso che questa guida rapida non esime dalla lettura del Manuale utente presente nell ambiente del Servizio Telematico Doganale.

Si precisa in ogni caso che questa guida rapida non esime dalla lettura del Manuale utente presente nell ambiente del Servizio Telematico Doganale. GUIDA RAPIDA versione 25 febbraio 2010 SERVIIZIIO TELEMATIICO DOGANALE Avvertenze: Questa guida vuole costituire un piccolo aiuto per gli operatori che hanno già presentato richiesta di adesione al servizio

Dettagli

Guida introduttiva di F-Secure PSB

Guida introduttiva di F-Secure PSB Guida introduttiva di F-Secure PSB Guida introduttiva di F-Secure PSB Indice generale 3 Sommario Capitolo 1: Introduzione...5 Capitolo 2: Guida introduttiva...7 Creazione di un nuovo account...8 Come

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Sviluppo Software Autore: Sergio Gandola Revisione: 2 Data: 07/06/13 Titolo: Documentazione Tecnica Diario File:Documentazione Tecnica.pdf Sito: http://inno-school.netsons.org/

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012 Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici

Dettagli

Internet Posta Elettronica

Internet Posta Elettronica Progetto IUVARE Codice progetto CIP: 2007.IT.051.PO.003/II/D/F/9.2.1/0299 Corso Operatore/trice socio assistenziale MODULO "INFORMATICA DI BASE" Docente: Arch. Tommaso Campanile Internet Posta Elettronica

Dettagli

SecurityLogWatcher Vers.1.0

SecurityLogWatcher Vers.1.0 SecurityLogWatcher Vers.1.0 1 Indice Informazioni Generali... 3 Introduzione... 3 Informazioni in materia di amministratore di sistema... 3 Informazioni sul prodotto... 5 Installazione e disinstallazione...

Dettagli

14 maggio 2010 Versione 1.0

14 maggio 2010 Versione 1.0 SOFTWARE PER LA GESTIONE DI UN SISTEMA PER LA RILEVAZIONE DELLA QUALITÀ PERCEPITA DAGLI UTENTI, NEI CONFRONTI DI SERVIZI RICHIESTI ALLA PUBBLICA AMMINISTRAZIONE, ATTRAVERSO L'UTILIZZO DI EMOTICON. 14 maggio

Dettagli

La gestione della produzione avanzata richiede Mon Ami 3000 Azienda Pro oltre alle opzioni Produzione base e Produzione avanzata.

La gestione della produzione avanzata richiede Mon Ami 3000 Azienda Pro oltre alle opzioni Produzione base e Produzione avanzata. Mon Ami 3000 Produzione avanzata Distinta base multi-livello e lancio di produzione impegno di magazzino, emissione ordini e schede di lavorazione gestione avanzamento di produzione Prerequisiti La gestione

Dettagli

Programmazione Java Avanzata Concetti su Java

Programmazione Java Avanzata Concetti su Java Programmazione Java Avanzata Concetti su Java Ing. Giuseppe D'Aquì Testi di Riferimento Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Virtual Machine Il codice scritto in Java

Dettagli

Sophos Mobile Control Guida utenti per Android. Versione prodotto: 3.5

Sophos Mobile Control Guida utenti per Android. Versione prodotto: 3.5 Sophos Mobile Control Guida utenti per Android Versione prodotto: 3.5 Data documento: luglio 2013 Sommario 1 About Sophos Mobile Control...3 2 Informazioni sulla guida...4 3 Accesso al portale self-service...5

Dettagli

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio QUEUE : considerazioni QUEUE : considerazioni Si è realizzata una struttura dati complessa utilizzandone una primitiva, l array. Il pregio di tale implementazione è il basso costo computazionale, mentre

Dettagli

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO 27 Giugno 2011 DOC. ES-31-IS-0B PAG. 2 DI 26 INDICE PREMESSA 3 1. INSTALLAZIONE

Dettagli

Sistemi Mobili e Wireless Android - Servizi

Sistemi Mobili e Wireless Android - Servizi Sistemi Mobili e Wireless Android - Servizi Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Servizi Un servizio è un componente

Dettagli

MDaemon e Outlook Connector for MDaemon

MDaemon e Outlook Connector for MDaemon MDaemon e Outlook Connector for MDaemon Introduzione...2 Cos'è il groupware...2 Che cosa significa groupware?...2 Cos è WorldClient...2 MDaemon e l evoluzione delle funzionalità groupware...3 Nuove funzionalità

Dettagli