Suunnittelumallien hyödyntäminen turvallisuuskriittisien järjestelmien kehityksessä
Penttinen, Mikael (2021)
Penttinen, Mikael
2021
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication 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-12-27
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202112229514
https://urn.fi/URN:NBN:fi:tuni-202112229514
Tiivistelmä
Turvallisuuskriittiset järjestelmät ovat järjestelmiä, joiden vikaantuminen voi johtaa hengenvaaraan, ympäristövahinkoihin tai muuhun vaaratilanteeseen. Näiden järjestelmien tärkeimpiä ominaisuuksia ovat luotettavuus, ennalta-arvattavuus ja vikasietoisuus. Useat turvallisuuskriittiset järjestelmät ovat sulautettuja ohjausjärjestelmiä eri teollisuuden aloilla. Esimerkkejä sulautetuista turvallisuuskriittisistä järjestelmistä ovat autojen ABS-jarrujärjestelmät, raideliikenteen raidekytkimet ja voimalaitosten ohjausjärjestelmät. Keskeinen osa sulautettujen turvallisuuskriittisten järjestelmän laitteiston ja ohjelmiston kehitystä, on hyvien suunnittelumallien hyödyntäminen. Suunnittelumalli on yleinen järjestelmän suunnittelun ratkaisu johonkin tiettyyn ongelmaan. Sen tarkoituksena on kuvata järjestelmän rakennetta ja arkkitehtuuria yleismaailmallisesti. Suunnittelumalli ei ole esimerkiksi valmis ohjelmistoarkkitehtuuri tai laitteiston kytkentäkaavio. Turvakriittisissä järjestelmissä hyödynnettävillä suunnittelumalleilla pyritään parantamaan järjestelmän luotettavuutta, saatavuutta ja vikasietoisuutta.
Tämän työn tavoitteena oli kartoittaa turvallisuuskriittisille järjestelmille tutkittuja suunnittelumalleja ja niiden suhdetta turvallisuuskriittisille järjestelmille asetettuihin standardeihin. Työssä esitellään muutamia keskeisiä suunnittelumalleja. Käsitellään sekä niiden hyötyjä ja haittoja että soveltuvuutta eri tasoisille turvallisuuskriittisille järjestelmille.
IEC 61508 -standardi on keskeisin tässä työssä hyödynnetty turvallisuuskriittisten järjestelmien standardi. Standardissa määritetään neljä turvallisuuden eheyden tasoa, joiden kasvavia vaatimuksia voidaan täyttää tietyillä standardissa määritetyillä suunnittelutekniikoilla. IEC 61508 -standardissa määritettyjä suunnittelutekniikoita hyödynnetään tässä työssä käsiteltävissä suunnittelumalleissa.
Turvallisuuskriittisille järjestelmille tutkituissa suunnittelumalleissa yhteistä on järjestelmän kriittisien ominaisuuksien hajauttaminen tai monentaminen. Lisäksi turvallisuutta parannetaan erottamalla turvallisuudesta vastaavat funktiot omaan järjestelmän osaan. Järjestelmän tilan ja ohjelman sekvenssin valvonta ulkoisella valvonnalla on tehokas ja yksinkertainen tapa varmistaa, että järjestelmä toimii oikein eikä esimerkiksi kaadu tai pysähdy. Pelkkä valvonta ei kuitenkaan varmista järjestelmän toiminnan eheyttä. N-versio ohjelmoinnilla tarkoitetaan ohjelmiston kehittämistä itsenäisesti N-kertaa. Tällä pyritään pienentämään suunnitteluvirheestä aiheutuvaa virheellistä toimintaa. N-versioiden suori-tuksen tuloksia voidaan verrata äänestäjällä tai hyväksyttävyystestillä. Lisäksi N-versiot voidaan ajaa yhdellä tai useammalla eri laitteisolla. Samalla laitteistolla N-versioita suorit-taessa voidaan hyödyntää järjestelmän tilan palauttamista järjestelmäresurssien säästämiseksi. Lisäksi suunnittelumalleilla voidaan parantaa järjestelmän vikasietoisuutta hyödyntäen sulavaa alasajoa, hiljaista vikaantumista tai dynaamista uudelleenkonfigurointia.
Tämän työn tavoitteena oli kartoittaa turvallisuuskriittisille järjestelmille tutkittuja suunnittelumalleja ja niiden suhdetta turvallisuuskriittisille järjestelmille asetettuihin standardeihin. Työssä esitellään muutamia keskeisiä suunnittelumalleja. Käsitellään sekä niiden hyötyjä ja haittoja että soveltuvuutta eri tasoisille turvallisuuskriittisille järjestelmille.
IEC 61508 -standardi on keskeisin tässä työssä hyödynnetty turvallisuuskriittisten järjestelmien standardi. Standardissa määritetään neljä turvallisuuden eheyden tasoa, joiden kasvavia vaatimuksia voidaan täyttää tietyillä standardissa määritetyillä suunnittelutekniikoilla. IEC 61508 -standardissa määritettyjä suunnittelutekniikoita hyödynnetään tässä työssä käsiteltävissä suunnittelumalleissa.
Turvallisuuskriittisille järjestelmille tutkituissa suunnittelumalleissa yhteistä on järjestelmän kriittisien ominaisuuksien hajauttaminen tai monentaminen. Lisäksi turvallisuutta parannetaan erottamalla turvallisuudesta vastaavat funktiot omaan järjestelmän osaan. Järjestelmän tilan ja ohjelman sekvenssin valvonta ulkoisella valvonnalla on tehokas ja yksinkertainen tapa varmistaa, että järjestelmä toimii oikein eikä esimerkiksi kaadu tai pysähdy. Pelkkä valvonta ei kuitenkaan varmista järjestelmän toiminnan eheyttä. N-versio ohjelmoinnilla tarkoitetaan ohjelmiston kehittämistä itsenäisesti N-kertaa. Tällä pyritään pienentämään suunnitteluvirheestä aiheutuvaa virheellistä toimintaa. N-versioiden suori-tuksen tuloksia voidaan verrata äänestäjällä tai hyväksyttävyystestillä. Lisäksi N-versiot voidaan ajaa yhdellä tai useammalla eri laitteisolla. Samalla laitteistolla N-versioita suorit-taessa voidaan hyödyntää järjestelmän tilan palauttamista järjestelmäresurssien säästämiseksi. Lisäksi suunnittelumalleilla voidaan parantaa järjestelmän vikasietoisuutta hyödyntäen sulavaa alasajoa, hiljaista vikaantumista tai dynaamista uudelleenkonfigurointia.
Kokoelmat
- Kandidaatintutkielmat [7047]