94 resultados para OpenFOAM, diesel, banco di flussaggio, open source
Resumo:
Today there are many techniques that allows to exploit vulnerabilities of an application; there are also many techniques that are designed to stop these exploit attacks. This thesis wants to highlight how a specific type of attack, based on a technique called Return Oriented Programming (ROP), can be easily applied to binaries with particular characteristics. A new method that allows the injection of "useful" code in an Open Source projects without arousing suspicions is presented; this is possible because of the harmless aspects of the injected code. This useful code facilitate a ROP attack against an executable that contains vulnerable bugs. The injection process can be visualized in environment where an user can contribute with own code to a particular Open Source project. This thesis also highlights how current software protections are not correctly applied to Open Source project, thus enabling the proposed approach.
Resumo:
Il presente lavoro si occupa di fare una rassegna esaustiva di alcuni Linked Open Dataset nel contesto delle pubblicazioni scientifiche, cercando di inquadrare la loro eterogeneità ed identificando i principali pregi e difetti di ciascuno. Inoltre, descriviamo il nostro prototipo GReAT (Giorgi's Redundant Authors Tool), creato per il corretto riconoscimento e disambiguazione degli autori.
Resumo:
Breve introduzione sui radar, sistemi Ultra WideBand, controlli non distruttivi e progettazione di un banco di prova per radar UWB per l'analisi non distruttiva dei danni sui materiali compositi.
Resumo:
analisi dell'approccio semplificato e introduzione ad un nuovo approccio, considerando le tensioni sui condensatori e le correnti sulle induttanze non più costanti. determinazione e analisi dei ripple di corrente sulle induttanze e tensioni sulle capacità. confronto fra i risultati teorici del nuovo approccio e quelli ottenuti attraverso le simulazioni effettuate con Simulink. analisi di funzionamento e dimensionamento dei componenti
Resumo:
Questa tesi si pone l'obiettivo di esplorare alcuni aspetti di uno dei settori più in crescita in questi anni (e nei prossimi) in ambito informatico: \textbf{Internet of Things}, con un occhio rivolto in particolar modo a quelle che sono le piattaforme di sviluppo disponibili in questo ambito. Con queste premesse, si coglie l'occasione per addentrarsi nella scoperta della piattaforma realizzata e rilasciata da pochi mesi da uno dei colossi del mercato IT: Microsoft. Nel primo capitolo verrà trattato Internet of Things in ambito generale, attraverso una panoramica iniziale seguita da un'analisi approfondita dei principali protocolli sviluppati per questa tecnologia. Nel secondo capitolo verranno elencate una serie di piattaforme open source disponibili ad oggi per lo sviluppo di sistemi IoT. Dal terzo capitolo verrà incentrata l'attenzione sulle tecnologie Microsoft, in particolare prima si tratterà Windows 10 in generale, comprendendo \emph{UWP Applications}. Di seguito, nel medesimo capitolo, sarà focalizzata l'attenzione su Windows IoT Core, esplorandolo dettagliatamente (Windows Remote Arduino, Modalità Headed/Headless, etc.). Il capitolo a seguire concernerà la parte progettuale della tesi, comprendendo lo sviluppo del progetto \textbf{Smart Parking} in tutte le sue fasi (dei Requisiti fino ad Implementazione e Testing). Nel quinto (ed ultimo) capitolo, saranno esposte le conclusioni relative a Windows IoT Core e i suoi vantaggi/svantaggi.
Resumo:
Il presente lavoro, svolto presso il servizio di Fisica Sanitaria dell’Azienda Ospedaliera Universitaria di Parma, consiste nello sviluppo di un metodo innovativo di radioterapia adattativa. Il metodo è stato applicato a pazienti affetti da varie patologie, trattati con tecnica VMAT, (Volumetric Modulated Arc Therapy), altamente conformata al target. Il metodo sviluppato si compone di due fasi: nella prima fase vengono effettuate due analisi su immagini portali, di ricostruzione della dose all'isocentro e l'analisi gamma 2D. Se almeno una di queste fallisce, si interviene con la seconda fase, che vede l'acquisizione della CBCT del paziente e la taratura in densità elettronica della stessa. Si calcola dunque il piano su CBCT, previa operazione di contouring da parte del medico e, infine, si esegue l'analisi gamma 3D sulle matrici di dose calcolate sulla CT e sulla CBCT del paziente, quantificando gli indici gamma sulle strutture PTV, CTV e OAR di interesse clinico. In base ai risultati, se necessario, si può intervenire sul piano di trattamento. Le analisi gamma 2D e 3D sono state svolte avvalendosi di un software toolkit chiamato GADD-23 (Gamma Analysis on 2D and 3D Dose Distributions) implementato e sviluppato appositamente in ambiente Matlab per questo lavoro di tesi; in particolare, la realizzazione di GADD-23 è stata resa possibile grazie all'interazione con due software di tipo open-source, Elastix e CERR, specifici per l’elaborazione e la registrazione di immagini mediche. I risultati ottenuti mostrano come il metodo sviluppato sia in grado di mettere in luce cambiamenti anatomici che alcuni pazienti hanno subìto, di tipo sistematico, in cui è possibile prendere in considerazione una ripianificazione del trattamento per correggerli, o di tipo casuale, sui quali può essere utile condurre l'attenzione del medico radioterapista, sebbene non sia necessario un replanning.
Resumo:
Progettazione di dettaglio di un banco di prova per testare sistemi ADCS per CubeSat: Alma Test-Bed. Ci si è concentrati sul progetto di un primo nucleo di AlmaTB in grado di testare il controllo di tipo magnetico. Fanno parte di AlmaTB una gabbia di Helmholtz, un air-bearing system, un CubeSat di test, un metrology system. La gabbia di Helmholtz è un apparato costituito da tre coppie di bobine, una per ogni asse spaziale, che serve ad annullare il campo magnetico locale e simulare quello che si troverà in orbita attorno alla Terra. Un software ricava i dati del campo magnetico terrestre da modello IGRF a determinate coordinate e quota e fornisce agli alimentatori del set di bobine l'indicazione della corrente da distribuire. L'air-bearing system è un cuscinetto d'aria generato da un compressore che serve a ricreare le caratteristiche condizioni dell'ambiente spaziale di microgravità e attrito quasi-zero. Il CubeSat di test sarà montato su questo sistema. Il CubeSat di test, nella prima versione di AlmaTB, contiene i sensori e gli attuatori di tipo magnetico per determinare e controllare l'assetto di un nanosatellite. Il magnetometro presente all'interno è utilizzato anche come controllo del funzionamento della gabbia di Helmholtz. Il metrology system traccia i movimenti e l'inclinazione del CubeSat. Questo fornisce il riferimento di assetto vero, in modo da capire se il sistema ADCS lavora correttamente. Una volta che il banco di prova sarà completato e operativo sarà possibile testare algoritmi di determinazione e controllo di assetto che utilizzano diversi dispositivi tra sensori e attuatori disponibili nel mock-up. Su una workstation sono installati i software di controllo ed elaborazione dati. Si è scelto di procedere con un approccio di tipo "chiavi in mano", cioè scegliendo, quando disponibile, sistemi già completi e disponibili sul mercato. La prima versione di AlmaTB nasce dall'importante, vasto lavoro di matching tra i diversi apparati.
Resumo:
Le reti devono essere in grado di gestire i modelli di traffico generati dalle nuove applicazioni, per questo si sta concentrando un interesse senza precedenti nella storia di Internet parlando di Software Defined Networking (SDN), un nuovo modo di concepire le reti. SDN è un paradigma che permette di dividere il piano di controllo dal piano dati consentendo il controllo della rete da un dispositivo unico centralizzato,il controller. In questa tesi abbiamo voluto esaminare due specifici casi di studio, affinché si dimostri come SDN possa fornire il miglior supporto per risolvere il problema delle architetture tradizionali, e uno strumento utile per progettare SDN. Per primo viene analizzato Procera, utilizzato nelle reti domestiche e nelle reti campus per dimostrare che, grazie ad esso, è possibile ridurre la complessità di un’intera rete. Poi è stato visto AgNos, un’architettura basata su azioni svolte da agenti rappresentando così un ottimo strumento di lavoro sia perché gli agenti sono implementati nei controller di rete e sia perché AgNos ha la peculiarità di fornire all’utente (o al sistema) un livello stabile di concretezza. Inoltre sono stati analizzati due problemi comuni su Internet: 1.la mitigazione degli attacchi Ddos, dove i domini SDN collaborano per filtrare i pacchetti dalla fonte per evitare l’esaurimento delle risorse 2.l’attuazione di un meccanismo di prevenzione per risolvere il problema dell’attacco Dos nella fase iniziale rendendo l’aggressione più facile da gestire. L’ultimo argomento trattato è il sistema Mininet, ottimo strumento di lavoro in quanto permette di emulare topologie di rete in cui fanno parte host, switch e controller, creati utilizzando il software. Rappresenta un ottimo strumento per implementare reti SDN ed è molto utile per lo sviluppo, l'insegnamento e la ricerca grazie alla sua peculiarità di essere open source.
Resumo:
In questo elaborato di tesi viene presentata la comparazione tra due codici CFD, rispettivamente Fluent e OpenFOAM, mediante simulazioni che sono alla base di uno studio numerico di flusso attorno ad un pantografo per treno ad alta velocità. Si è apprezzato quindi la facilità d’uso di un software venduto tramite licenza e la difficoltà di un software open source come OpenFOAM, il quale però ha vantaggi in termini di adattamento ai casi più specifici. Sono stati quindi studiati due casi, scambio termico in regime laminare attorno ad un cilindro bidimensionale e flusso turbolento completamente sviluppato in un canale. Tutte le simulazioni numeriche hanno raggiunto convergenza e sono state validate positivamente mediante confronto con dati sperimentali. Il primo caso prevede un cilindro investito da un flusso a temperatura minore rispetto alla temperatura della superficie del cilindro; per avere più riscontri, sono state condotte diverse prove a valori differenti del numero di Prandtl, e per ogni simulazione è stato ricavato il corrispettivo numero di Nusselt, successivamente comparato con i dati sperimentali per la validazione delle prove. A partire dalla creazione della griglia di calcolo, è stato effettuato uno studio del fenomeno in questione, creando così una griglia di calcolo sviluppata a valle del cilindro avente maggior densità di celle a ridosso della parte del cilindro. In aggiunta, svolgendo le prove con schemi numerici sia del primo che del secondo ordine, si è constatata la miglior sensibilità degli schemi numerici del secondo ordine rispetto a quelli del primo ordine. La seconda tipologia di simulazioni consiste in un flusso turbolento completamente sviluppato all’interno di un canale; sono state svolte simulazioni senza e con l’uso delle wall functions, e quindi usate griglie di calcolo differenti per i due tipi di simulazioni, già disponibili per entrambi i software. I dati ottenuti mostrano uno sforzo computazionale maggiore per le simulazioni che non prevedono l’uso delle wall functions, e quindi una maggiore praticità per le simulazioni con le wall functions. Inoltre, le simulazioni di questo secondo caso sono state svolte con diversi modelli di turbolenza; in Fluent sono stati utilizzati i modelli k-ε e RSM mentre in OpenFOAM è stato utilizzato solo il modello k-ε in quanto il modello RSM non è presente. La validazione dei risultati è affidata alla comparazione con i dati sperimentali ricavati da Moser et all mediante simulazioni DNS, mettendo in risalto la minor accuratezza delle equazioni RANS.
Resumo:
Lavoro sviluppato attraverso un’attività sperimentale svolta su un motore Diesel 1.3 Multijet, presente al banco nei laboratori hangar della Scuola di Ingegneria e Architettura, sede di Forlì. L’attività è stata incentrata sullo sviluppo di un sistema RCP (Rapid Control Prototyping) per il controllo del pattern di iniezione del motore, basato sull’analisi in tempo reale di un opportuno indice di rumore, calcolato in real time attraverso il processamento del segnale proveniente da un microfono da laboratorio affacciato al blocco motore.
Resumo:
In questa tesi descriveremo e analizzeremo il motore grafico OGRE, acronimo di Object-Oriented Graphics Rendering Engine. La scelta di analizzare proprio questo motore grafico è legata a diverse considerazioni. Innanzitutto, OGRE è rilasciato con licenza open source e quindi rende disponibile il suo codice sorgente. Questo è molto importante, in un contesto di studio e sperimentazione come quello universitario, perché permette di comprendere e analizzare anche il funzionamento interno del motore grafico. Inoltre, OGRE è un progetto maturo e stabile con una vasta comunità di sviluppatori e utilizzatori alle spalle. Esiste molta documentazione a riguardo, tra wiki, libri e manuali, e un forum molto attivo per la richiesta di aiuto e consigli. A conferma, sia della bontà del progetto che delle ottime prestazioni del motore grafico, basta dire che OGRE è utilizzato anche da applicazioni commerciali, come videogame, editor 3D e simulatori. Infine, la caratteristica che contraddistingue OGRE da tutti gli altri motori grafici è il fatto di essere "solamente" un motore di rendering puro. Ciò significa che qualsiasi funzionalità non direttamente legata al rendering, come ad esempio la gestione degli input dell'utente, non è supportata da OGRE. Anche se questo può sembrare un difetto, in realtà ciò permetterà di concentrarci solamente sugli aspetti legati al rendering che, in un motore grafico, costituiscono la parte fondamentale.
Resumo:
Fra le varie ragioni della crescente pervasività di Internet in molteplici settori di mercato del tutto estranei all’ICT, va senza dubbio evidenziata la possibilità di creare canali di comunicazione attraverso i quali poter comandare un sistema e ricevere da esso informazioni di qualsiasi genere, qualunque distanza separi controllato e controllore. Nel caso specifico, il contesto applicativo è l’automotive: in collaborazione col Dipartimento di Ingegneria Elettrica dell’Università di Bologna, ci si è occupati del problema di rendere disponibile a distanza la grande quantità di dati che i vari sotto-sistemi componenti una automobile elettrica si scambiano fra loro, sia legati al tipo di propulsione, elettrico appunto, come i livelli di carica delle batterie o la temperatura dell’inverter, sia di natura meccanica, come i giri motore. L’obiettivo è quello di permettere all’utente (sia esso il progettista, il tecnico riparatore o semplicemente il proprietario) il monitoraggio e la supervisione dello stato del mezzo da remoto nelle sue varie fasi di vita: dai test eseguiti su prototipo in laboratorio, alla messa in strada, alla manutenzione ordinaria e straordinaria. L’approccio individuato è stato quello di collezionare e memorizzare in un archivio centralizzato, raggiungibile via Internet, tutti i dati necessari. Il sistema di elaborazione a bordo richiede di essere facilmente integrabile, quindi di piccole dimensioni, e a basso costo, dovendo prevedere la produzione di molti veicoli; ha inoltre compiti ben definiti e noti a priori. Data la situazione, si è quindi scelto di usare un sistema embedded, cioè un sistema elettronico di elaborazione progettato per svolgere un limitato numero di funzionalità specifiche sottoposte a vincoli temporali e/o economici. Apparati di questo tipo sono denominati “special purpose”, in opposizione ai sistemi di utilità generica detti “general purpose” quali, ad esempio, i personal computer, proprio per la loro capacità di eseguire ripetutamente un’azione a costo contenuto, tramite un giusto compromesso fra hardware dedicato e software, chiamato in questo caso “firmware”. I sistemi embedded hanno subito nel corso del tempo una profonda evoluzione tecnologica, che li ha portati da semplici microcontrollori in grado di svolgere limitate operazioni di calcolo a strutture complesse in grado di interfacciarsi a un gran numero di sensori e attuatori esterni oltre che a molte tecnologie di comunicazione. Nel caso in esame, si è scelto di affidarsi alla piattaforma open-source Arduino; essa è composta da un circuito stampato che integra un microcontrollore Atmel da programmare attraverso interfaccia seriale, chiamata Arduino board, ed offre nativamente numerose funzionalità, quali ingressi e uscite digitali e analogici, supporto per SPI, I2C ed altro; inoltre, per aumentare le possibilità d’utilizzo, può essere posta in comunicazione con schede elettroniche esterne, dette shield, progettate per le più disparate applicazioni, quali controllo di motori elettrici, gps, interfacciamento con bus di campo quale ad esempio CAN, tecnologie di rete come Ethernet, Bluetooth, ZigBee, etc. L’hardware è open-source, ovvero gli schemi elettrici sono liberamente disponibili e utilizzabili così come gran parte del software e della documentazione; questo ha permesso una grande diffusione di questo frame work, portando a numerosi vantaggi: abbassamento del costo, ambienti di sviluppo multi-piattaforma, notevole quantità di documentazione e, soprattutto, continua evoluzione ed aggiornamento hardware e software. È stato quindi possibile interfacciarsi alla centralina del veicolo prelevando i messaggi necessari dal bus CAN e collezionare tutti i valori che dovevano essere archiviati. Data la notevole mole di dati da elaborare, si è scelto di dividere il sistema in due parti separate: un primo nodo, denominato Master, è incaricato di prelevare dall’autovettura i parametri, di associarvi i dati GPS (velocità, tempo e posizione) prelevati al momento della lettura e di inviare il tutto a un secondo nodo, denominato Slave, che si occupa di creare un canale di comunicazione attraverso la rete Internet per raggiungere il database. La denominazione scelta di Master e Slave riflette la scelta fatta per il protocollo di comunicazione fra i due nodi Arduino, ovvero l’I2C, che consente la comunicazione seriale fra dispositivi attraverso la designazione di un “master” e di un arbitrario numero di “slave”. La suddivisione dei compiti fra due nodi permette di distribuire il carico di lavoro con evidenti vantaggi in termini di affidabilità e prestazioni. Del progetto si sono occupate due Tesi di Laurea Magistrale; la presente si occupa del dispositivo Slave e del database. Avendo l’obiettivo di accedere al database da ovunque, si è scelto di appoggiarsi alla rete Internet, alla quale si ha oggi facile accesso da gran parte del mondo. Questo ha fatto sì che la scelta della tecnologia da usare per il database ricadesse su un web server che da un lato raccoglie i dati provenienti dall’autovettura e dall’altro ne permette un’agevole consultazione. Anch’esso è stato implementato con software open-source: si tratta, infatti, di una web application in linguaggio php che riceve, sotto forma di richieste HTTP di tipo GET oppure POST, i dati dal dispositivo Slave e provvede a salvarli, opportunamente formattati, in un database MySQL. Questo impone però che, per dialogare con il web server, il nodo Slave debba implementare tutti i livelli dello stack protocollare di Internet. Due differenti shield realizzano quindi il livello di collegamento, disponibile sia via cavo sia wireless, rispettivamente attraverso l’implementazione in un caso del protocollo Ethernet, nell’altro della connessione GPRS. A questo si appoggiano i protocolli TCP/IP che provvedono a trasportare al database i dati ricevuti dal dispositivo Master sotto forma di messaggi HTTP. Sono descritti approfonditamente il sistema veicolare da controllare e il sistema controllore; i firmware utilizzati per realizzare le funzioni dello Slave con tecnologia Ethernet e con tecnologia GPRS; la web application e il database; infine, sono presentati i risultati delle simulazioni e dei test svolti sul campo nel laboratorio DIE.
Resumo:
Il Cloud computing è probabilmente l'argomento attualmente più dibattuto nel mondo dell'Information and Communication Technology (ICT). La diffusione di questo nuovo modo di concepire l'erogazione di servizi IT, è l'evoluzione di una serie di tecnologie che stanno rivoluzionando le modalit à in cui le organizzazioni costruiscono le proprie infrastrutture informatiche. I vantaggi che derivano dall'utilizzo di infrastrutture di Cloud Computing sono ad esempio un maggiore controllo sui servizi, sulla struttura dei costi e sugli asset impiegati. I costi sono proporzionati all'eettivo uso dei servizi (pay-per-use), evitando dunque gli sprechi e rendendo più efficiente il sistema di sourcing. Diverse aziende hanno già cominciato a provare alcuni servizi cloud e molte altre stanno valutando l'inizio di un simile percorso. La prima organizzazione a fornire una piattaforma di cloud computing fu Amazon, grazie al suo Elastic Computer Cloud (EC2). Nel luglio del 2010 nasce OpenStack, un progetto open-source creato dalla fusione dei codici realizzati dall'agenzia governativa della Nasa[10] e dell'azienda statunitense di hosting Rackspace. Il software realizzato svolge le stesse funzioni di quello di Amazon, a differenza di questo, però, è stato rilasciato con licenza Apache, quindi nessuna restrizione di utilizzo e di implementazione. Oggi il progetto Openstack vanta di numerose aziende partner come Dell, HP, IBM, Cisco, e Microsoft. L'obiettivo del presente elaborato è quello di comprendere ed analizzare il funzionamento del software OpenStack. Il fine principale è quello di familiarizzare con i diversi componenti di cui è costituito e di concepire come essi interagiscono fra loro, per poter costruire infrastrutture cloud del tipo Infrastructure as a service (IaaS). Il lettore si troverà di fronte all'esposizione degli argomenti organizzati nei seguenti capitoli. Nel primo capitolo si introduce la definizione di cloud computing, trattandone le principali caratteristiche, si descrivono poi, i diversi modelli di servizio e di distribuzione, delineando vantaggi e svantaggi che ne derivano. Nel secondo capitolo due si parla di una delle tecnologie impiegate per la realizzazione di infrastrutture di cloud computing, la virtualizzazione. Vengono trattate le varie forme e tipologie di virtualizzazione. Nel terzo capitolo si analizza e descrive in dettaglio il funzionamento del progetto OpenStack. Per ogni componente del software, viene illustrata l'architettura, corredata di schemi, ed il relativo meccanismo. Il quarto capitolo rappresenta la parte relativa all'installazione del software e alla configurazione dello stesso. Inoltre si espongono alcuni test effettuati sulla macchina in cui è stato installato il software. Infine nel quinto capitolo si trattano le conclusioni con le considerazioni sugli obiettivi raggiunti e sulle caratteristiche del software preso in esame.