747 resultados para orientamento :: 396 :: Percorso sistemi elettronici per applicazioni biomediche
Resumo:
Nel seguente elaborato verranno presentate le fasi di una corretta campagna di test a terra per sistemi spaziali, le verifiche da svolgere con relativi sistemi di misurazione, le normative di riferimento, nonché le linee guida per la stesura di un test report. Esso rappresenta un breve manuale per coloro che si apprestano ad esercitare test su sistemi prevalentemente spaziali. I principi discussi potranno eventualmente essere estesi anche in ambito aeronautico, ma, in questo caso, le normative di riferimento saranno diverse.
Resumo:
L'elaborato si propone di costituire una guida per la verifica e i test di volo su satelliti o lanciatori, prendendo come riferimento la normativa europea ECSS (European Cooperation for Space Standardization). È riportata la procedura di test, in particolare la fase di test in volo, con particolare attenzione alla pianificazione e allo svolgimento, fino a giungere alla fase di verifica dei risultati. I principali sensori utilizzati per effettuare le misurazioni sono descritti soffermandosi anche sulla telemetria, attraverso la quale è possibile ottenere informazioni dettagliate a terra sullo stato del satellite ed inviare comandi attraverso un telecomando. Al termine informazioni sulla modalità di redazione di un test report.
Resumo:
L’obbiettivo di questa tesi consiste in un analisi dello sviluppo di applicazioni mobile, rivolgendo particolare attenzione riguardo a quelle soluzioni che consentono di astrarre dall’ambiente su cui effettivamente queste verranno eseguite, per poi prendere in esame la piattaforma e il linguaggio Mobl. Sarà quindi necessario effettuare una panoramica sullo stato attuale del mercato, introducendo i diversi sistemi presenti e le metodologie proposte per la costruzione del software. Da questo studio sarà possibile ricavare i pregi e i difetti di una programmazione nativa. Volendo, in seguito, ricercare un processo di produzione software che favorisca un’indipendenza dai sistemi precedentemente descritti, verranno illustrati alcuni tra i più importanti Mobile Frameworks e tra questi si prenderà in esame Mobl, che si contraddistingue grazie a caratteristiche peculiari.
Resumo:
Negli ultimi anni le Web application stanno assumendo un ruolo sempre più importante nella vita di ognuno di noi. Se fino a qualche anno fa eravamo abituati ad utilizzare quasi solamente delle applicazioni “native”, che venivano eseguite completamente all’interno del nostro Personal Computer, oggi invece molti utenti utilizzano i loro vari dispositivi quasi esclusivamente per accedere a delle Web application. Grazie alle applicazioni Web si sono potuti creare i cosiddetti social network come Facebook, che sta avendo un enorme successo in tutto il mondo ed ha rivoluzionato il modo di comunicare di molte persone. Inoltre molte applicazioni più tradizionali come le suite per ufficio, sono state trasformate in applicazioni Web come Google Docs, che aggiungono per esempio la possibilità di far lavorare più persone contemporanemente sullo stesso documento. Le Web applications stanno assumendo quindi un ruolo sempre più importante, e di conseguenza sta diventando fondamentale poter creare delle applicazioni Web in grado di poter competere con le applicazioni native, che siano quindi in grado di svolgere tutti i compiti che sono stati sempre tradizionalmente svolti dai computer. In questa Tesi ci proporremo quindi di analizzare le varie possibilità con le quali poter migliorare le applicazioni Web, sia dal punto di vista delle funzioni che esse possono svolgere, sia dal punto di vista della scalabilità. Dato che le applicazioni Web moderne hanno sempre di più la necessità di poter svolgere calcoli in modo concorrente e distribuito, analizzeremo un modello computazionale che si presta particolarmente per progettare questo tipo di software: il modello ad Attori. Vedremo poi, come caso di studio di framework per la realizzazione di applicazioni Web avanzate, il Play framework: esso si basa sulla piattaforma Akka di programmazione ad Attori, e permette di realizzare in modo semplice applicazioni Web estremamente potenti e scalabili. Dato che le Web application moderne devono avere già dalla nascita certi requisiti di scalabilità e fault tolerance, affronteremo il problema di come realizzare applicazioni Web predisposte per essere eseguite su piattaforme di Cloud Computing. In particolare vedremo come pubblicare una applicazione Web basata sul Play framework sulla piattaforma Heroku, un servizio di Cloud Computing PaaS.
Resumo:
La crescente disponibilità di dispositivi meccanici e -soprattutto - elettronici le cui performance aumentano mentre il loro costo diminuisce, ha permesso al campo della robotica di compiere notevoli progressi. Tali progressi non sono stati fatti unicamente per ciò che riguarda la robotica per uso industriale, nelle catene di montaggio per esempio, ma anche per quella branca della robotica che comprende i robot autonomi domestici. Questi sistemi autonomi stanno diventando, per i suddetti motivi, sempre più pervasivi, ovvero sono immersi nello stesso ambiente nel quale vivono gli essere umani, e interagiscono con questi in maniera proattiva. Essi stanno compiendo quindi lo stesso percorso che hanno attraversato i personal computer all'incirca 30 anni fa, passando dall'essere costosi ed ingombranti mainframe a disposizione unicamente di enti di ricerca ed università, ad essere presenti all'interno di ogni abitazione, per un utilizzo non solo professionale ma anche di assistenza alle attività quotidiane o anche di intrattenimento. Per questi motivi la robotica è un campo dell'Information Technology che interessa sempre più tutti i tipi di programmatori software. Questa tesi analizza per prima cosa gli aspetti salienti della programmazione di controllori per robot autonomi (ovvero senza essere guidati da un utente), quindi, come l'approccio basato su agenti sia appropriato per la programmazione di questi sistemi. In particolare si mostrerà come un approccio ad agenti, utilizzando il linguaggio di programmazione Jason e quindi l'architettura BDI, sia una scelta significativa, dal momento che il modello sottostante a questo tipo di linguaggio è basato sul ragionamento pratico degli esseri umani (Human Practical Reasoning) e quindi è adatto alla implementazione di sistemi che agiscono in maniera autonoma. Dato che le possibilità di utilizzare un vero e proprio sistema autonomo per poter testare i controllori sono ridotte, per motivi pratici, economici e temporali, mostreremo come è facile e performante arrivare in maniera rapida ad un primo prototipo del robot tramite l'utilizzo del simulatore commerciale Webots. Il contributo portato da questa tesi include la possibilità di poter programmare un robot in maniera modulare e rapida per mezzo di poche linee di codice, in modo tale che l'aumento delle funzionalità di questo risulti un collo di bottiglia, come si verifica nella programmazione di questi sistemi tramite i classici linguaggi di programmazione imperativi. L'organizzazione di questa tesi prevede un capitolo di background nel quale vengono riportare le basi della robotica, della sua programmazione e degli strumenti atti allo scopo, un capitolo che riporta le nozioni di programmazione ad agenti, tramite il linguaggio Jason -quindi l'architettura BDI - e perché tale approccio è adatto alla programmazione di sistemi di controllo per la robotica. Successivamente viene presentata quella che è la struttura completa del nostro ambiente di lavoro software che comprende l'ambiente ad agenti e il simulatore, quindi nel successivo capitolo vengono mostrate quelle che sono le esplorazioni effettuate utilizzando Jason e un approccio classico (per mezzo di linguaggi classici), attraverso diversi casi di studio di crescente complessità; dopodiché, verrà effettuata una valutazione tra i due approcci analizzando i problemi e i vantaggi che comportano questi. Infine, la tesi terminerà con un capitolo di conclusioni e di riflessioni sulle possibili estensioni e lavori futuri.
Resumo:
Durante il lavoro di tesi si è analizzato e sviluppato un convertitore trifase multilivello di nuova generazione per l'allacciamento di un campo fotovoltaico multistringa alla rete elettrica. Si sono quindi studiati gli algoritmi di controllo di questa tipologia di inverter e sono state proposte soluzioni ad alcune delle più importanti problematiche incontrate in fase di sviluppo.
Resumo:
Il campo della coordinazione può beneficiare di nuovi strumenti e tecnologie per il proprio sviluppo o per rendere accessibili le sue funzionalità ad un pubblico più vasto. Il progetto TuCSoN, in particolare, include lo strumento Inspector tramite il quale è possibile monitorare ed interagire con l'intero spazio di coordinazione. Al fine di rendere disponibili queste funzionalità anche al mondo mobile è necessario eseguire il porting dell'applicazione. In questa tesi, perciò, verranno prima di tutto analizzate le caratteristiche principali dei modelli di coordinazione e, in particolare, del modello TuCSoN. In seguito eseguiremo un'introduzione sulla tecnologia Android, che ci fornirà gli strumenti necessari per la creazione di un framework mobile equivalente all'Inspector. Infine verranno affrontate le problematiche principali per eseguire con successo il porting, come ad esempio la necessità di ridefinire l'intera interfaccia grafica o l'utilizzo di nuovi componenti quali i service e le activity. Questa operazione, quindi, dimostrerà l'esigenza di adattare l'Inspector ai meccanismi appartenenti al nuovo ambiente di esecuzione.
Resumo:
Questa tesi presenta considerazioni sull'efficienza energetica di circuiti di conversione di potenza da trasduttori piezoelettrici attivati in maniera sincrona con le vibrazioni. Viene valutato l'effetto dell'inversione della carica elettrica residua al termine di ogni ciclo di conversione e viene analizzata un'architettura a due stadi sviluppata dall'Università di Bologna in grado di garantire una migliore efficienza, particolarmente idonea alla carica di supercondensatori. Le valutazioni sono state effettuate mediante simulazioni circuitali e gli schemi analizzati offrono incrementi significativi di prestazioni, maggiormente evidenti con vibrazioni di bassa intensità.
Resumo:
Il Web nel corso della sua esistenza ha subito un mutamento dovuto in parte dalle richieste del mercato, ma soprattutto dall’evoluzione e la nascita costante delle numerose tecnologie coinvolte in esso. Si è passati da un’iniziale semplice diffusione di contenuti statici, ad una successiva collezione di siti web, dapprima con limitate presenze di dinamicità e interattività (a causa dei limiti tecnologici), ma successivamente poi evoluti alle attuali applicazioni web moderne che hanno colmato il gap con le applicazioni desktop, sia a livello tecnologico, che a livello di diffusione effettiva sul mercato. Tali applicazioni web moderne possono presentare un grado di complessità paragonabile in tutto e per tutto ai sistemi software desktop tradizionali; le tecnologie web hanno subito nel tempo un evoluzione legata ai cambiamenti del web stesso e tra le tecnologie più diffuse troviamo JavaScript, un linguaggio di scripting nato per dare dinamicità ai siti web che si ritrova tutt’ora ad essere utilizzato come linguaggio di programmazione di applicazioni altamente strutturate. Nel corso degli anni la comunità di sviluppo che ruota intorno a JavaScript ha prodotto numerose librerie al supporto del linguaggio dotando così gli sviluppatori di un linguaggio completo in grado di far realizzare applicazioni web avanzate. Le recenti evoluzioni dei motori javascript presenti nei browser hanno inoltre incrementato le prestazioni del linguaggio consacrandone la sua leadership nei confronti dei linguaggi concorrenti. Negli ultimi anni a causa della crescita della complessità delle applicazioni web, javascript è stato messo molto in discussione in quanto come linguaggio non offre le classiche astrazioni consolidate nel tempo per la programmazione altamente strutturata; per questo motivo sono nati linguaggi orientati alla programmazione ad oggetti per il web che si pongono come obiettivo la risoluzione di questo problema: tra questi si trovano linguaggi che hanno l’ambizione di soppiantare JavaScript come ad esempio Dart creato da Google, oppure altri che invece sfruttano JavaScript come linguaggio base al quale aggiungono le caratteristiche mancanti e, mediante il processo di compilazione, producono codice JavaScript puro compatibile con i motori JavaScript presenti nei browser. JavaScript storicamente fu introdotto come linguaggio sia per la programmazione client-side, che per la controparte server-side, ma per vari motivi (la forte concorrenza, basse performance, etc.) ebbe successo solo come linguaggio per la programmazione client; le recenti evoluzioni del linguaggio lo hanno però riportato in auge anche per la programmazione server-side, soprattutto per i miglioramenti delle performance, ma anche per la sua naturale predisposizione per la programmazione event-driven, paradigma alternativo al multi-threading per la programmazione concorrente. Un’applicazione web di elevata complessità al giorno d’oggi può quindi essere interamente sviluppata utilizzando il linguaggio JavaScript, acquisendone sia i suoi vantaggi che gli svantaggi; le nuove tecnologie introdotte ambiscono quindi a diventare la soluzione per i problemi presenti in JavaScript e di conseguenza si propongono come potenziali nuovi linguaggi completi per la programmazione web del futuro, anticipando anche le prossime evoluzioni delle tecnologie già esistenti preannunciate dagli enti standard della programmazione web, il W3C ed ECMAScript. In questa tesi saranno affrontate le tematiche appena introdotte confrontando tra loro le tecnologie in gioco con lo scopo di ottenere un’ampia panoramica delle soluzioni che uno sviluppatore web dovrà prendere in considerazione per realizzare un sistema di importanti dimensioni; in particolare sarà approfondito il linguaggio TypeScript proposto da Microsoft, il quale è nato in successione a Dart apparentemente con lo stesso scopo, ma grazie alla compatibilità con JavaScript e soprattutto con il vasto mondo di librerie legate ad esso nate in questi ultimi anni, si presenta nel mercato come tecnologia facile da apprendere per tutti gli sviluppatori che già da tempo hanno sviluppato abilità nella programmazione JavaScript.
Resumo:
I sistemi mobili rappresentano una classe di sistemi distribuiti caratterizzata dalla presenza di dispositivi portatili eterogenei quali PDA, laptop e telefoni cellulari che interagiscono tra loro mediante una rete di interconnessione wireless. Una classe di sistemi mobili di particolare interesse è costituita dai sistemi basati sul modello di interazione publish/subscribe. Secondo tale schema, i nodi all'interno di una rete possono assumere due ruoli differenti: i produttori di informazione, chiamati publisher, ed i consumatori di informazione, chiamati subscriber. Tipicamente, l'interazione tra essi è mediata da un gestore di eventi che indirizza correttamente le informazioni ricevute dai publisher verso i subscriber interessati, sulla base degli interessi espressi da questi ultimi tramite sottoscrizioni. Nella progettazione di sistemi mobili, a differenza di quelli tradizionali basati su nodi fissi, bisogna tenere conto di problemi quali la scarsa capacità computazionale dei dispositivi e la limitata larghezza di banda delle reti wireless. All'interno di tale ambito, stanno recentemente assumendo sempre maggiore importanza i sistemi context-aware, ovvero sistemi mobili che sfruttano i dati provenienti dall'ambiente circostante e dai dispositivi stessi per adattare il proprio comportamento e notificare agli utenti la presenza di informazioni potenzialmente utili. Nello studio di questi sistemi, si è notato che i nodi che si trovano nella stessa area geografica generano tipicamente delle sottoscrizioni che presentano tra loro un certo grado di similarità e coperture parziali o totali. Il gruppo di ricerca del DEIS dell’Università di Bologna ha sviluppato un'infrastruttura di supporto per sistemi mobili context-aware, chiamata SALES. Attualmente il sistema progettato non considera le similarità delle sottoscrizioni e quindi non sfrutta opportunamente tale informazione. In questo contesto si rende necessario l'adozione di opportune tecniche di aggregazione delle sottoscrizioni atte ad alleggerire la computazione dei nodi mobili e le comunicazioni tra loro. Il lavoro presentato in questa tesi sarà finalizzato alla ricerca, all'adattamento ed all'implementazione di una tecnica di aggregazione delle sottoscrizioni. Tale tecnica avrà lo scopo di rilevare e sfruttare le similarità delle sottoscrizioni ricevute dal sistema al fine di ridurne il numero; in questo modo, quando un nodo riceverà un dato, il processo di confronto tra l'insieme delle sottoscrizioni memorizzate e il dato ricevuto sarà più leggero, consentendo un risparmio di risorse computazionali. Inoltre, adattando tali tecniche, sarà possibile modulare anche il traffico dati scaturito dalle risposte alle sottoscrizioni. La struttura di questa tesi prevede un primo capitolo sui sistemi context-aware, descrivendone le principali caratteristiche e mettendo in luce le problematiche ad essi associate. Il secondo capitolo illustra il modello di comunicazione Publish/Subscribe, modello di riferimento per i moderni sistemi context-aware e per i sistemi mobili in generale. Il terzo capitolo descrive l'infrastruttura SALES sulla quale si è progettata, implementata e testata la soluzione proposta in questa tesi. Il quarto capitolo presenta le principali tecniche di aggregazione delle sottoscrizioni e spiega come possono essere adattate al contesto di questa tesi. Il quinto capitolo effettua l'analisi dei requisiti per comprendere meglio il comportamento della soluzione; seguono la progettazione e l’implementazione della soluzione su SALES. Infine, il sesto capitolo riporta in dettaglio i risultati ottenuti da alcuni degli esperimenti effettuati e vengono messi a confronto con quelli rilevati dal sistema di partenza.