Upload
kipling
View
29
Download
0
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
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• 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.
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.
2. Projektiin käytetty aika
Käytetty aika per työpaketti (tunteja)0
5
10
15
20
25
30
35
40
Teoria ja aikaisempi tutkimusNuSMV-mallinnus ja verifiointiUPPAAL-mallinnus ja verifiointiDokumentointi
• Yhteensä 135,5 tuntia.
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: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...
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.