6 resultados para Abstraction
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
Resumo:
Sono dette “challenged networks” quelle reti in cui lunghi ritardi, frequenti partizionamenti e interruzioni, elevati tassi di errore e di perdita non consentono l’impiego dei classici protocolli di comunicazione di Internet, in particolare il TCP/IP. Il Delay-/Disruption-Tolerant Networking (DTN) è una soluzione per il trasferimento di dati attraverso queste reti. L’architettura DTN prevede l’introduzione, sopra il livello di trasporto, del cosiddetto “bundle layer”, che si occupa di veicolare messaggi, o bundle, secondo l’approccio store-and-forward: ogni nodo DTN conserva persistentemente un bundle finché non si presenta l’opportunità di inoltrarlo al nodo successivo verso la destinazione. Il protocollo impiegato nel bundle layer è il Bundle Protocol, le cui principali implementazioni sono tre: DTN2, l’implementazione di riferimento; ION, sviluppata da NASA-JPL e più orientata alle comunicazioni spaziali; IBR-DTN, rivolta soprattutto a dispositivi embedded. Ciascuna di esse offre API che consentono la scrittura di applicazioni in grado di inviare e ricevere bundle. DTNperf è uno strumento progettato per la valutazione delle prestazioni in ambito DTN. La più recente iterazione, DTNperf_3, è compatibile sia con DTN2 che con ION nella stessa versione del programma, grazie all’introduzione di un “Abstraction Layer” che fornisce un’unica interfaccia per l’interazione con le diverse implementazioni del Bundle Protocol e che solo internamente si occupa di invocare le API specifiche dell’implementazione attiva. Obiettivo della tesi è estendere l’Abstraction Layer affinché supporti anche IBR-DTN, cosicché DTNperf_3 possa essere impiegato indifferentemente su DTN2, ION e IBR DTN. Il lavoro sarà ripartito su tre fasi: nella prima esploreremo IBR DTN e le sue API; nella seconda procederemo all’effettiva estensione dell’Abstraction Layer; nella terza verificheremo il funzionamento di DTNperf a seguito delle modifiche, sia in ambiente esclusivamente IBR-DTN, sia ibrido.
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.
Resumo:
Web is constantly evolving, thanks to the 2.0 transition, HTML5 new features and the coming of cloud-computing, the gap between Web and traditional desktop applications is tailing off. Web-apps are more and more widespread and bring several benefits compared to traditional ones. On the other hand reference technologies, JavaScript primarly, are not keeping pace, so a paradim shift is taking place in Web programming, and so many new languages and technologies are coming out. First objective of this thesis is to survey the reference and state-of-art technologies for client-side Web programming focusing in particular on what concerns concurrency and asynchronous programming. Taking into account the problems that affect existing technologies, we finally design simpAL-web, an innovative approach to tackle Web-apps development, based on the Agent-oriented programming abstraction and the simpAL language. == Versione in italiano: Il Web è in continua evoluzione, grazie alla transizione verso il 2.0, alle nuove funzionalità introdotte con HTML5 ed all’avvento del cloud-computing, il divario tra le applicazioni Web e quelle desktop tradizionali va assottigliandosi. Le Web-apps sono sempre più diffuse e presentano diversi vantaggi rispetto a quelle tradizionali. D’altra parte le tecnologie di riferimento, JavaScript in primis, non stanno tenendo il passo, motivo per cui la programmazione Web sta andando incontro ad un cambio di paradigma e nuovi linguaggi e tecnologie stanno spuntando sempre più numerosi. Primo obiettivo di questa tesi è di passare al vaglio le tecnologie di riferimento ed allo stato dell’arte per quel che riguarda la programmmazione Web client-side, porgendo particolare attenzione agli aspetti inerenti la concorrenza e la programmazione asincrona. Considerando i principali problemi di cui soffrono le attuali tecnologie passeremo infine alla progettazione di simpAL-web, un approccio innovativo con cui affrontare lo sviluppo di Web-apps basato sulla programmazione orientata agli Agenti e sul linguaggio simpAL.
Resumo:
Synthetic Biology is a relatively new discipline, born at the beginning of the New Millennium, that brings the typical engineering approach (abstraction, modularity and standardization) to biotechnology. These principles aim to tame the extreme complexity of the various components and aid the construction of artificial biological systems with specific functions, usually by means of synthetic genetic circuits implemented in bacteria or simple eukaryotes like yeast. The cell becomes a programmable machine and its low-level programming language is made of strings of DNA. This work was performed in collaboration with researchers of the Department of Electrical Engineering of the University of Washington in Seattle and also with a student of the Corso di Laurea Magistrale in Ingegneria Biomedica at the University of Bologna: Marilisa Cortesi. During the collaboration I contributed to a Synthetic Biology project already started in the Klavins Laboratory. In particular, I modeled and subsequently simulated a synthetic genetic circuit that was ideated for the implementation of a multicelled behavior in a growing bacterial microcolony. In the first chapter the foundations of molecular biology are introduced: structure of the nucleic acids, transcription, translation and methods to regulate gene expression. An introduction to Synthetic Biology completes the section. In the second chapter is described the synthetic genetic circuit that was conceived to make spontaneously emerge, from an isogenic microcolony of bacteria, two different groups of cells, termed leaders and followers. The circuit exploits the intrinsic stochasticity of gene expression and intercellular communication via small molecules to break the symmetry in the phenotype of the microcolony. The four modules of the circuit (coin flipper, sender, receiver and follower) and their interactions are then illustrated. In the third chapter is derived the mathematical representation of the various components of the circuit and the several simplifying assumptions are made explicit. Transcription and translation are modeled as a single step and gene expression is function of the intracellular concentration of the various transcription factors that act on the different promoters of the circuit. A list of the various parameters and a justification for their value closes the chapter. In the fourth chapter are described the main characteristics of the gro simulation environment, developed by the Self Organizing Systems Laboratory of the University of Washington. Then, a sensitivity analysis performed to pinpoint the desirable characteristics of the various genetic components is detailed. The sensitivity analysis makes use of a cost function that is based on the fraction of cells in each one of the different possible states at the end of the simulation and the wanted outcome. Thanks to a particular kind of scatter plot, the parameters are ranked. Starting from an initial condition in which all the parameters assume their nominal value, the ranking suggest which parameter to tune in order to reach the goal. Obtaining a microcolony in which almost all the cells are in the follower state and only a few in the leader state seems to be the most difficult task. A small number of leader cells struggle to produce enough signal to turn the rest of the microcolony in the follower state. It is possible to obtain a microcolony in which the majority of cells are followers by increasing as much as possible the production of signal. Reaching the goal of a microcolony that is split in half between leaders and followers is comparatively easy. The best strategy seems to be increasing slightly the production of the enzyme. To end up with a majority of leaders, instead, it is advisable to increase the basal expression of the coin flipper module. At the end of the chapter, a possible future application of the leader election circuit, the spontaneous formation of spatial patterns in a microcolony, is modeled with the finite state machine formalism. The gro simulations provide insights into the genetic components that are needed to implement the behavior. In particular, since both the examples of pattern formation rely on a local version of Leader Election, a short-range communication system is essential. Moreover, new synthetic components that allow to reliably downregulate the growth rate in specific cells without side effects need to be developed. In the appendix are listed the gro code utilized to simulate the model of the circuit, a script in the Python programming language that was used to split the simulations on a Linux cluster and the Matlab code developed to analyze the data.
Resumo:
La programmazione aggregata è un paradigma che supporta la programmazione di sistemi di dispositivi, adattativi ed eventualmente a larga scala, nel loro insieme -- come aggregati. L'approccio prevalente in questo contesto è basato sul field calculus, un calcolo formale che consente di definire programmi aggregati attraverso la composizione funzionale di campi computazionali, creando i presupposti per la specifica di pattern di auto-organizzazione robusti. La programmazione aggregata è attualmente supportata, in modo più o meno parziale e principalmente per la simulazione, da DSL dedicati (cf., Protelis), ma non esistono framework per linguaggi mainstream finalizzati allo sviluppo di applicazioni. Eppure, un simile supporto sarebbe auspicabile per ridurre tempi e sforzi d'adozione e per semplificare l'accesso al paradigma nella costruzione di sistemi reali, nonché per favorire la ricerca stessa nel campo. Il presente lavoro consiste nello sviluppo, a partire da un prototipo della semantica operazionale del field calculus, di un framework per la programmazione aggregata in Scala. La scelta di Scala come linguaggio host nasce da motivi tecnici e pratici. Scala è un linguaggio moderno, interoperabile con Java, che ben integra i paradigmi ad oggetti e funzionale, ha un sistema di tipi espressivo, e fornisce funzionalità avanzate per lo sviluppo di librerie e DSL. Inoltre, la possibilità di appoggiarsi, su Scala, ad un framework ad attori solido come Akka, costituisce un altro fattore trainante, data la necessità di colmare l'abstraction gap inerente allo sviluppo di un middleware distribuito. Nell'elaborato di tesi si presenta un framework che raggiunge il triplice obiettivo: la costruzione di una libreria Scala che realizza la semantica del field calculus in modo corretto e completo, la realizzazione di una piattaforma distribuita Akka-based su cui sviluppare applicazioni, e l'esposizione di un'API generale e flessibile in grado di supportare diversi scenari.
Resumo:
High-valent terminal metal-oxygen adducts are supposed to be potent oxidising intermediates in enzymatic catalyses. In contrast to those from groups 6-8, oxidants that contain late transition metals (Co, Ni, Cu) are poorly understood. Because of their high reactivity, only a few examples of these compounds have been observed. The aim of this project was to investigate the reactivity of high-valent Ni(III) complexes, containing a monodentate oxygen-donor ligands, in hydrogen atom abstraction (HAA) and oxygen atom transfer (OAT) reactions which are typical of biological high-valent metal-oxygen species. Particularly, the Ni(III) complexes were generated in situ, at low temperature, from the oxidation of the Ni(II) species.The nickel complexes studied during this work were supported by tridentate ligands, with a strong σ-donating ability and exceedingly resistant to several common degradation pathways. These complexes vary based on the monodentate group in the fourth coordination position site, which can be neutral or anionic. In particular, we prepared four different Ni(III) complexes [NiIII(pyN2Me2)(OCO2H)] (12), [NiIII(pyN2Me2)(ONO2)] (14), [NiIII(pyN2Me2)(OC(O)CH3)] (18) and [NiIII(pyN2Me2)(OC(O)H)] (25). They feature a bicarbonate (-OCO2H), nitrate (-ONO2), acetate (-OC(O)CH3) and formate (-OC(O)H) group, respectively.HAA and OAT reactions were performed by adding 2,6-di-tert-butylphenol (2,6-DTBP) at -40°C, and triphenylphosphine (PPh3) at -80°C, to the in situ generated Ni(III) complexes, respectively. These reactions were carried out by adding 7 to 500 equivalents of substrate, in order to ensure pseudo-first order conditions. Since, the reactivity of the Ni(III) complex featured by the bicarbonate group has been studied in a previous work, we only investigated that of the species bearing the nitrate, acetate and formate ligand. Finally we compared the value of the reaction rate of all the four species in the HAA and OAT reactions.