1 / 11

Markus Hartikainen, 22.4.2009

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.

kipling
Download Presentation

Markus Hartikainen, 22.4.2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mallintarkistus ja sen soveltaminen PLC toimilohko-ohjelmien verifioinnissaAS-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: • 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.

  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. Yhteensä 135,5 tuntia. 2. Projektiin käytetty aika

  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: • 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...

  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.

More Related