916 resultados para Arduino (Programmable controller) - programming


Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

L'aumento inesorabile delle morti per cause legate a patologie cardiache, dovuto soprattutto al progressivo invecchiamento della popolazione occidentale, ha portato negli ultimi anni, alla necessità di sviluppare tecniche e sistemi di “Remote Monitoring”. L'obiettivo della tesi è la progettazione e lo sviluppo di un sistema di monitoraggio remoto dell'attività elettrica cardiaca basato sull’utilizzo delle piattaforme Android e Arduino. Il valore aggiunto della soluzione proposta e sviluppata è, quindi, soprattutto da ricercarsi nella tipologia di tecnologie utilizzate per la realizzazione del sistema (Android/Arduino): oltre, alla loro continua espansione, in termini di diffusione e avanzamento tecnologico, facilmente riscontrabile, hanno tutte l’importante caratteristica di essere totalmente Open Source, rendendo, quindi, ogni elemento del sistema eventualmente espandibile da chiunque lo desideri.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La presente tesi è dedicata al riuso nel software. Eccettuata un'introduzione organica al tema, l'analisi è a livello dei meccanismi offerti dai linguaggi di programmazione e delle tecniche di sviluppo, con speciale attenzione rivolta al tema della concorrenza. Il primo capitolo fornisce un quadro generale nel quale il riuso del software è descritto, assieme alle ragioni che ne determinano l'importanza e ai punti cruciali relativi alla sua attuazione. Si individuano diversi livelli di riuso sulla base dell'astrazione e degli artefatti in gioco, e si sottolinea come i linguaggi contribuiscano alla riusabilità e alla realizzazione del riuso. In seguito, viene esplorato, con esempi di codice, il supporto al riuso da parte del paradigma ad oggetti, in termini di incapsulamento, ereditarietà, polimorfismo, composizione. La trattazione prosegue analizzando differenti feature – tipizzazione, interfacce, mixin, generics – offerte da vari linguaggi di programmazione, mostrando come esse intervengano sulla riusabilità dei componenti software. A chiudere il capitolo, qualche parola contestualizzata sull'inversione di controllo, la programmazione orientata agli aspetti, e il meccanismo della delega. Il secondo capitolo abbraccia il tema della concorrenza. Dopo aver introdotto l'argomento, vengono approfonditi alcuni significativi modelli di concorrenza: programmazione multi-threaded, task nel linguaggio Ada, SCOOP, modello ad Attori. Essi vengono descritti negli elementi fondamentali e ne vengono evidenziati gli aspetti cruciali in termini di contributo al riuso, con esempi di codice. Relativamente al modello ad Attori, viene presentata la sua implementazione in Scala/Akka come caso studio. Infine, viene esaminato il problema dell'inheritance anomaly, sulla base di esempi e delle tre classi principali di anomalia, e si analizza la suscettibilità del supporto di concorrenza di Scala/Akka a riscontrare tali problemi. Inoltre, in questo capitolo si nota come alcuni aspetti relativi al binomio riuso/concorrenza, tra cui il significato profondo dello stesso, non siano ancora stati adeguatamente affrontati dalla comunità informatica. Il terzo e ultimo capitolo esordisce con una panoramica dell'agent-oriented programming, prendendo il linguaggio simpAL come riferimento. In seguito, si prova ad estendere al caso degli agenti la nozione di riuso approfondita nei capitoli precedenti.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Sommario Il progetto descritto in questo documento consiste nella realizzazione di una prima applicazione pratica di uno specifico studio di ricerca rivolto al ripristino di reti wireless in scenari post-calamità naturali. In principio è stata descritta un’ampia analisi delle problematiche di rete che si vengono a creare in seguito ad eventi catastrofici. Successivamente, analizzando le varie tecniche e tecnologie oggetto di studio di diversi gruppi di ricerca, si è scelto di collaborare con il progetto STEM-Mesh, essendo ancora in fase sperimentale, il quale affronta il problema di ristabilire la connettività di rete in questi particolari scenari, attraverso l’utilizzo di tecnologie Cognitive Radio (CR), mobilità controllata e principi di reti auto-organizzanti. Di questo primo approccio pratico sono state poi descritte le fasi di progettazione, implementazione e testing. Nella fase di progettazione sono state studiate le componenti hardware e software che rispettassero il più possibile i requisiti e le caratteristiche dei dispositivi “staminali” STEM-Node cuore del progetto STEM-Mesh, ovvero dei dispositivi wireless altamente auto-riconfiguranti ed auto-organizzanti che possono diventare dispositivi sostituivi ai nodi compromessi in una rete, riconfigurandosi appunto in base alle funzionalità interrotte. Nella fase di implementazione si è passati alla stesura del codice, in Python e Wiring, abilitante il dispositivo STEM-Node. Infine nella fase di testing si è verificato che i risultati fossero quelli desiderati e che il sistema realizzato funzionasse come previsto.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Il concetto di situatedness applicato ad un sistema multi-agente distribuito può essere riformulato come problema di coordinazione fra i componenti del sistema e le risorse ambientali. Per poter garantire e governare la coordinazione delle parti, viene esteso il modello di coordinazione TuCSoN arricchendo il linguaggio di coordinazione e l'architettura per la comunicazione verso l'ambiente introducendo il concetto di artefatto d'ambiente. In questo elaborato viene definita l'estensione Situated ReSpecT, la nuova componente Transducer e la sua interazione con le Probe, tramite un analisi teorica che si conclude con una verifica pratica su piattaforma Arduino.

