63 resultados para Open source.


Relevância:

100.00% 100.00%

Publicador:

Resumo:

Il presente lavoro di tesi si pone come obbiettivo l’elaborazione di dati GNSS in modalità cinematica post-processing per il monitoraggio strutturale e, in una seconda fase, lo studio delle precisioni raggiungibili delle soluzioni ottenute utilizzando algoritmi di post-elaborazione del dato. L’oggetto di studio è la torre Garisenda, situata in piazza Ravegnana, accanto alla torre Asinelli, nel centro storico di Bologna, da tempo oggetto di studi e monitoraggi per via della sua inclinazione particolarmente critica. Per lo studio è stato utilizzato un data set di quindici giorni, dal 15/12/2013 al 29/12/2013 compresi. Per l’elaborazione dei dati è stato utilizzato un software open source realizzato da ricercatori del Politecnico di Milano, goGPS. Quest'ultimo, essendo un codice nuovo, è stato necessario testarlo al fine di poter ottenere dei risultati validi. Nella prima fase della tesi si è quindi affrontato l’aspetto della calibrazione dei parametri che forniscono le soluzioni più precise per le finalità di monitoraggio considerando le possibili scelte offerte dal codice goGPS. In particolare sono stati imposti dei movimenti calibrati e si è osservata la soluzione al variare dei parametri selezionati scegliendo poi quella migliore, ossia il miglior compromesso tra la capacità di individuare i movimenti e il rumore della serie. Nella seconda fase, allo scopo di poter migliorare le precisioni delle soluzioni si sono valutati metodi di correzione delle soluzioni basati sull'uso di filtri sequenziali e sono state condotte analisi sull'incremento di precisione derivante dall'applicazione di tali correzioni.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Lo scopo della presente tesi è sviluppare un ambiente per l'ottimizzazione strutturale di componenti per applicazione aerospaziale utilizzando codici open-source. In particolare, il codice Salome viene utilizzato per il disegno automatico delle strutture, il programma Code Aster permette di effettuare l'analisi agli elementi finiti del componente, mentre Octave viene utilizzato per svolgere l'ottimizzazione basata su un algoritmo euristico e per integrare fra di loro i differenti codici. Le tecniche di ottimizzazione dei componenti stanno rivestendo sempre più importanza visto che le moderne tecniche di Additive Manufacturing permettono di realizzare strutture molto complesse che un tempo non era conveniente (o possibile) realizzare con asportazione di materiale. Nella prima parte della tesi si descrivono gli strumenti software utilizzati e la loro integrazione al fine di parametrizzare la generazione di geometrie ed effettuare in modo automatico analisi strutturali. Successivamente si descrivono tre casi di studio in cui la metodologia è stata sperimentata: un primo caso di validazione in cui si è applicato il metodo alla definizione della geometria di minimo peso per una trave a sbalzo con carico concentrato, un secondo test di ottimizzazione di un longherone per aeromobile, un terzo caso applicativo legato alla ottimizzazione di un serbatoio per fluidi in pressione da utilizzare su un satellite.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Data la sempre maggiore richiesta di fabbisogno energetico, si è sviluppata una nuova filosofia nella gestione dei consumi energetici, il DSM (demand side management), che ha lo scopo di incoraggiare il consumatore ad usare energia in modo più intelligente e coscienzioso. Questo obiettivo, unito all’accumulo di energia da fonti rinnovabili, permetterà un abbassamento dell’utilizzo dell’energia elettrica proveniente dal consumo di fonti non rinnovabili e altamente inquinanti come quelle a combustibili fossili ed una diminuzione sia del consumo energetico, sia del costo per produrre energia che dell’energia stessa. L’home automation e la domotica in ambiente domestico rappresentano un esempio di DSM. L’obiettivo di questa tesi è quello di creare un sistema di home automation utilizzando tecnologie opensource. Sono stati utilizzati device come board Arduino UNO, Raspberry Pi ed un PC con sistema operativo GNU/Linux per creare una simulazione di un sistema di home automation abbinato alla gestione di celle fotovoltaiche ed energy storaging. Il sistema permette di poter spegnere un carico energetico in base a delle particolari circostanze come, per esempio, il superamento di una certa soglia di consumo di energia elettrica. Il software utilizzato è opensource e mira a poter ottimizzare il consumo energetico secondo le proprie finalità. Il tutto a dimostrare che si può creare un sistema di home automation da abbinare con il presente e futuro delle fonti rinnovabili utilizzando tecnologie libere in modo tale da preservare privacy e security oltre che customizzazione e possibilità di adattamento a diverse circostanze. Nella progettazione del sistema è stato implementato un algoritmo per gestire varie situazioni all’interno di un ambiente domestico. La realizzazione di tale algoritmo ha prodotto ottimi risultati nella raggiungimento degli obiettivi prefissati. Il progetto di questa tesi può essere ulteriormente ampliato ed il codice è reperibile in un repository pubblico.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Analisi in chiave economica e sociale dell'evoluzione di Internet, delle tecnologie legate al Web 2.0, dei fenomeni della pirateria, del software libero ed open source, del copyleft, dei contenuti aperti e della produzione tra pari. Introduzione dei concetti di economia del gratis ("freeconomics") e di coda lunga. Consigli manageriali pratici per i nuovi mercati digitali e per la competizione nella rete Internet.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

