19 resultados para Embedded System, Domain Specific Language (DSL), Agenti BDI, Arduino, Agentino
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
Resumo:
Scopo di questo elaborato di tesi è la modellazione e l’implementazione di una estensione del simulatore Alchemist, denominata Biochemistry, che permetta di simulare un ambiente multi-cellulare. Al fine di simulare il maggior numero possibile di processi biologici, il simulatore dovrà consentire di modellare l’eterogeneità cellulare attraverso la modellazione di diversi aspetti dei sistemi cellulari, quali: reazioni intracellulari, segnalazione tra cellule adiacenti, giunzioni cellulari e movimento. Dovrà, inoltre, essere ammissibile anche l’esecuzione di azioni impossibili nel mondo reale, come la distruzione o la creazione dal nulla di molecole chimiche. In maniera più specifica si sono modellati ed implementati i seguenti processi biochimici: creazione e distruzione di molecole chimiche, reazioni biochimiche intracellulari, scambio di molecole tra cellule adiacenti, creazione e distruzione di giunzioni cellulari. È stata dunque posta particolare enfasi nella modellazione delle reazioni tra cellule vicine, il cui meccanismo è simile a quello usato nella segnalazione cellulare. Ogni parte del sistema è stata modellata seguendo fenomeni realmente presenti nei sistemi multi-cellulari, e documentati in letteratura. Per la specifica delle reazioni chimiche, date in ingresso alla simulazione, è stata necessaria l’implementazione di un Domain Specific Language (DSL) che consente la scrittura di reazioni in modo simile al linguaggio naturale, consentendo l’uso del simulatore anche a persone senza particolari conoscenze di biologia. La correttezza del progetto è stata validata tramite test compiuti con dati presenti in letteratura e inerenti a processi biologici noti e ampiamente studiati.
Resumo:
La tesi ha lo scopo di indagare le tecnologie disponibili per la realizzazione di linguaggi di programmazione e linguaggi domain specific in ambiente Java. In particolare, vengono proposti e analizzati tre strumenti presenti sul mercato: JavaCC, ANTLR e Xtext. Al termine dell’elaborato, il lettore dovrebbe avere un’idea generale dei principali meccanismi e sistemi utilizzati (come lexer, parser, AST, parse trees, etc.), oltre che del funzionamento dei tre tools presentati. Inoltre, si vogliono individuare vantaggi e svantaggi di ciascuno strumento attraverso un’analisi delle funzionalità offerte, così da fornire un giudizio critico per la scelta e la valutazione dei sistemi da utilizzare.
Towards model driven software development for Arduino platforms: a DSL and automatic code generation
Resumo:
La tesi ha lo scopo di esplorare la produzione di sistemi software per Embedded Systems mediante l'utilizzo di tecniche relative al mondo del Model Driven Software Development. La fase più importante dello sviluppo sarà la definizione di un Meta-Modello che caratterizza i concetti fondamentali relativi agli embedded systems. Tale modello cercherà di astrarre dalla particolare piattaforma utilizzata ed individuare quali astrazioni caratterizzano il mondo degli embedded systems in generale. Tale meta-modello sarà quindi di tipo platform-independent. Per la generazione automatica di codice è stata adottata una piattaforma di riferimento, cioè Arduino. Arduino è un sistema embedded che si sta sempre più affermando perché coniuga un buon livello di performance ed un prezzo relativamente basso. Tale piattaforma permette lo sviluppo di sistemi special purpose che utilizzano sensori ed attuatori di vario genere, facilmente connessi ai pin messi a disposizione. Il meta-modello definito è un'istanza del meta-metamodello MOF, definito formalmente dall'organizzazione OMG. Questo permette allo sviluppatore di pensare ad un sistema sotto forma di modello, istanza del meta-modello definito. Un meta-modello può essere considerato anche come la sintassi astratta di un linguaggio, quindi può essere definito da un insieme di regole EBNF. La tecnologia utilizzata per la definizione del meta-modello è stata Xtext: un framework che permette la scrittura di regole EBNF e che genera automaticamente il modello Ecore associato al meta-modello definito. Ecore è l'implementazione di EMOF in ambiente Eclipse. Xtext genera inoltre dei plugin che permettono di avere un editor guidato dalla sintassi, definita nel meta-modello. La generazione automatica di codice è stata realizzata usando il linguaggio Xtend2. Tale linguaggio permette di esplorare l'Abstract Syntax Tree generato dalla traduzione del modello in Ecore e di generare tutti i file di codice necessari. Il codice generato fornisce praticamente tutta la schematic part dell'applicazione, mentre lascia all'application designer lo sviluppo della business logic. Dopo la definizione del meta-modello di un sistema embedded, il livello di astrazione è stato spostato più in alto, andando verso la definizione della parte di meta-modello relativa all'interazione di un sistema embedded con altri sistemi. Ci si è quindi spostati verso un ottica di Sistema, inteso come insieme di sistemi concentrati che interagiscono. Tale difinizione viene fatta dal punto di vista del sistema concentrato di cui si sta definendo il modello. Nella tesi viene inoltre introdotto un caso di studio che, anche se abbastanza semplice, fornisce un esempio ed un tutorial allo sviluppo di applicazioni mediante l'uso del meta-modello. Ci permette inoltre di notare come il compito dell'application designer diventi piuttosto semplice ed immediato, sempre se basato su una buona analisi del problema. I risultati ottenuti sono stati di buona qualità ed il meta-modello viene tradotto in codice che funziona correttamente.
Resumo:
Ontology design and population -core aspects of semantic technologies- re- cently have become fields of great interest due to the increasing need of domain-specific knowledge bases that can boost the use of Semantic Web. For building such knowledge resources, the state of the art tools for ontology design require a lot of human work. Producing meaningful schemas and populating them with domain-specific data is in fact a very difficult and time-consuming task. Even more if the task consists in modelling knowledge at a web scale. The primary aim of this work is to investigate a novel and flexible method- ology for automatically learning ontology from textual data, lightening the human workload required for conceptualizing domain-specific knowledge and populating an extracted schema with real data, speeding up the whole ontology production process. Here computational linguistics plays a fundamental role, from automati- cally identifying facts from natural language and extracting frame of relations among recognized entities, to producing linked data with which extending existing knowledge bases or creating new ones. In the state of the art, automatic ontology learning systems are mainly based on plain-pipelined linguistics classifiers performing tasks such as Named Entity recognition, Entity resolution, Taxonomy and Relation extraction [11]. These approaches present some weaknesses, specially in capturing struc- tures through which the meaning of complex concepts is expressed [24]. Humans, in fact, tend to organize knowledge in well-defined patterns, which include participant entities and meaningful relations linking entities with each other. In literature, these structures have been called Semantic Frames by Fill- 6 Introduction more [20], or more recently as Knowledge Patterns [23]. Some NLP studies has recently shown the possibility of performing more accurate deep parsing with the ability of logically understanding the structure of discourse [7]. In this work, some of these technologies have been investigated and em- ployed to produce accurate ontology schemas. The long-term goal is to collect large amounts of semantically structured information from the web of crowds, through an automated process, in order to identify and investigate the cognitive patterns used by human to organize their knowledge.
Resumo:
Questo lavoro di tesi si focalizza sulla modellazione di sistemi software in grado far interagire piattaforme elettroniche differenti tra loro.
Resumo:
Generic object recognition is an important function of the human visual system and everybody finds it highly useful in their everyday life. For an artificial vision system it is a really hard, complex and challenging task because instances of the same object category can generate very different images, depending of different variables such as illumination conditions, the pose of an object, the viewpoint of the camera, partial occlusions, and unrelated background clutter. The purpose of this thesis is to develop a system that is able to classify objects in 2D images based on the context, and identify to which category the object belongs to. Given an image, the system can classify it and decide the correct categorie of the object. Furthermore the objective of this thesis is also to test the performance and the precision of different supervised Machine Learning algorithms in this specific task of object image categorization. Through different experiments the implemented application reveals good categorization performances despite the difficulty of the problem. However this project is open to future improvement; it is possible to implement new algorithms that has not been invented yet or using other techniques to extract features to make the system more reliable. This application can be installed inside an embedded system and after trained (performed outside the system), so it can become able to classify objects in a real-time. The information given from a 3D stereocamera, developed inside the department of Computer Engineering of the University of Bologna, can be used to improve the accuracy of the classification task. The idea is to segment a single object in a scene using the depth given from a stereocamera and in this way make the classification more accurate.
Resumo:
The aim of this dissertation is to provide a translation from English into Italian of a specialised scientific article published in the Cambridge Working Papers in Economics series. In this text, the authors estimate the economic consequences of the earthquake that hit the Abruzzo region in 2009. An extract of this translation will be published as part of conference proceedings. The main reason behind this choice is a personal interest in specialised translation in the economic domain. Moreover, the subject of the article is of particular interest to the Italian readership. The aim of this study is to show how a non-specialised translator can tackle with such a highly specialised translation with the use of appropriate terminology resources and the collaboration of field experts. The translation could be of help to other Italian linguists looking for translated material in this particular domain where English seems to be the dominant language. In order to ensure consistent terminology and adequate style, the document has been translated with the use of different resources, such as dictionaries, glossaries and specialised corpora. I also contacted field experts and the authors of text. The collaboration with the authors proved to be an invaluable resource yet one to be carefully managed. This work is divided into 5 chapters. The first deals with domain-specific sublanguages. The second gives an overview of corpus linguistics and describes the corpora designed for the translation. The third provides an analysis of the article, focusing on syntactical, lexical and structural features while the fourth presents the translation, side-by-side with the source text. The fifth comments on the main difficulties encountered in the translation and the strategies used, as well as the relationship with the authors and their review of the published text. Appendix I contains the econometric glossary English – Italian.
Resumo:
In today’s globalized world, air travel is one of the fastest growing markets. Millions of aircrafts take off and then touch down all around the world each day. This well-synchronized symphony, however, is much more complex than it seems, and communication – language - plays a crucial role during a plane’s journey. Misunderstandings and miscommunications can have disastrous effects, so the adoption of a standard phraseology to be used during flight is a means to overcome language barriers, avoid ambiguous expressions and guarantee a safe and effective operation of an aircraft. Little is known about the interaction that goes on between pilots and air traffic controllers (ATCOs), and even though the language of aviation is English, cockpit communication can be hard to understand for people who are not familiar with this specific language. The scope of this thesis is to examine the origins of this uncommon language, the characteristics and peculiarities of air communication and to shed a little light on this mystery called Aviation English.
Resumo:
The recent trend on embedded system development opens a new prospect for applications that in the past were not possible. The eye tracking for sleep and fatigue detection has become an important and useful application in industrial and automotive scenarios since fatigue is one of the most prevalent causes of earth-moving equipment accidents. Typical applications such as cameras, accelerometers and dermal analyzers are present on the market but have some inconvenient. This thesis project has used EEG signal, particularly, alpha waves, to overcome them by using an embedded software-hardware implementation to detect these signals in real time
Resumo:
Questa tesi si basa su una serie di lavori precedenti, volti ad analizzare la correlazione tra i modelli AUML e le reti di Petri, per riuscire a fornire una metodologia di traduzione dai primi alle seconde. Questa traduzione permetterà di applicare tecniche di model checking alle reti così create, al fine di stabilire le proprietà necessarie al sistema per poter essere realizzato effettivamente. Verrà poi discussa un'implementazione di tale algoritmo sviluppata in tuProlog ed un primo approccio al model checking utilizzando il programma Maude. Con piccole modifiche all'algoritmo utilizzato per la conversione dei diagrammi AUML in reti di Petri, è stato possibile, inoltre, realizzare un sistema di implementazione automatica dei protocolli precedentemente analizzati, verso due piattaforme per la realizzazione di sistemi multiagente: Jason e TuCSoN. Verranno quindi presentate tre implementazioni diverse: la prima per la piattaforma Jason, che utilizza degli agenti BDI per realizzare il protocollo di interazione; la seconda per la piattaforma TuCSoN, che utilizza il modello A&A per rendersi compatibile ad un ambiente distribuito, ma che ricalca la struttura dell'implementazione precedente; la terza ancora per TuCSoN, che sfrutta gli strumenti forniti dalle reazioni ReSpecT per generare degli artefatti in grado di fornire una infrastruttura in grado di garantire la realizzazione del protocollo di interazione agli agenti partecipanti. Infine, verranno discusse le caratteristiche di queste tre differenti implementazioni su un caso di studio reale, analizzandone i punti chiave.
Resumo:
È impossibile implementare sorgenti autenticamente casuali su hardware digitale. Quindi, storicamente, si è fatto ampio uso di generatori di numeri pseudo-casuali, evitando così i costi necessari per la progettazione di hardware analogico dedicato. Tuttavia, le sorgenti pseudo-casuali hanno proprietà (riproducibilità e periodicità) che si trasformano in vulnerabilità, nel caso in cui vengano adottate in sistemi di sicurezza informatica e all’interno di algoritmi crittografici. Oggi la richiesta di generatori di numeri autenticamente casuali è ai suoi massimi storici. Alcuni importanti attori dell’ICT sviluppato proprie soluzioni dedicate, ma queste sono disponibili solo sui sistemi moderni e di fascia elevata. È quindi di grande attualità rendere fruibili generatori autenticamente casuali per sistemi già esistenti o a basso costo. Per garantire sicurezza e al tempo stesso contenere i costi di progetto è opportuno pensare ad architetture che consentano di riusare parti analogiche già disponibili. Particolarmente interessanti risultano alcune architetture che, grazie all’utilizzo di dinamiche caotiche, consentono di basare buona parte della catena analogica di elaborazione su ADC. Infatti, tali blocchi sono ampiamente fruibili in forma integrata su architetture programmabili e microcontrollori. In questo lavoro, si propone un’implementazione a basso costo ed elevata flessibilità di un architettura basata su un ADC, inizialmente concepita all’Università di Bologna. La riduzione di costo viene ottenuta sfruttando il convertitore già presente all’interno di un microcontrollore. L’elevata flessibilità deriva dal fatto che il microcontrollore prescelto mette a disposizione una varietà di interfacce di comunicazione, tra cui quella USB, con la quale è possibile rendere facilmente fruibili i numeri casuali generati. Quindi, l’intero apparato comprende solo un microcontrollore e una minima catena analogica di elaborazione esterna e può essere interfacciato con estrema facilità ad elaboratori elettronici o sistemi embedded. La qualità della proposta, in termini di statistica delle sequenze casuali generate, è stata validata sfruttando i test standardizzati dall’U.S. NIST.
Resumo:
The use of wearable devices for the monitoring of biological potentials is an ever-growing area of research. Wearable devices for the monitoring of vital signs such as heart-rate, respiratory rate, cardiac output and blood oxygenation are necessary in determining the overall health of a patient and allowing earlier detection of adverse events such as heart attacks and strokes and earlier diagnosis of disease. This thesis describes a bio-potential acquisition embedded system designed with an innovative analog front-end, showing the performance in EMG and ECG applications and the comparison between different noise reduction algorithms. We demonstrate that the proposed system is able to acquire bio-potentials with a signal quality equivalent to state of the art bench-top biomedical devices and can be therefore used for monitoring purpose, with the advantages of a low-cost low-power wearable device.
Resumo:
Progettazione di un cuscino che si occupa di noi e ci aiuta nell'addormentarci attraverso la musica. Il tutto grazie all'aiuto di sensori e dell'Arduino che comunicheranno con lo smartphone per dare un'esperienza flessibile e personalizzabile.