Automaatiojärjestelmän ohjelmistovikojen korjaus
Rinko, Niko (2021)
Rinko, Niko
2021
Teknisten tieteiden kandidaattiohjelma - Bachelor's Programme in Engineering Sciences
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-04-22
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202104193136
https://urn.fi/URN:NBN:fi:tuni-202104193136
Tiivistelmä
Automaatiojärjestelmien suunnittelun ja päivitysten yhteydessä tapahtuu inhimillisiä virheitä, jotka johtavat ohjelmistovikoihin. Useimmat ovat kohdanneet ohjelmistovikoja IT-sovelluksia käyttäessään. Ohjelmistotekniikassa ohjelmistovikojen alkuperää ja korjausta on tutkittu paljon, mutta automaatiojärjestelmien kohdalla aiheesta kertovaa kirjallisuutta on vähemmän. Tässä työssä tutkitaan ohjelmistotekniikan viankorjaustapojen soveltuvuutta automaatioon. Työn teoriaosassa esitellään lyhyesti taustatietoja automaatio-ohjelmistojen erityispiirteistä, käytetyistä ohjelmointikielistä ja automaatiojärjestelmien yleisimpiä rakennehierarkioita. Lisäksi teoriaosuudessa tutustutaan hieman vikojen korjaamisesta kertovaan ohjelmistotekniikan kirjallisuuteen ja arvioimaan näissä esiteltyjä tuloksia ja käytäntöjä automaation näkökulmasta, sekä esitellään Valmet DNA -ohjausjärjestelmä yleisesti, sekä työssä käytetyt Valmet DNA:n suunnittelijatyökalut. Työn käytännön osana korjataan WinNovan opetuskäyttöön suunnitellun vesiprosessin automaatiojärjestelmän ohjelmistoviat ja arvioidaan korjauksen aikana käytettyjä tapoja, sekä verrataan niitä teoriaosuudessa esiteltyihin käytäntöihin.
Pohjimmiltaan viankorjauksen vaiheet, paikallistaminen, korjaus, testaus, ovat samat automaatiossa. Kuitenkin kehittyneemmät ja automatisoidut tavat vikojen korjaukseen ovat suunniteltu tekstipohjaisille ohjelmointikielille, jotka ovat hyvin yleisiä IT-ohjelmistokehityksessä. Näiden soveltaminen automaatiossa käytettäville graafisille ohjelmointikielille on vähintäänkin haastavaa, ellei jopa mahdotonta. Abstrakteja toteutuksesta riippumattomia viankorjaustapoja voi hyödyntää suoraan automaatiossa, mutta näistä saatu hyöty voi jäädä vähäiseksi.
WinNovan vesiprosessin ohjelmistovikojen korjaus onnistui hyvin, alkuvaikeuksista huolimatta. Toimimattomasta järjestelmästä saatiin jälleen toimintakykyinen, eikä työn lopussa enää havaittu toimintaa häiritseviä vikoja. Lisäksi vesiprosessin ohjelmiin lisättiin toimintoja ja toteutettiin parannuksia olemassa oleviin toimintoihin WinNovan toiveiden mukaisesti. Käytetyt tavat ja käytännöt vikojen korjaukseen olivat paikannuksen ja korjauksen osalta vastaavia, kuin kirjallisuudessa suositellut käytännöt. Testauksen osalta käytännöt eivät olleet optimaalisia, mutta työssä päästiin kuitenkin tavoiteltuun lopputulokseen.
Pohjimmiltaan viankorjauksen vaiheet, paikallistaminen, korjaus, testaus, ovat samat automaatiossa. Kuitenkin kehittyneemmät ja automatisoidut tavat vikojen korjaukseen ovat suunniteltu tekstipohjaisille ohjelmointikielille, jotka ovat hyvin yleisiä IT-ohjelmistokehityksessä. Näiden soveltaminen automaatiossa käytettäville graafisille ohjelmointikielille on vähintäänkin haastavaa, ellei jopa mahdotonta. Abstrakteja toteutuksesta riippumattomia viankorjaustapoja voi hyödyntää suoraan automaatiossa, mutta näistä saatu hyöty voi jäädä vähäiseksi.
WinNovan vesiprosessin ohjelmistovikojen korjaus onnistui hyvin, alkuvaikeuksista huolimatta. Toimimattomasta järjestelmästä saatiin jälleen toimintakykyinen, eikä työn lopussa enää havaittu toimintaa häiritseviä vikoja. Lisäksi vesiprosessin ohjelmiin lisättiin toimintoja ja toteutettiin parannuksia olemassa oleviin toimintoihin WinNovan toiveiden mukaisesti. Käytetyt tavat ja käytännöt vikojen korjaukseen olivat paikannuksen ja korjauksen osalta vastaavia, kuin kirjallisuudessa suositellut käytännöt. Testauksen osalta käytännöt eivät olleet optimaalisia, mutta työssä päästiin kuitenkin tavoiteltuun lopputulokseen.
Kokoelmat
- Kandidaatintutkielmat [8430]