Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuHilkka Tuominen Muutettu yli 9 vuotta sitten
1
Mallintarkistus ja sen soveltaminen PLC toimilohko-ohjelmien verifioinnissa AS-0.3200 Automaatio- ja systeemitekniikan projektityöt – loppuesitys Markus Hartikainen, 22.4.2009
2
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: 1.Rakennetaan malli. 2.Määritellään ominaisuudet, jotka halutaan mallista verifioida. 3.Käännetään määritellyt ominaisuudet temporaalilogiikan lauseiksi. 4.Verifioidaan ominaisuudet mallintarkistin-työkalussa. 5.Analysoidaan tulokset.
3
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.
4
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.
5
2. Projektiin käytetty aika • Yhteensä 135,5 tuntia.
6
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.
7
4. Verifiointi NuSMV:llä • Mallintarkastusprosessi: 1.Rakennetaan malli. – Demo... 2.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).” 3.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) ) ); 4.Verifioidaan ominaisuudet mallintarkistin-työkalussa. – Demo... 5.Analysoidaan tulokset. – Demo...
8
4. Verifiointi NuSMV:llä Alkuperäinen logiikka Korjattu logiikka
9
5. Verifiointi UPPAAL:lla • Demo...
10
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.
11
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.
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.