In questa tesi viene affrontato il tema del tracciamento video, analizzando le principali tecniche, metodologie e strumenti per la video analytics. L'intero lavoro, è stato svolto interamente presso l'azienda BitBang, dal reperimento di informazioni e materiale utile, fino alla stesura dell'elaborato. Nella stessa azienda ho avuto modo di svolgere il tirocinio, durante il quale ho approfondito gli aspetti pratici della web e video analytics, osservando il lavoro sul campo degli specialisti del settore e acquisendo familiarità con gli strumenti di analisi dati tramite l'utilizzo delle principali piattaforme di web analytics. Per comprendere a pieno questo argomento, è stato necessario innanzitutto conoscere la web analytics di base. Saranno illustrate quindi, le metodologie classiche della web analytics, ovvero come analizzare il comportamento dei visitatori nelle pagine web con le metriche più adatte in base alle diverse tipologie di business, fino ad arrivare alla nuova tecnica di tracciamento eventi. Questa nasce subito dopo la diffusione nelle pagine dei contenuti multimediali, i quali hanno portato a un cambiamento nelle modalità di navigazione degli utenti e, di conseguenza, all'esigenza di tracciare le nuove azioni generate su essi, per avere un quadro completo dell'esperienza dei visitatori sul sito. Non sono più sufficienti i dati ottenuti con i tradizionali metodi della web analytics, ma è necessario integrarla con tecniche nuove, indispensabili se si vuole ottenere una panoramica a 360 gradi di tutto ciò che succede sul sito. Da qui viene introdotto il tracciamento video, chiamato video analytics. Verranno illustrate le principali metriche per l'analisi, e come sfruttarle al meglio in base alla tipologia di sito web e allo scopo di business per cui il video viene utilizzato. Per capire in quali modi sfruttare il video come strumento di marketing e analizzare il comportamento dei visitatori su di esso, è necessario fare prima un passo indietro, facendo una panoramica sui principali aspetti legati ad esso: dalla sua produzione, all'inserimento sulle pagine web, i player per farlo, e la diffusione attraverso i siti di social netwok e su tutti i nuovi dispositivi e le piattaforme connessi nella rete. A questo proposito viene affrontata la panoramica generale di approfondimento sugli aspetti più tecnici, dove vengono mostrate le differenze tra i formati di file e i formati video, le tecniche di trasmissione sul web, come ottimizzare l'inserimento dei contenuti sulle pagine, la descrizione dei più famosi player per l'upload, infine un breve sguardo sulla situazione attuale riguardo alla guerra tra formati video open source e proprietari sul web. La sezione finale è relativa alla parte più pratica e sperimentale del lavoro. Nel capitolo 7 verranno descritte le principali funzionalità di due piattaforme di web analytics tra le più utilizzate, una gratuita, Google Analytics e una a pagamento, Omniture SyteCatalyst, con particolare attenzione alle metriche per il tracciamento video, e le differenze tra i due prodotti. Inoltre, mi è sembrato interessante illustrare le caratteristiche di alcune piattaforme specifiche per la video analytics, analizzando le più interessanti funzionalità offerte, anche se non ho avuto modo di testare il loro funzionamento nella pratica. Nell'ultimo capitolo vengono illustrate alcune applicazioni pratiche della video analytics, che ho avuto modo di osservare durante il periodo di tirocinio e tesi in azienda. Vengono descritte in particolare le problematiche riscontrate con i prodotti utilizzati per il tracciamento, le soluzioni proposte e le questioni che ancora restano irrisolte in questo campo.

Relevância:

60.00% 60.00%

Publicador:

Relevância:

60.00% 60.00%

Publicador:

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.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Il documento in questione si pone l'obiettivo di descrivere un esempio di scenario di integrazione tra Alfresco ( ECM open source ) e SugarCRM. Vengono analizzati i vantaggi di una gestione documentale digitale e viene fatta una piccola analisi di mercato per la scelta dei prodotti.

Relevância:

60.00% 60.00%

