In this thesis a toolchain able to transform a software architecture model for robotics into a functioning and compilable code was developed. The final outcome of these transformation series is a ROS (Robot Operating System) environment, a well-known and widely used framework for robotics, configured and ready for compiling. The toolchain receives as the only input the software architecture model written in AADL, a language born specifically to describe architecture, recognized by the SAE as an international industry standard. The first link of the chain is a transformation from the AADL model to a XML one, to make the reading and analysis performed by other software easier. This first step is carried out by an ad hoc developed software based on Ocarina, a powerful tool for AADL reading and processing written in ADA. The XML model is then analyzed by another specifically crafted software that handles the creation and management of a fully functioning ROS package, ready to be compiled. The only operations that a developer has to do by hand are the model building and the writing of the robot application specific code. The entire toolchain has been tested and validated on a real software development for an electric wheelchair, conveniently modified to be controlled by a computer. The generated software, replicating the functionalities already implemented for comparison by hand by a group of experts, has been able to reproduce all the desired behaviors.

In questa tesi è stata sviluppata una toolchain in grado di trasformare un modello di un'architettura software per la robotica in un codice funzionante e compilabile. Il risultato finale di questa serie di trasformazioni è un ambiente ROS (Robot Operating System), un noto e largamente usato framework per la robotica, configurato e pronto per la compilazione. La toolchain riceve come unico ingresso il modello dell'architettura software scritto in AADL, un linguaggio nato appositamente per la descrizione di architetture, riconosciuto dalla SAE come standard industriale internazionale. Il primo step della catena è quindi una conversione da modello AADL a modello XML per renderlo di più pratica lettura ed analisi da parte di altri software. Questa prima trasformazione è ad opera di un particolare software sviluppato ad hoc e basato su Ocarina, un potente tool di lettura ed elaborazione per AADL scritto in ADA. Il modello XML viene poi successivamente analizzato da un altro software sviluppato appositamente che si occupa della gestione e della creazione di un package ROS completamente funzionalmente, pronto per essere compilato. Le uniche operazioni necessarie per lo sviluppatore saranno la costruzione del modello e la scrittura del codice relativo alle funzionalità specifiche del robot. L'intera toolchain è stata testata e convalidata sviluppando il software di controllo di una carrozzina elettrica, opportunamente modificata per essere controllata da un computer. Il software generato, replicando le funzionalità di una versione di confronto scritta a mano da esperti, è stato in grado di riprodurre tutte le funzionalità desiderate.

Model based robot development : from AADL to ROS through code generation

SEMPREBON, ANDREA
2016/2017

Abstract

In this thesis a toolchain able to transform a software architecture model for robotics into a functioning and compilable code was developed. The final outcome of these transformation series is a ROS (Robot Operating System) environment, a well-known and widely used framework for robotics, configured and ready for compiling. The toolchain receives as the only input the software architecture model written in AADL, a language born specifically to describe architecture, recognized by the SAE as an international industry standard. The first link of the chain is a transformation from the AADL model to a XML one, to make the reading and analysis performed by other software easier. This first step is carried out by an ad hoc developed software based on Ocarina, a powerful tool for AADL reading and processing written in ADA. The XML model is then analyzed by another specifically crafted software that handles the creation and management of a fully functioning ROS package, ready to be compiled. The only operations that a developer has to do by hand are the model building and the writing of the robot application specific code. The entire toolchain has been tested and validated on a real software development for an electric wheelchair, conveniently modified to be controlled by a computer. The generated software, replicating the functionalities already implemented for comparison by hand by a group of experts, has been able to reproduce all the desired behaviors.
BARDARO, GIANLUCA
ING - Scuola di Ingegneria Industriale e dell'Informazione
21-dic-2017
2016/2017
In questa tesi è stata sviluppata una toolchain in grado di trasformare un modello di un'architettura software per la robotica in un codice funzionante e compilabile. Il risultato finale di questa serie di trasformazioni è un ambiente ROS (Robot Operating System), un noto e largamente usato framework per la robotica, configurato e pronto per la compilazione. La toolchain riceve come unico ingresso il modello dell'architettura software scritto in AADL, un linguaggio nato appositamente per la descrizione di architetture, riconosciuto dalla SAE come standard industriale internazionale. Il primo step della catena è quindi una conversione da modello AADL a modello XML per renderlo di più pratica lettura ed analisi da parte di altri software. Questa prima trasformazione è ad opera di un particolare software sviluppato ad hoc e basato su Ocarina, un potente tool di lettura ed elaborazione per AADL scritto in ADA. Il modello XML viene poi successivamente analizzato da un altro software sviluppato appositamente che si occupa della gestione e della creazione di un package ROS completamente funzionalmente, pronto per essere compilato. Le uniche operazioni necessarie per lo sviluppatore saranno la costruzione del modello e la scrittura del codice relativo alle funzionalità specifiche del robot. L'intera toolchain è stata testata e convalidata sviluppando il software di controllo di una carrozzina elettrica, opportunamente modificata per essere controllata da un computer. Il software generato, replicando le funzionalità di una versione di confronto scritta a mano da esperti, è stato in grado di riprodurre tutte le funzionalità desiderate.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
tesi_v1_1.pdf

accessibile in internet per tutti

Descrizione: Tesi versione 1.1
Dimensione 2.24 MB
Formato Adobe PDF
2.24 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/137689