Middleware Software Development for Embedded Machine Control Platform
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu |
Master's thesis
Authors
Date
2013-11-18
Department
Major/Subject
Älykkäät tuotteet
Mcode
ETA3006
Degree programme
AUT - Automaatio- ja systeemitekniikka
Language
en
Pages
92+9
Series
Abstract
Tässä diplomityössä keskityttiin tutkimaan ja arvioimaan saatavilla olevia välikerros-ohjelmiston kehitystyökaluja sulautetulla koneenohjausalustalla. Välikerrosohjelmis-ton tarkoituksena oli tarjota laitteiston ja ohjelmiston välille abstraktiokerros, jonka päälle tehtyä ohjelmistoa ei tarvitsisi merkittävästi muuttaa, mikäli laitteistoa joudu-taan muuttamaan. Lisäksi välikerrosohjelmiston vaatimuksena oli kyetä tukemaan niin reaaliaikaisten kuin ei-reaaliaikaistenkin ohjelmakomponenttien suoritusta koneenoh-jausjärjestelmän Linux ympäristössä. Työssä käytettiin reaaliaikaisuuden kriteerinä 10 ms raja-arvoa. Diplomityössä vertailtujen neljän kehitystyökalun joukosta jatkokehitykseen ja arvi-ointiin valittiin avoimen lähdekoodin Open Robot Control Software, OROCOS, jota hyö-dynnettiin ohjelmistokomponenttien tuottamisessa ja testaamisessa. OROCOS sisältää suoritettaville komponenteille suoritusympäristön, joka huolehti komponenttien suorituksen skeduloinnista ja komponenttien välisen viestiliikenteen toteutuksesta. Lisäksi OROCOS tarjoaa komponenteille valmiin tilakoneluurangon, johon ohjelmistokehittäjät voivat lisätä komponentilta vaadittavan toimintalogiikan. Valmiita komponentteja ja OROCOS -työkalua arvioitiin ISO 9216 standardiin pohjau-tuvilla laatumittareilla. Valituilla mittareilla arvioitiin välikerrosohjelmiston suoritus-kykyä, siirrettävyyttä, toiminnallisuutta ja ylläpidettävyyttä. Suorituskykyä arvioitaessa hyödynnettiin työssä toteutettua jaksottaisesti CAN-väylää lukevaa OROCOS-komponenttia, jolla pystyttiin todentamaan välikerrokselta vaadittu reaaliaikaisuus. Siirrettävyys arvioitiin asentamalla välikerrosohjelmisto kolmelle ARM järjestelmäpii-rille ja vertailemalla asennuksiin tarvittua työmäärää. Toiminnallisuutta arvioitiin ra-japinnoissa käytettyjen tiedostomuotojen ja funktioiden toimivuuden pohjalta. Ylläpi-dettävyys arvioitiin pääasiassa testausominaisuuksiin perustuen. Laatumittareilla saa-dut tulokset osoittivat OROCOS – työkalun sopivan koneenohjausalustan välikerrosoh-jelmistoksi.This thesis focuses on the evaluation of available middleware development frameworks for an embedded machine control platform. The purpose of the middleware was to provide a hardware abstraction for the application software. The abstraction would reduce the amount of required changes to the application software, should the platform submit to hardware modifications. Furthermore, the middleware would be required to support the execution of both real-time and non-real-time software components in the machine control platform’s Embedded Linux environment. In this thesis, the worst-case latency for the satisfaction of real-time operation was set to 10 ms. Amongst the four evaluated frameworks, the open-source Open Robot Control Software, OROCOS, was selected for further development and evaluation. Consequently, OROCOS was utilized to produce and test middleware components. OROCOS includes an execution environment for the developed components that took care of implementing the scheduling and inter-component communication. Moreover, OROCOS provides a component developer with a skeleton state-machine, which the developer only needs to augment with component specific operation logic. OROCOS and the produced middleware components were evaluated with software quality metrics based on ISO 9216 standard. The adopted metrics were utilized to evaluate the middleware’s efficiency, portability, functionality, and maintainability. Whilst evaluating the middleware’s efficiency, a self produced periodic CAN bus listener component was used to verify acceptable real-time performance. Portability was verified by deploying the middleware on three ARM based System-on-Chip platforms and comparing the required installation effort. Functionality was evaluated based on the data formats and correct operation of functions. Maintainability was mainly evaluated based on the testability of OROCOS. The results of the evaluation indicate that OROCOS is suitable middleware for an embedded machine control platform.Description
Supervisor
Kyrki, VilleThesis advisor
Jocklin, JouniKeywords
embedded system, machine control platform, middleware, orocos, software development