Publicador:

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.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Il presente lavoro di tesi ha come punto focale la descrizione, la verifica e la dimostrazione della realizzabilità dei Workflow Patterns di Gestione del Flusso(Control-Flow) e Risorse (Resource) definiti da parte della Workflow Pattern Initiative (WPI)in JOLIE, un innovativo linguaggio di programmazione orientato ai servizi nato nell'ambito del Service Oriented Computing. Il Service Oriented Computing (SOC) è un nuovo modo di pensare la programmazione di applicazioni distribuite, i cui concetti fondamentali sono i servizi e la composizione. L’approccio SOC definisce la possibilità di costruire un’applicazione in funzione dei servizi che ne realizzano il comportamento tramite una loro composizione, definita secondo un particolare flusso di lavoro. Allo scopo di fornire la necessaria conoscenza per capire la teoria, le meccaniche e i costrutti di JOLIE utilizzati per la realizzazione dei pattern, il seguente lavoro di tesi è stato diviso in quattro parti, corrispondenti ad altrettanti capitoli. Nel primo capitolo viene riportata una descrizione generale del SOC e della Business Process Automation (BPA), che costituisce l’ambiente in cui il SOC è inserito. Per questo viene fatta una disamina della storia informatica sui sistemi distribuiti, fino ad arrivare ai sistemi odierni, presentando in seguito il contesto del BPA e delle innovazioni derivanti dalle sue macro-componenti, di cui il SOC fa parte. Continuando la descrizione dell’approccio Service Oriented, ne vengono presentati i requisiti (pre-condizioni) e si cerca di dare una definizione precisa del termine “servizio”, fino all'enunciazione dei principi SOC declinati nell’ottica delle Service Oriented Architectures, presentando in ultimo i metodi di composizione dei servizi, tramite orchestrazione e coreografia. L’ultima sezione del capitolo prende in considerazione il SOC in un’ottica prettamente industriale e ne evidenzia i punti strategici. Il secondo capitolo è incentrato sulla descrizione di JOLIE, gli aspetti fondamentali dell’approccio orientato ai servizi, che ne caratterizzano profondamente la definizione concettuale (SOCK), e la teoria della composizione dei servizi. Il capitolo non si pone come una descrizione esaustiva di tutte le funzionalità del linguaggio, ma considera soprattutto i concetti teorici, le strutture di dati, gli operatori e i costrutti di JOLIE utilizzati per la dimostrazione della realizzabilità dei Workflow Pattern del capitolo successivo. Il terzo capitolo, più lungo e centrale rispetto agli altri, riguarda la realizzazione dei workflow pattern in JOLIE. All'inizio del capitolo viene fornita una descrizione delle caratteristiche del WPI e dei Workflow Pattern in generale. In seguito, nelle due macro-sezioni relative ai Control-Flow e Resource pattern vengono esposte alcune nozioni riguardanti le metodologie di definizione dei pattern (e.g. la teoria sulla definizione delle Colored Petri Nets) e le convezioni adottate dal WPI, per passare in seguito al vero e proprio lavoro (sperimentale) di tesi riguardo la descrizione dei pattern, l’analisi sulla loro realizzabilità in JOLIE, insieme ad un codice di esempio che esemplifica quanto affermato dall'analisi. Come sommario delle conclusioni raggiunte sui pattern, alla fine di ognuna delle due sezioni definite in precedenza, è presente una scheda di valutazione che, con lo stesso metodo utilizzato e definito dalla WPI, permette di avere una rappresentazione generale della realizzabilità dei pattern in JOLIE. Il quarto capitolo riguarda gli esiti tratti dal lavoro di tesi, riportando un confronto tra le realizzazioni dei pattern in JOLIE e le valutazioni del WPI rispetto agli altri linguaggi da loro considerati e valutati. Sulla base di quanto ottenuto nel terzo capitolo vengono definite le conclusioni del lavoro portato avanti sui pattern e viene delineato un’eventuale scenario riguardante il proseguimento dell’opera concernente la validazione ed il completamento della studio. In ultimo vengono tratte alcune conclusioni sia riguardo JOLIE, nel contesto evolutivo del linguaggio e soprattutto del progetto open-source che è alla sua base, sia sul SOC, considerato nell’ambito del BPA e del suo attuale ambito di sviluppo dinamico.

Relevância:

60.00% 60.00%

Publicador:

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.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

