Improving Software Deployment for Mobile Machinery: A Case Study and Proof of Concept Implementation

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2024-01-22

Department

Major/Subject

Software and Service Engineering

Mcode

SCI3043

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

85 + 13

Series

Abstract

To support agile and DevOps practices, continuous integration, delivery, and deployment have emerged as methods to provide a fast feedback loop, improved software quality, and rapid delivery of value to stakeholders. The rise of IoT and increasing reliance on software in industrial contexts has evoked the need to adopt continuous practices in these domains to accelerate R&D and maintain a competitive edge. A gap in research was identified, concerning the adoption of continuous deployment practices in the context of mobile machinery. This study assesses the current state of software deployment in industrial domains, using design science research for information systems. A small-scale interview-based case study was conducted to assess the current state of software deployment in industrial domains. The findings indicate that deployment and configuration activities currently require a lot of manual work, which is costly and time-consuming. Adopting continuous practices and automation was seen as an opportunity to improve the situation. The interview findings indicate that while continuous integration has been widely adopted, deployment activities are still done manually in many cases. The identified barriers include organizational inertia, physical challenges in the operating environment, safety issues, and concerns about suspending production during deployment. A proof-of-concept design and implementation is presented, demonstrating a deployment solution for a ROS2-based application for use in simulation and autonomous mobile machinery. The solution aims to automate the deployment process of the distributed software architecture, following best practices and addressing relevant issues in the industry. After evaluation, the solution was deemed a promising design with automation significantly reducing deployment time and manual work.

Jatkuva integrointi, -julkaisu ja toimitus ovat nousseet tärkeiksi ketterän sovelluskehityksen ja DevOps-toimintamallin tukijoiksi. Nämä metodit pyrkivät tarjoamaan jatkuvaa palautetta, parantamaan sovellusten laatua, ja nopeuttamaan arvon toimitusta sidosryhmille. Asioiden internet ja yhä kasvava ohjelmistojen hyödyntäminen teollisuudessa on synnyttänyt myös tässä kontekstissa tarpeen DevOps-toimintamallien omaksumiselle, jotta kilpailukyky voi säilyä ja tuotekehitys tehostua. Nykytutkimukseen perustuen on todettu tarve sovellusten jatkuvien julkaisu- ja toimitusmetodien nykytilanteesta liikkuvien työkoneiden yhteydessä. Tämä tutkimus käsittelee sovelluksen käyttöönoton nykytilannetta teollisuuden ohjelmistokehityksen kontekstissa. Tutkimusmenetelmänä on IT-alan suunnittelun tutkimus. Työhön sisältyy suppea haastattelututkimus, jossa kartoitetaan sovelluksen käyttöönoton nykytilannetta teollisuudessa. Tulokset osoittavat, että käyttöönottoaktiviteetit vaativat nykyisellään paljon käsityötä, mikä lisää ajallisia ja rahallisia kustannuksia. Jatkuvien menetelmien omaksuminen nähtiin mahdollisuutena tämän tilanteen parantamiselle. Haastatteluista kävi ilmi, että jatkuva integrointi on jo laajasti käytössä, mutta käyttöönottotoimet tehdään usein vielä käsin. Jatkuvan toimituksen esteiksi mainittiin haluttomuus muutokseen, fyysiset haasteet ajoympäristössä, tuotannon keskeyttäminen ja turvallisuuskysymykset. Konseptitoteutus havainnollistaa jatkuvien käyttöönottomenetelmien toteutusta ROS2-ohjelmistoympäristöön perustuvalle liikkuvien työkoneiden hallintasovellukselle. Toteutus pyrkii automatisoimaan hajautetun sovellusarkkitehtuurin käyttöönottoprosessia hyödyntäen suositeltuja menetelmiä. Toteutuksen arvioitiin vähentävän merkittävästi käyttöönottoaikaa ja käyttöönoton työläyttä.

Description

Supervisor

Lassenius, Casper

Thesis advisor

Hannelius, Tom

Keywords

software deployment, continuous delivery, continuous deployment, DevOps, ROS2, containerization

Other note

Citation