9 resultados para Visual Basic (Programming Language)
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
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 presente dissertazione investiga la possibilità di ottimizzare l’uso di energia a bordo di una nave per trasporto di prodotti chimici e petrolchimici. Il software sviluppato per questo studio può essere adattato a qualsiasi tipo di nave. Tale foglio di calcolo fornisce la metodologia per stimare vantaggi e miglioramenti energetici, con accuratezza direttamente proporzionale ai dati disponibili sulla configurazione del sistema energetico e sui dispositivi installati a bordo. Lo studio si basa su differenti fasi che permettono la semplificazione del lavoro; nell’introduzione sono indicati i dati necessari per svolgere un’accurata analisi ed è presentata la metodologia adottata. Inizialmente è fornita una spiegazione sul layout dell’impianto, sulle sue caratteristiche e sui principali dispositivi installati a bordo. Vengono dunque trattati separatamente i principali carichi, meccanico, elettrico e termico. In seguito si procede con una selezione delle principali fasi operative della nave: è seguito tale approccio in modo da comprendere meglio la ripartizione della richiesta di potenza a bordo della nave e il suo sfruttamento. Successivamente è svolto un controllo sul dimensionamento del sistema elettrico: ciò aiuta a comprendere se la potenza stimata dai progettisti sia assimilabile a quella effettivamente richiesta sulla nave. Si ottengono in seguito curve di carico meccanico, elettrico e termico in funzione del tempo per tutte le fasi operative considerate: tramite l’uso del software Visual Basic Application (VBA) vengono creati i profili di carico che possono essere gestiti nella successiva fase di ottimizzazione. L’ottimizzazione rappresenta il cuore di questo studio; i profili di potenza ottenuti dalla precedente fase sono gestiti in modo da conseguire un sistema che sia in grado di fornire potenza alla nave nel miglior modo possibile da un punto di vista energetico. Il sistema energetico della nave è modellato e ottimizzato mantenendo lo status quo dei dispositivi di bordo, per i quali sono considerate le configurazioni di “Load following”, “two shifts” e “minimal”. Una successiva investigazione riguarda l’installazione a bordo di un sistema di accumulo di energia termica, così da migliorare lo sfruttamento dell’energia disponibile. Infine, nella conclusione, sono messi a confronto i reali consumi della nave con i risultati ottenuti con e senza l’introduzione del sistema di accumulo termico. Attraverso la configurazione “minimal” è possibile risparmiare circa l’1,49% dell’energia totale consumata durante un anno di attività; tale risparmio è completamente gratuito poiché può essere raggiunto seguendo alcune semplici regole nella gestione dell’energia a bordo. L’introduzione di un sistema di accumulo termico incrementa il risparmio totale fino al 4,67% con un serbatoio in grado di accumulare 110000 kWh di energia termica; tuttavia, in questo caso, è necessario sostenere il costo di installazione del serbatoio. Vengono quindi dibattuti aspetti economici e ambientali in modo da spiegare e rendere chiari i vantaggi che si possono ottenere con l’applicazione di questo studio, in termini di denaro e riduzione di emissioni in atmosfera.
Resumo:
Nell’ambito di un progetto di ricerca sui sistemi di accumulo dell’energia elettrica, in corso di avvio al “Laboratorio di microreti di generazione e accumulo” di Ravenna, è stato sviluppato un modello di calcolo in grado di simulare il comportamento di un elettrolizzatore.Il comportamento di un generico elettrolizzatore è stato modellato mediante una serie di istruzioni e relazioni matematiche, alcune delle quali ricavate tramite un’analisi dettagliata della fisica del processo di elettrolisi, altre ricavate empiricamente sulla base delle prove sperimentali e dei dati presenti nella bibliografia. Queste espressioni sono state implementate all’interno di un codice di calcolo appositamente sviluppato, realizzato in linguaggio Visual Basic, che sfrutta come base dati i fogli di calcolo del software Microsoft Excel per effettuare la simulazione. A partire dalle caratteristiche dell’elettrolizzatore (pressione e temperatura di esercizio, dimensione degli elettrodi, numero di celle e fattore di tuning, più una serie di coefficienti empirici) e dell’impianto generale (potenza elettrica disponibile e pressione di stoccaggio), il modello è in grado di calcolare l’idrogeno prodotto e l’efficienza globale di produzione e stoccaggio. Il modello sviluppato è stato testato sia su di un elettrolizzatore alcalino, quello del progetto PHOEBUS, basato su una tecnologia consolidata e commercialmente matura, sia su di un apparecchio sperimentale di tipo PEM in fase di sviluppo: in entrambi i casi i risultati forniti dal modello hanno trovato pieno riscontro coi dati sperimentali.
Resumo:
.NET Compiler Platform è un compilatore per i linguaggi C# e Visual Basic realizzato da Microsoft. L’innovazione apportata da tale strumento è l’introduzione di API che permettono di accedere al compilatore; in particolare, è possibile accedere alle strutture dati utilizzate al suo interno, quali simboli o AST, e controllare e/o modificare il processo di compilazione. Una parte di questo progetto, chiamato anche progetto Roslyn, è focalizzata sull’introduzione dello scripting per il linguaggio C#. In questa trattazione si è interessati a sperimentare le possibilità offerte da tale strumento nel campo dell’esecuzione dinamica di frammenti di codice. Gli obiettivi imposti si collocano nell’ambito della re-ingegnerizzazione e dello sviluppo di software. Tali obiettivi sono la re-implementazione dei filtri di selezione contenuti nel framework Phoenix, utilizzando le API di Roslyn per migliorarne le prestazioni, e la progettazione di un componente che realizzi una console per lo scripting C# dotata della possibilità di riferire dinamicamente librerie. Le API di compilazione si rivelano essere non propriamente adatte all’esecuzione immediata di frammenti di codice, nonostante ciò, è possibile, appoggiandosi alla reflection, utilizzarle per giungere a questo risultato. Lo scripting, invece, si rivela uno strumento dalle grandi potenzialità nel suddetto ambito.
Resumo:
Microsoft ha introdotto nella versione 2015 di Visual Studio un nuovo compilatore per i linguaggi C# e Visual Basic chiamato Roslyn. Oltre che un compilatore, Roslyn è una piattaforma che mette a disposizione degli sviluppatori servizi per analizzare e modificare progetti .NET, interagire con le varie fasi della compilazione e creare applicazioni per l'analisi e generazione di codice sorgente. Obiettivo della tesi vuole essere lo studio della suddetta piattaforma ed il suo utilizzo nello sviluppo di estensioni per Visual Studio. La tesi si pone pertanto nel contesto delle tecniche di analisi e generazione di codice sorgente. Il lavoro di tesi ha previsto lo sviluppo di due applicazioni facenti uso delle API di Roslyn. La prima applicazione consiste in un analizzatore di codice C# che provvede alla segnalazione di warning riguardanti l'errato utilizzo del costrutto var e all'esplicitazione del tipo relativo. La seconda applicazione riguarda un generatore di codice C# che utilizza i servizi di Roslyn per semplificare e automatizzare la scrittura di codice nel contesto del framework Phoenix. I risultati ottenuti possono essere d'aiuto per un successivo studio della piattaforma Roslyn ed essere usati come punto di partenza per la creazione dei propri applicativi per l'analisi e generazione di codice sorgente.
Resumo:
Il seguente elaborato di tesi prevede la simulazione del comportamento di quattro diversi layout di magazzino contenenti lo stesso numero di vani, ipotizzando uno stoccaggio della merce secondo il criterio delle classi. Inoltre è stata analizzata l’influenza della variabile altezza sul tempo di ciclo dei singoli magazzini. I quattro layout analizzati sono stati: il layout tradizionale, il layout diagonal cross aisle, il layout fishbone e il layout leaf. Il primo è un magazzino “convenzionale”, nel quale l’intersezione dei corridoi genera sempre angoli retti, i restanti tre sono magazzini “non convenzionali”, ovvero l’intersezione dei corridoi genera angoli particolari. Per ciascun magazzino è stato realizzato un modello matematico discreto in grado di determinare la posizione di ogni singolo vano, la sua distanza dal punto I/O e la sua altezza da terra. Il modello matematico e la tipologia di gestione del magazzino sono stati successivamente implementati in un programma scritto su Microsoft Excel, mediante il linguaggio integrato VBA (Visual Basic for Application). Questo ha permesso di determinare i tempi di ciclo medi per ciascun magazzino, facendo il rapporto tra le distanze precedentemente calcolate e le velocità di traslazione e sollevamento del carrello elevatore. Per ottenere dalla simulazioni dei valori il più possibile prossimi alla realtà è stata adottata la metodologia di Simulazione Monte Carlo e un numero di estrazioni pari a 1000. Dai risultati ottenuti è emerso che il magazzino fishbone è in grado di garantire i miglior tempo di ciclo e che i tempi di ciclo più bassi si ottengono, a parità di vani presenti in un magazzino, aumentando le dimensioni in pianta piuttosto che aumentando l’altezza del magazzino.
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:
Without a doubt, one of the biggest changes that affected XXth century art is the introduction of words into paintings and, in more recent years, in installations. For centuries, if words were part of a visual composition, they functioned as reference; strictly speaking, they were used as a guideline for a better perception of the subject represented. With the developments of the XXth century, words became a very important part of the visual composition, and sometimes embodied the composition itself. About this topic, American art critic and collector Russell Bowman wrote an interesting article called Words and images: A persistent paradox, in which he examines the American and the European art of the XXth century in almost its entirety, dividing it up in six “categories of intention”. The aforementioned categories are not based on the art history timeline, but on the role that language played for specific artists or movements. Taking inspiration from Bowman's article, this paper is structured in three chapters, respectively: words in juxtaposition and free association, words as means of exploration of language structures, and words as means for political and personal messages. The purpose of this paper is therefore to reflect on the role of language in contemporary art and on the way it has changed from artist to artist.