Relevância:

20.00% 20.00%

Publicador:

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Mainstream hardware is becoming parallel, heterogeneous, and distributed on every desk, every home and in every pocket. As a consequence, in the last years software is having an epochal turn toward concurrency, distribution, interaction which is pushed by the evolution of hardware architectures and the growing of network availability. This calls for introducing further abstraction layers on top of those provided by classical mainstream programming paradigms, to tackle more effectively the new complexities that developers have to face in everyday programming. A convergence it is recognizable in the mainstream toward the adoption of the actor paradigm as a mean to unite object-oriented programming and concurrency. Nevertheless, we argue that the actor paradigm can only be considered a good starting point to provide a more comprehensive response to such a fundamental and radical change in software development. Accordingly, the main objective of this thesis is to propose Agent-Oriented Programming (AOP) as a high-level general purpose programming paradigm, natural evolution of actors and objects, introducing a further level of human-inspired concepts for programming software systems, meant to simplify the design and programming of concurrent, distributed, reactive/interactive programs. To this end, in the dissertation first we construct the required background by studying the state-of-the-art of both actor-oriented and agent-oriented programming, and then we focus on the engineering of integrated programming technologies for developing agent-based systems in their classical application domains: artificial intelligence and distributed artificial intelligence. Then, we shift the perspective moving from the development of intelligent software systems, toward general purpose software development. Using the expertise maturated during the phase of background construction, we introduce a general-purpose programming language named simpAL, which founds its roots on general principles and practices of software development, and at the same time provides an agent-oriented level of abstraction for the engineering of general purpose software systems.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

