11
Mallintarkistus ja sen soveltaminen PLC toimilohko- ohjelmien verifioinnissa AS-0.3200 Automaatio- ja systeemitekniikan projektityöt –loppuesitys Markus Hartikainen, 22.4.2009

Markus Hartikainen, 22.4.2009

  • 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

Page 1: 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

Page 2: 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.

Page 3: Markus Hartikainen, 22.4.2009

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.

Page 4: Markus Hartikainen, 22.4.2009

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.

Page 5: Markus Hartikainen, 22.4.2009

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.

Page 6: Markus Hartikainen, 22.4.2009

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.

Page 7: Markus Hartikainen, 22.4.2009

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

Page 8: Markus Hartikainen, 22.4.2009

4. Verifiointi NuSMV:lläAlkuperäinen logiikka Korjattu logiikka

Page 9: Markus Hartikainen, 22.4.2009

5. Verifiointi UPPAAL:lla

• Demo...

Page 10: Markus Hartikainen, 22.4.2009

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.

Page 11: Markus Hartikainen, 22.4.2009

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.