110 likes | 192 Views
Mallintarkistus ja sen soveltaminen PLC toimilohko-ohjelmien verifioinnissa AS-0.3200 Automaatio- ja systeemitekniikan projektityöt –loppuesitys. Markus Hartikainen, 22.4.2009. Mitä on mallintarkastus.
E N D
Mallintarkistus ja sen soveltaminen PLC toimilohko-ohjelmien verifioinnissaAS-0.3200 Automaatio- ja systeemitekniikan projektityöt –loppuesitys Markus Hartikainen, 22.4.2009
Mitä on mallintarkastus • Mallintarkistimeen (mallintarkastustyökalu) rakennetun mallin avulla mallintarkistin käy läpi mallin kaikki tilat verifioitaessa jotakin ehtoa. Mikäli malli ei toteuta verifioitavaa ehtoa, mallintarkistin esittää tästä todisteena suorituspolun, joka johtaa ei-haluttuun tilaan. • Mallintarkastusprosessi: • Rakennetaan malli. • Määritellään ominaisuudet, jotka halutaan mallista verifioida. • Käännetään määritellyt ominaisuudet temporaalilogiikan lauseiksi. • Verifioidaan ominaisuudet mallintarkistin-työkalussa. • Analysoidaan tulokset.
1. Alkuperäinen tavoite ja toteutunut projekti • Tarkoituksena on tutustua mallintarkastuksen teoriaan yhtenä formaalina menetelmänä sekä verifioida pieni PLC - ohjelma NuSMV ja UPPAAL mallintarkastustyökaluja käyttäen. • Projektissa on mallinnettu ja verifioitu pieniä toimilohko-ohjelmia eri lähestymistavoilla sekä NuSMV:llä että UPPAAL:lla.
1. Alkuperäinen tavoite ja toteutunut projekti • Projektissa on tutustuttu mallintarkistuksen teoriaan ja tutkittu aikaisempia tutkimustuloksia mallintarkastuksen soveltamisesta PLC-ohjelmien verifiointiin. • Tutkimuksissa on kehitetty algoritmejä, joilla voidaan kääntää PLC-ohjelmia mallintarkistimien ymmärtämään muotoon ”automaattisesti”. • Viiveet, ajastimet ja integer-muuttujien rajoittamaton käyttö voivat johtaa tila-avaruuden räjähtämiseen.
Yhteensä 135,5 tuntia. 2. Projektiin käytetty aika
3. Projektin aikana toteutuneet riskit • Työhön liittyvä teoria on monimutkaista ja sen pintapuolinenkin opettelu on vienyt paljon aikaa. • Riskien minimointi on onnistunut hyvin, sillä olen projektin alkupuolella kartoittanut jo tehtyä tutkimusta ja sovittanut mallien tekemisen sopivan pieneen esimerkkiin.
4. Verifiointi NuSMV:llä • Mallintarkastusprosessi: • Rakennetaan malli. • Demo... • Määritellään ominaisuudet, jotka halutaan mallista verifioida. • ”Hihnoja ja hissejä ei saa ohjata molempiin suuntiin yhtä aikaa.” • ”Hissi saa liikkua vain, jos kuiluanturi ei ole aktivoitunut (hissikuilussa sinne kuulumatonta liikettä havaittu).” • Käännetään määritellyt ominaisuudet temporaalilogiikan lauseiksi. • LTLSPEC G !(hissi_ylos.hissi_ylos & hissi_alas.hissi_alas); • LTLSPEC G !(paletti_sisaan.hissinkuljetin_sisaan & paletti_ulos.hissin_hihna_ulos); • LTLSPEC G (kuilu_anturi ->(X!hissi_ylos.hissi_ylos & X!hissi_alas.hissi_alas) U (!kuilu_anturi | G(!hissi_ylos.hissi_ylos & !hissi_alas.hissi_alas) ) ); • Verifioidaan ominaisuudet mallintarkistin-työkalussa. • Demo... • Analysoidaan tulokset. • Demo...
4. Verifiointi NuSMV:llä Alkuperäinen logiikka Korjattu logiikka
5. Verifiointi UPPAAL:lla • Demo...
6. Tulokset • NuSMV:n syntaksin rakenne sopii logiikkaohjelmien ja digitaalisen elektroniikan kuvaamiseen hyvin, sillä se on siihen alun perin suunniteltu. • NuSMV suoriutuu suuremmista malleista (enemmän sisääntuloja) kuin UPPAAL. • NuSMV:n simulointiympäristö on huomattavasti epähavainnollisempi verrattuna UPPAAL:iin. • UPPAAL-työkalu on joustavampi mallinnettaessa ajasta riippuvaisia ohjelmia. • Verifioitavien ominaisuuksien formalisointi järjestelmän vaatimuksista on oma tutkimusalueensa. Temporaalilogiikan lauseiden kirjoittamisessa voi sattua helposti virheitä. Formaalit vaatimukset on katselmoitava ja tarkastettava yhdessä projektiryhmän kesken kuten järjestelmän mallitkin.
7. Tulevaisuus • Logiikkaohjelmointiympäristöissä pitäisi olla integroituna mallintarkistin, jotta FBD-ohjelmia ei tarvitsisi käsin muuntaa esimerkiksi NuSMV:lle tai UPPAAL:lle. Tämä vie nykyisin paljon aikaa ja on virhealtista. Kuka vastaa siitä, että mallit vastaavat oikeita ohjelmia? • Mallintarkastuksen skaalautuvuus isommille ohjelmille tarjoaa paljon kehityshaasteita tutkijoille myös tulevaisuudessa.