A model is developed to represent the activity of a farm using the method of linear programming. Two are the main components of the model, the balance of soil fertility and the livestock nutrition. According to the first, the farm is supposed to have a total requirement of nitrogen, which is to be accomplished either through internal sources (manure) or through external sources (fertilisers). The second component describes the animal husbandry as having a nutritional requirement which must be satisfied through the internal production of arable crops or the acquisition of feed from the market. The farmer is supposed to maximise total net income from the agricultural and the zoo-technical activities by choosing one rotation among those available for climate and acclivity. The perspective of the analysis is one of a short period: the structure of the farm is supposed to be fixed without possibility to change the allocation of permanent crops and the amount of animal husbandry. The model is integrated with an environmental module that describes the role of the farm within the carbon-nitrogen cycle. On the one hand the farm allows storing carbon through the photosynthesis of the plants and the accumulation of carbon in the soil; on the other some activities of the farm emit greenhouse gases into the atmosphere. The model is tested for some representative farms of the Emilia-Romagna region, showing to be capable to give different results for conventional and organic farming and providing first results concerning the different atmospheric impact. Relevant data about the representative farms and the feasible rotations are extracted from the FADN database, with an integration of the coefficients from the literature.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Tesi riguardante la creazione di tutte le risorse grafiche necessarie ad un videogioco tridimensionale in prima persona con Blender e Unity3D. Gli argomenti trattati sono: prgettazione, 3D modeling, texturing e shading.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La tesi riguarda tutto il processo di progettazione di un videogioco e l'implementazione dello stesso. Gli argomenti trattati sono: Unity, Design & Gameplay e l'implementazioni del progetto.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Internet of Energy for Electric Mobility è un progetto di ricerca europeo il cui scopo consiste nello sviluppo di infrastrutture di comunicazione, siano esse sia hardware che software, volte alla facilitazione, supporto e miglioramento di tutte quelle operazioni legate al processo di ricarica di auto elettriche. A tale progetto vi ha aderito anche l’Università di Bologna ed è stato oggetto di studio di Federico Montori e Simone Rondelli. Il primo ha dato il là allo sviluppo del progetto realizzandovi, in una fase embrionale, una piattaforma legata alla gestione di un servizio cittadino (bolognese) per la gestione di ricariche elettriche, un’applicazione mobile in grado di interagire con tale servizio ed un simulatore per la piattaforma. In un lavoro durato oltre un anno, Simone Rondelli ha ripreso il progetto di Federico Montori riscrivendone le componenti in maniera tale da migliorarne le funzionalità ed aggiungerne anche di nuove; in particolare ha realizzato in maniera efficiente un’applicazione mobile la quale si occupa di gestire la prenotazione di colonnine elettriche di ricarica e di monitorare lo stato attuale di un’auto peso, livello batteria, ecc... ). Nel marzo del 2014 è cominciato il mio contributo nel contesto di Internet of Energy di cui ne ho ereditato tutta l’architettura derivante dai due sviluppi precedenti. Il mio compito è stato quello di realizzare (cioè emulare) una colonnina di ricarica auto elettrica, tramite la piattaforma elettronica Arduino, la quale al suo primo avvio informa il database semantico del sistema (SIB) della sua presenza in maniera tale che il simulatore sia in grado di poter far ricaricare un’auto anche a questa nuova colonnina. Di conseguenza ho fatto in modo di instaurare (tramite socket) una comunicazione tra il simulatore e la colonnina così che il simulatore informi la colonnina che è stata raggiunta da un’auto e, viceversa, la colonnina informi il simulatore sullo stato di ricarica dell’auto in modo che quest’ultima possa ripartire al termine della ricarica. Ho anche realizzato un’applicazione mobile in grado di comunicare con la colonnina, il cui scopo è quello di ottenere un codice di ricarica che poi l’utente deve digitare per autenticarsi presso di essa. Realizzando tale tipo di contributo si è data dunque la possibilità di integrare una componente ”reale” con componenti simulate quali le auto del simulatore di Internet of Energy e si sono poste le basi per estensioni future, le quali permettano di integrare anche più componenti che si registrano nel sistema e danno dunque la possibilità di essere utilizzate dalle auto elettriche.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Recent research has shown that the performance of a single, arbitrarily efficient algorithm can be significantly outperformed by using a portfolio of —possibly on-average slower— algorithms. Within the Constraint Programming (CP) context, a portfolio solver can be seen as a particular constraint solver that exploits the synergy between the constituent solvers of its portfolio for predicting which is (or which are) the best solver(s) to run for solving a new, unseen instance. In this thesis we examine the benefits of portfolio solvers in CP. Despite portfolio approaches have been extensively studied for Boolean Satisfiability (SAT) problems, in the more general CP field these techniques have been only marginally studied and used. We conducted this work through the investigation, the analysis and the construction of several portfolio approaches for solving both satisfaction and optimization problems. We focused in particular on sequential approaches, i.e., single-threaded portfolio solvers always running on the same core. We started from a first empirical evaluation on portfolio approaches for solving Constraint Satisfaction Problems (CSPs), and then we improved on it by introducing new data, solvers, features, algorithms, and tools. Afterwards, we addressed the more general Constraint Optimization Problems (COPs) by implementing and testing a number of models for dealing with COP portfolio solvers. Finally, we have come full circle by developing sunny-cp: a sequential CP portfolio solver that turned out to be competitive also in the MiniZinc Challenge, the reference competition for CP solvers.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Self-organising pervasive ecosystems of devices are set to become a major vehicle for delivering infrastructure and end-user services. The inherent complexity of such systems poses new challenges to those who want to dominate it by applying the principles of engineering. The recent growth in number and distribution of devices with decent computational and communicational abilities, that suddenly accelerated with the massive diffusion of smartphones and tablets, is delivering a world with a much higher density of devices in space. Also, communication technologies seem to be focussing on short-range device-to-device (P2P) interactions, with technologies such as Bluetooth and Near-Field Communication gaining greater adoption. Locality and situatedness become key to providing the best possible experience to users, and the classic model of a centralised, enormously powerful server gathering and processing data becomes less and less efficient with device density. Accomplishing complex global tasks without a centralised controller responsible of aggregating data, however, is a challenging task. In particular, there is a local-to-global issue that makes the application of engineering principles challenging at least: designing device-local programs that, through interaction, guarantee a certain global service level. In this thesis, we first analyse the state of the art in coordination systems, then motivate the work by describing the main issues of pre-existing tools and practices and identifying the improvements that would benefit the design of such complex software ecosystems. The contribution can be divided in three main branches. First, we introduce a novel simulation toolchain for pervasive ecosystems, designed for allowing good expressiveness still retaining high performance. Second, we leverage existing coordination models and patterns in order to create new spatial structures. Third, we introduce a novel language, based on the existing ``Field Calculus'' and integrated with the aforementioned toolchain, designed to be usable for practical aggregate programming.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Nowadays the rise of non-recurring engineering (NRE) costs associated with complexity is becoming a major factor in SoC design, limiting both scaling opportunities and the flexibility advantages offered by the integration of complex computational units. The introduction of embedded programmable elements can represent an appealing solution, able both to guarantee the desired flexibility and upgradabilty and to widen the SoC market. In particular embedded FPGA (eFPGA) cores can provide bit-level optimization for those applications which benefits from synthesis, paying on the other side in terms of performance penalties and area overhead with respect to standard cell ASIC implementations. In this scenario this thesis proposes a design methodology for a synthesizable programmable device designed to be embedded in a SoC. A soft-core embedded FPGA (eFPGA) is hence presented and analyzed in terms of the opportunities given by a fully synthesizable approach, following an implementation flow based on Standard-Cell methodology. A key point of the proposed eFPGA template is that it adopts a Multi-Stage Switching Network (MSSN) as the foundation of the programmable interconnects, since it can be efficiently synthesized and optimized through a standard cell based implementation flow, ensuring at the same time an intrinsic congestion-free network topology. The evaluation of the flexibility potentialities of the eFPGA has been performed using different technology libraries (STMicroelectronics CMOS 65nm and BCD9s 0.11μm) through a design space exploration in terms of area-speed-leakage tradeoffs, enabled by the full synthesizability of the template. Since the most relevant disadvantage of the adopted soft approach, compared to a hardcore, is represented by a performance overhead increase, the eFPGA analysis has been made targeting small area budgets. The generation of the configuration bitstream has been obtained thanks to the implementation of a custom CAD flow environment, and has allowed functional verification and performance evaluation through an application-aware analysis.