While the use of distributed intelligence has been incrementally spreading in the design of a great number of intelligent systems, the field of Artificial Intelligence in Real Time Strategy games has remained mostly a centralized environment. Despite turn-based games have attained AIs of world-class level, the fast paced nature of RTS games has proven to be a significant obstacle to the quality of its AIs. Chapter 1 introduces RTS games describing their characteristics, mechanics and elements. Chapter 2 introduces Multi-Agent Systems and the use of the Beliefs-Desires-Intentions abstraction, analysing the possibilities given by self-computing properties. In Chapter 3 the current state of AI development in RTS games is analyzed highlighting the struggles of the gaming industry to produce valuable. The focus on improving multiplayer experience has impacted gravely on the quality of the AIs thus leaving them with serious flaws that impair their ability to challenge and entertain players. Chapter 4 explores different aspects of AI development for RTS, evaluating the potential strengths and weaknesses of an agent-based approach and analysing which aspects can benefit the most against centralized AIs. Chapter 5 describes a generic agent-based framework for RTS games where every game entity becomes an agent, each of which having its own knowledge and set of goals. Different aspects of the game, like economy, exploration and warfare are also analysed, and some agent-based solutions are outlined. The possible exploitation of self-computing properties to efficiently organize the agents activity is then inspected. Chapter 6 presents the design and implementation of an AI for an existing Open Source game in beta development stage: 0 a.d., an historical RTS game on ancient warfare which features a modern graphical engine and evolved mechanics. The entities in the conceptual framework are implemented in a new agent-based platform seamlessly nested inside the existing game engine, called ABot, widely described in Chapters 7, 8 and 9. Chapter 10 and 11 include the design and realization of a new agent based language useful for defining behavioural modules for the agents in ABot, paving the way for a wider spectrum of contributors. Chapter 12 concludes the work analysing the outcome of tests meant to evaluate strategies, realism and pure performance, finally drawing conclusions and future works in Chapter 13.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Il progetto descritto in questo documento consiste fondamentalmente nell'integrazione di applicazioni context-aware su dispositivi mobili con reti di sensori e nello studio delle problematiche derivanti, vantaggi e potenziali utilizzi. La rete è stata costruita sfruttando l'insieme di protocolli per comunicazioni via radio Zigbee, particolarmente adatti per interazione tra dispositivi a basso consumo energetico e che necessitano di uno scarso tasso di trasferimento di dati. Le informazioni ottenute da sensori di varia natura sono processate da microcontrollori Arduino, scelti per la loro versatilità di utilizzo e design open source. Uno o più dispositivi sono designati per aggregare i dati rilevati dai singoli nodi in un unico pacchetto di informazioni, semanticamente correlate tra loro, quindi emetterle in broadcast su una diversa interfaccia di rete, in modo che diverse applicazioni esterne in ascolto possano riceverle e manipolarle. Viene utilizzato un protocollo specifico per la comunicazione tra i microcontrollori e le applicazioni che si interfacciano con la rete, costruito su misura per dispositivi con risorse limitate. L'applicazione context-aware che interagisce con la rete è stata sviluppata su piattaforma Android, la cui particolare flessibilità favorisce una migliore capacità di gestire i dati ottenuti. Questa applicazione è in grado di comunicare con la rete, manipolare i dati ricevuti ed eventualmente intraprendere azioni specifiche in totale indipendenza dal suo utilizzatore. Obiettivo del progetto è quello di costruire un meccanismo di interazione tra le tecnologie più adattivo e funzionale possibile.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

L’università di Bologna, da sempre attenta alle nuove tecnologie e all’innovazione, si è dotata nel 2010 di un Identity Provider (IDP), ovvero un servizio per la verifica dell’identità degli utenti dell’organizzazione tramite username e password in grado di sollevare le applicazioni web (anche esterne all’organizzazione) dall’onere di verificare direttamente le credenziali dell’utente delegando totalmente la responsabilità sul controllo dell’identità digitale all’IDP. La soluzione adottata (Microsoft ADFS) si è dimostrata generalmente semplice da configurare e da gestire, ma ha presentato problemi di integrazione con le principali federazioni di identità regionali e italiane (FedERa e IDEM) a causa di una incompatibilità con il protocollo SAML 1.1, ancora utilizzato da alcuni dei servizi federati. Per risolvere tale incompatibilità il "CeSIA – Area Sistemi Informativi e Applicazioni" dell’Università di Bologna ha deciso di dotarsi di un Identity Provider Shibboleth, alternativa open source ad ADFS che presenta funzionalità equivalenti ed è in grado di gestire tutte le versioni del protocollo SAML (attualmente rilasciato fino alla versione 2.0). Il mio compito è stato quello di analizzare, installare, configurare e integrare con le federazioni IDEM e FedERa un’infrastruttura basata sull’IDP Shibboleth prima in test poi in produzione, con la collaborazione dei colleghi che in precedenza si erano occupati della gestione della soluzione Microsoft ADFS. Il lavoro che ho svolto è stato suddiviso in quattro fasi: - Analisi della situazione esistente - Progettazione della soluzione - Installazione e configurazione di un Identity Provider in ambiente di test - Deploy dell’Identity Provider in ambiente di produzione