T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Aikalogiikka

Samankaltaiset tiedostot
T Kevät 2002 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Laskuharjoituksen 5 vastaukset

ja s S : ϕ Υ : M,s ϕ, mutta M,s Q. Erityisesti M, t P kaikilla t S, joten

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

2. M : T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 11 Ratkaisut 1. M :

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

Turingin koneen laajennuksia

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Mallintarkastus. Mallin generointi. Esimerkki mallin SMV-kuvauksesta. Tila-avaruuden symbolinen esitys (I)

T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

1. Johdanto. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

T Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut

Logiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos.

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

MS-A0402 Diskreetin matematiikan perusteet

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).

Taulun avoimista haaroista saadaan kelvolliset lausejoukot

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Paikka siirtymä-verkot

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen.

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus.

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Saavutettavuusanalyysi

Säännöllisen kielen tunnistavat Turingin koneet

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (Predikaattilogiikka )

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Stokastinen analyysi

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

Todistusmenetelmiä Miksi pitää todistaa?

Vaihtoehtoinen tapa määritellä funktioita f : N R on

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Esimerkkimodaalilogiikkoja

Tietojenkäsittelyteorian alkeet, osa 2

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

1. Universaaleja laskennan malleja

Datatähti 2019 loppu

T Kevät 2006 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.

Verkon värittämistä hajautetuilla algoritmeilla

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

AIKALOGIIKAT TIETOKONEOHJELMIEN VERIFIOINNISSA

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

Bisimulaatio modaalilogiikassa

Luonnollisten lukujen ja kokonaislukujen määritteleminen

isomeerejä yhteensä yhdeksän kappaletta.

Lisää pysähtymisaiheisia ongelmia

3. Kongruenssit. 3.1 Jakojäännös ja kongruenssi

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

811120P Diskreetit rakenteet

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Yleinen paikallinen vakautuva synkronointialgoritmi

Äärellisten mallien teoria

Rekursiiviset palautukset [HMU 9.3.1]

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Johdatus matemaattiseen päättelyyn

4 Matemaattinen induktio

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra

Pinoautomaatit. Pois kontekstittomuudesta

Kertausta 1. kurssikokeeseen

1. Logiikan ja joukko-opin alkeet

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

Johdatus matematiikkaan

Suoritusten seuranta ja opiskelijan edistyminen

Säännöllisten kielten sulkeumaominaisuudet

T Syksy 2003 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016

Markov-ketjut pitkällä aikavälillä

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )

Äärellisten mallien teoria

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

Algoritmit 1. Luento 1 Ti Timo Männikkö

11. Javan toistorakenteet 11.1

Algoritmi on periaatteellisella tasolla seuraava:

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. maaliskuuta 2011

Miten osoitetaan joukot samoiksi?

Johdatus graafiteoriaan

Transkriptio:

T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Aikalogiikka 24. helmikuuta 2003

T-79.179: Aikalogiikka 5-1 Aikalogiikka Yksinkertaisiltakin näyttävien järjestelmien saavutettavuusgraafeissa on helposti tuhansia tai jopa miljoonia solmuja ja kaaria. Niitä ei ole mielekästä esittää graafisesti saati tutkia käsin solmu solmulta tai kaari kaarelta. Turvallisuusominaisuudet, kuten järjestelmän lukkiutumattomuus tai kielletyn tilan saavuttamattomuus, on helppo esittää yksittäisiä tiloja koskevina ehtoina, jotka tietokone voi tarkistaa lisätessään tiloja saavutettavuusgraafiin. Elävyysominaisuuksien ("järjestelmässä tapahtuu edistystä") esittämiseen ja käsittelemiseen tarvitaan uusia menetelmiä, kuten aikalogiikkaa ja mallintarkastusmenetelmiä.

T-79.179: Aikalogiikka 5-2 Järjestelmien ominaisuuksia turvallisuus (safety) : "järjestelmä ei joudu pahaan tilaan"; kussakin tilassa pätee p lukkiutumattomuus (deadlock freedom) keskinäinen poissulkevuus (mutual exclusion) jne. elävyys (liveness) : "järjestelmä etenee"; X tapahtuu äärettömän usein reiluus (fairness) ; X:n jälkeen Y tapahtuu n askeleen kuluessa lähetetyt viestit saapuvat perille kukin palvelupyyntö suoritetaan vakautuvuus (self-stabilisation) : "järjestelmä toipuu häiriöstä äärellisessä ajassa"

T-79.179: Aikalogiikka 5-3 Ajan kuvaaminen Useimmat edellä esitetyt aikaan liittyvät ominaisuudet voidaan kuvata yhdistelemällä kahta operaatiota: joskus tulevaisuudessa aina tulevaisuudessa On valittava, kuuluuko nykyhetki tulevaisuuteen. Aikaa voidaan kuvata monella tavalla: yhteisenä tai kullekin osapuolelle erillisenä lineaarisena tai haarautuvana portaittaisena tai jatkuvana Voidaan kuvata joko siirtymien ajankohtia tai järjestelmän tilaa kunakin hetkenä.

T-79.179: Aikalogiikka 5-4 Ajan kuvaaminen: valinnat Kaikille osapuolille yhteinen aika etenee portaittain siirtymien mukaan. Nykyhetki kuuluu tulevaisuuteen. Pääsääntöisesti tarkastellaan tiloja ajan funktiona, ei tapahtumia. Yksi asia on vaikea ratkaista: käytetäänkö lineaarista vai haarautuvaa aikaa? LTL (linear temporal logic) : suoritukset esitetään äärettöminä siirtymäjonoina CTL (computational tree logic) : suoritukset esitetään äärettömänä siirtymäpuuna Kummallakin logiikalla voidaan esittää ominaisuuksia, jotka eivät ole esitettävissä toisella logiikalla. LTL:n ja CTL:n yhdistelmä CTL* on vielä ilmaisuvoimaisempi: sillä voidaan esittää ominaisuuksia, joihin CTL:n ja LTL:n ilmaisuvoima ei riitä.

T-79.179: Aikalogiikka 5-5 Lineaarisen ajan logiikka LTL Tilapropositiot eli -kaavat Φ: p Φ, jos p kuvaa järjestelmän tilat totuusarvoiksi. Kaavat Fma(Φ) Φ sisältävät tilakaavojen lisäksi epätoden Fma(Φ) implikaation: jos a Fma(Φ) ja b Fma(Φ), niin a b Fma(Φ), sekä konnektiivin "aina tulevaisuudessa": jos a Fma(Φ), niin a Fma(Φ). Muut konnektiivit voidaan määritellä näiden avulla: a a a a a b ( a) b a b (a b) Tämä on vain yksi tapa määritellä LTL ja sen peruskonnektiivit.

T-79.179: Aikalogiikka 5-6 Lineaarisen ajan logiikka LTL: esimerkkejä Viesti saapuu aina perille: ((l = 0) (l = 1)) Filosofit 1 ja 2 eivät voi syödä samanaikaisesti: (syö 1 syö 2 ) p pätee vain äärellisen monessa tilassa eli p pätee äärellisen siirtymäjakson päätyttyä aina: p p pätee äärettömän monessa tilassa: p Turvallisuusominaisuus: p

T-79.179: Aikalogiikka 5-7 Lineaarisen ajan logiikan LTL tulkitseminen (1/3) LTL-kaavojen tulkinta on määritelty äärettömille tilajonoille. Tilajoukon S ja saavutettavuusrelaation R S S pari S, R muodostaa kehyksen. Kullakin tilalla on vain yksi seuraaja: R : S S Relaation R S S refleksiivinen ja transitiivinen sulkeuma R R määritellään niin, että se on pienin seuraavat ehdot toteuttava R:n sisältävä joukko: s S s,s R (refleksiivisyys) { s,t, t,u } R s,u R (transitiivisuus) Φ-malli on kolmikko M = S,R,T, missä T : Φ 2 S kuvaa tilakaavat tilajoukoiksi: T (p) on niiden tilojen joukko, joissa p pätee.

T-79.179: Aikalogiikka 5-8 Lineaarisen ajan logiikan LTL tulkitseminen (2/3) Kaavan a pätevyys mallin M tilassa s S (M = s a) määritellään induktiivisesti: M = s p s T (p) M = s M = s (a b) (M = s a) (M = s b) M = s a t S, s,t R : M = t a Sanotaan, että kaava a pätee mallissa M (kirjoitetaan M = a), jos ja vain jos se pätee mallin tilajonon ensimmäisessä tilassa s 0 S: M = s0 a.

T-79.179: Aikalogiikka 5-9 Lineaarisen ajan logiikan LTL tulkitseminen (3/3) Saavutettavuusgraafin G = V,E,v 0 juurisolmusta v 0 V lähtevät jonot v 0,v 1,..., joille v i,v i+1 E, ovat malleja. Merkitään kaikkien näiden tilajonojen joukkoa M (G). Kaava a Fma(Φ) pätee saavutettavuusgraafissa G, jos ja vain jos M = v0 a kaikille M M (G). Koska silmukkoja sisältävää saavutettavuusgraafia voi vastata ääretön määrä malleja, tämä ei ole mielekäs tapa tarkastaa ominaisuuksien pätevyyttä. Seuraavassa kuvataan pääpiirteittäin erästä menetelmää [2] LTL-kaavan pätevyyden tarkistamiseksi.

T-79.179: Aikalogiikka 5-10 Esimerkkejä LTL-kaavoista ja vastaavista tilajonoista Seuraavassa taulukossa on esitetty kolme ääretöntä tilajonoa, joissa on kuvattu kussakin tilassa pätevät propositiot. Tilan 6 jälkeen propositioiden arvot eivät muutu. Päteviä kaavoja 0 1 2 3 4 5 6... p, p, p, p p p p p... p, q, (p q) p,q q q p,q q... p, q, (p q) p q p q... Lyhyitä kaavoja voi tarkastaa pienissä malleissa ilman tietokoneen apua tulkitsemalla yhtä aikakonnektiivia kerrallaan aloittamalla aina uuden "silmukan", kun vastaan tulee tai. Esimerkiksi kaava (p q) sanoo, että jos p joskus pätee, myös q pätee kyseisessä tilassa ja kaikissa sitä seuraavissa tiloissa. Propositio p on tosi ainoastaan tiloissa 2 ja 5, ja molemmissa pätee q.

T-79.179: Aikalogiikka 5-11 Mallintarkastus (1/4) Jos tilajoukko on äärellinen, malli voidaan esittää kuvauksena N (Φ {, }) eli N 2 Φ, joka vastaa ääretöntä jonoa merkkejä m 2 Φ. LTL-kaava a määrittelee erään äärettömien jonojen kielen: niiden mallien joukon, joissa a pätee. Esimerkiksi p 5 pätee kaikissa niissä jonoissa, joissa p 5 pätee joskus. Kielen sanojen aakkosto on Σ = {/0,{p 5 }} ja sanat sisältävät ainakin yhden p 5 :n. /0 /0,{p 5 } s0 {p 5 } s1 Kielen p 5 sanoja voidaan tunnistaa tilakoneen avulla: ja s 1 on hyväksyvä tila.. Alkutila on s 0,

T-79.179: Aikalogiikka 5-12 Mallintarkastus (2/4) Koska sanat ovat äärettömiä, ei voi soveltaa äärellisten tilakoneiden hyväksymisehtoa (sana hyväksytään, jos tilakone on hyväksyvässä tilassa sanan loppuessa). Tilakone Q hyväksyy äärettömän sanan w = a 0,a 1,..., jos ja vain jos on ääretön jono σ = s 0,s 1,... siten, että s 0 on Q:n alkutila, jokainen s i+1 saadaan tilasta s i ja aakkosesta a i siirtymäfunktion avulla, ja on ääretön määrä kokonaislukuja i N siten, että s i on hyväksyvä tila. Tilakonetta Q kutsutaan Büchi-tilakoneeksi. Jokainen LTL-kaava a voidaan kääntää Büchi-tilakoneeksi B(a), joka hyväksyy täsmälleen ne äärettömät tilajonot, joille a pätee.

T-79.179: Aikalogiikka 5-13 Mallintarkastus (3/4) Saavutettavuusgraafi G voidaan tulkita Büchi-tilakoneena B(G), jossa on pelkkiä hyväksymistiloja ja jossa siirtymät on nimetty lähtötilassaan pätevillä tilakaavoilla. t 1 {p 3, p 4 } {p 5 } t 2 t 2 t 1 {p 1, p 2 } t 3 {p 1, p 4 } {p 2, p 3 } {p 3, p 4 } s {p 5 } 3 s 4 {p 2, p 3 } {p 1, p 4 } {p 2, p 3 } s 1 s 2 s 0 {p 1, p 2 } {p 1, p 2 } Vastaus siihen, päteekö kaava a saavutettavuusgraafissa G saadaan laskemalla tilakoneiden B( a) ja B(G) leikkaus eli tulo. Kaava pätee, jos leikkaustilakone on tyhjä.

T-79.179: Aikalogiikka 5-14 Mallintarkastus (4/4) Tarkastetaan kaava a = p 5 edellisen kalvon saavutettavuusgraafissa. Muodostetaan B( a) = B( p 5 ) = B( p 5 ): t p 5 eli edellisen kalvon B(G):n aakkosia käyttäen t {p 1, p 2 },{p 2, p 3 },. {p 1, p 4 },{p 3, p 4 } Lasketaan tulo B( a) B(G). Kas mokomaa, se ei olekaan tyhjä! Kaavalle p 5 on kaksi vastaesimerkkiä: {p 1, p 2 } t 1 {p 2, p 3 } t 2 {p 3, p 4 } {p 3, p 4 } {p 1, p 2 } t 2 {p 1, p 4 } t 1 {p 3, p 4 } {p 3, p 4 } Alkuperäisessä mallissa tila {p 3, p 4 } on lukkiuma, mutta Büchiautomaattiin on tehty silmukka, jotta suoritukset olisivat äärettömiä. {p 3, p 4 } t,s 3 {p 1, p 4 } {p 2, p 3 } t,s 1 t,s 2 {p 1, p 2 } {p 1, p 2 } t,s 0

T-79.179: Aikalogiikka 5-15 MARIA-työkalu mallintarkastimena MARIA-työkalu tarkastaa ominaisuuksien pätevyyden samalla, kun se muodostaa mallin saavutettavuusgraafia. Jos annettu ominaisuus ei päde, MARIA esittää sille vastaesimerkin eli sellaisen alkutilasta lähtevän siirtymäketjun, jolle ominaisuus ei päde. Aikaa säästyy siihen verrattuna, että saavutettavuusgraafia ruvettaisiin tutkimaan vasta sitten, kun se on saatu kokonaan muodostetuksi. Yksinkertaisimpien turvallisuusominaisuuksien tarkastamiseen ei kannata käyttää LTL:n raskasta koneistoa. MARIA-kielen reject-kaavalla voidaan esittää kielletyt tilat ehtolauseena. Lukkiumien tunnistamista varten voi kirjoittaa deadlock-kaavan. Tarkastettavat LTL-kaavat syötetään MARIA-kyselykielellä eikä osana mallia, niin kuin reject- ja deadlock-kaavat. Koska LTL käsittelee äärettömiä suorituksia, se ei tunne lukkiuman käsitettä. Lukkiumatilat lakaistaan maton alle kuvittelemalla niihin samaan tilaan johtavat silmukat.

T-79.179: Aikalogiikka 5-16 LTL:n laajennuksia (1/2) Joskus on tarvetta puhua aikaväleistä: "ennen kuin", "kunnes": M = s (aub) s,t R : M = t b u S, s,u R, u,t R : (M = u a u = t) Vaatimus siitä, ettei vastausta v tule ennen kysymystä k, voidaan kirjoittaa v ( v) U k. Kaava ( q U p) p tarkoittaa, että sellaista tilaa, jossa q pätee, pitää edeltää sellainen tila, jossa p pätee. Konnektiivi U on konnektiiveja ja "vahvempi", koska a Ua ja a ( U a).

T-79.179: Aikalogiikka 5-17 LTL:n laajennuksia (2/2) Usein tarvitaan konnektiivia "seuraavassa tilassa": Tälle konnektiiville pätee: M = s a M = t a, missä s,t R a a a a a a aub b (aub) Näiden avulla saadaan seuraavat "laskentasäännöt": a a a ( a a) a a a a (a a) a

T-79.179: Aikalogiikka 5-18 LTL:n ilmaisuvoiman rajallisuus (1/2) Olkoon ominaisuus p, joka pätee alkutilasta lähtevien polkujen jokaisessa parillisessa tilassa. Parittomissa tiloissa sen totuusarvosta ei sanota mitään: 0 1 2 3 4 5 6 7 8 9 10... s 1 = p p p p p p p p p p p... s 2 = p p p p p p p p p p p... Esimerkiksi seuraavat polut rikkovat kyseistä vaatimusta vastaan: 0 1 2 3 4 5 6 7 8 9 10... s 3 = p p p p p p p p p p p... s 4 = p p p p p p p p p p p...

T-79.179: Aikalogiikka 5-19 LTL:n ilmaisuvoiman rajallisuus (2/2) Esimerkiksi seuraavat kaavat eivät erottele esitettyjä polkuja halutulla tavalla: p (p p) ( p p) p (p p) Toinenkin, hieman yleisempi tulos pätee: Sellaisella kaavalla, jossa on tilakaavoja ja enintään n konnektiivia, on sama totuusarvo kaikille jonoille missä k > n. σ k = p, } p,... {{ p }, p, p, p,..., k kpl

T-79.179: Aikalogiikka 5-20 Viitteitä 1. Z. Manna ja A. Pnueli: The Temporal Logic of Reactive and Concurrent Systems: Specification. Aikalogiikan käyttäminen järjestelmien spesifiointiin; tarkistaminen todistamalla. 2. P. Wolper: Temporal Logic. Chapter 4 in A. Thayse, From Modal Logic to Deductive Databases. Mallintarkastusalgoritmit. 3. J. Esparza ja S. Merz: Model Checking (luentokalvot). Johdanto LTL:ään, CTL:ään ja mallintarkastusalgoritmeihin.

T-79.179: Aikalogiikka 5-21 Esimerkki: keskinäisen poissulkevuuden algoritmi Tarkastetaan aikalogiikalla seuraava algoritmi: Pääsylippualgoritmi: Jaetussa muuttujassa on pari seuraava, vuorossa, jonka osat voivat saada arvoja {1,...,n}, alussa 1,1. Parin ensimmäinen puolisko esittää seuraavaa pääsylippua kriittiseen lohkoon, ja toinen sitä lippua, jolla on viimeksi päässyt kriittiseen lohkoon. Kun prosessi aloittaa kriittiseen lohkoon pyrkimisen, se ottaa jonotusnumeron tai pääsylipun lukemalla puoliskon seuraava ja kasvattamalla sitä mod n. Prosessi pääsee kriittiseen lohkoon, kun sen hallitseman lipun numero täsmää vuorossa-komponentin kanssa. Poistuessaan kriittisestä lohkosta prosessi kasvattaa muuttujaa vuorossa mod n. Nancy A. Lynch: Distributed Algorithms, 1996, ISBN 1-55860-348-4

T-79.179: Aikalogiikka 5-22 Pääsylippualgoritmin korkean tason verkko jouten aloita pyrkii A [x] [x] [x] [x] ϕ [ x,l ] siirry ϕ x [ x,s ] liput [ x,l ] [ s,v 1 ] poistu [ s,v ] [ x,l ] [ x,0 ] A {0} a,a vuoro [x] [ s 1,v ] [ s,v ] (s v)[x] (l v)[x] tarkkailee [ s,v ] ϕ x koeta (l=v)[x] [x] (s = v)[x] kriittinen

T-79.179: Aikalogiikka 5-23 Tarkastettavia pääsylippualgoritmin ominaisuuksia Olkoon G pääsylippualgoritmin kahden prosessin mallin (A = {1, 2}) saavutettavuusgraafi. Siitä voidaan tarkastaa seuraavat ominaisuudet: Kriittisessä lohkossa on enintään yksi prosessi: G = (kriittinen(1) kriittinen(2)) On olemassa suoritus, jossa prosessi pääsee kriittiseen lohkoon (haetaan vastaoletuksen vastaesimerkki): G = kriittinen(1) tai G = kriittinen(2) Jos prosessi haluaa kriittiseen lohkoon, se pääsee sinne lopulta (tämä ei päde!): G = (pyrkii(1) kriittinen(1)) tai G = (pyrkii(2) kriittinen(2)). Viimeinen ominaisuus ei päde esimerkiksi sellaisessa suorituksessa, jossa toinen prosessi ensin pääsee kriittiseen lohkoon ja toinen "jää rannalle". Nyt, jos kriittiseen lohkoon päässyt prosessi poistuu ja yrittää uudelleen, se ei pääse etenemään, ellei rannalle jääneen prosessin suorittamista jatketa. Tarvitaan reiluusoletuksia.

T-79.179: Aikalogiikka 5-24 Reiluus (1/3) Jos järjestelmä voi edetä loputtomiin suorittamatta jotakin vireessä olevaa siirtymää, järjestelmän saavutettavuusgraafissa on sellaisia äärettömiä polkuja, joissa kyseistä siirtymää "sorretaan"loputtomasti. Näiden asioiden kuvaamiseksi on kehitetty reiluuden käsitteitä äärettömän mittaisille suorituksille: heikko reiluus: jatkuvasti virittynyt siirtymä laukeaa äärettömän usein ( v l) vahva reiluus: äärettömän usein vireeseen tuleva (mahdollisesti silloin tällöin vireestä poistuva) siirtymä laukeaa äärettömän usein ( v l) Yksittäinen reiluusoletus voi koskea yhtä siirtymää tai siirtymäjoukkoa. Jälkimmäisessä tapauksessa edellytetään, että jos siirtymäjoukossa on aina (tai äärettömän usein) virittyneitä siirtymiä, jokin joukkoon kuuluva siirtymä laukaistaan äärettömän usein. Jos tehdään useita reiluusoletuksia, sallittujen vastaesimerkkien on kohdeltava kunkin reiluusjoukon siirtymiä reilusti edellä mainitulla tavalla.

T-79.179: Aikalogiikka 5-25 Reiluus (2/3) MARIA-työkalussa on mahdollista määritellä reiluusjoukkoja sekä saman siirtymän eri muuttujasidonnoille että useiden siirtymien erilaisille muuttujasidonnoille. Jotta kaavat G = (pyrkii(x) kriittinen(x)) pätisivät kaikille 1 x n, tarvitaan n + 1 heikkoa reiluusoletusta, missä n = A on prosessien määrä. Joukko ϕ: Siirtymälle "poistu" on oletettava heikko reiluus. Kaikki siirtymän muuttujasidonnat kuuluvat samaan joukkoon. Toisin sanoin: jos siirtymä "poistu" on aina vireessä, se on suoritettava äärettömän usein. Joukot ϕ x : Siirtymille "siirry" ja "koeta" on oletettava heikko reiluus kullekin muuttujan x sidonnalle. Toisin sanoin: jos prosessin x (1 x n) on jatkuvasti mahdollista suorittaa joko "siirry" tai "koeta", sen on tehtävä niin äärettömän usein.

T-79.179: Aikalogiikka 5-26 Reiluus (3/3) Reiluusoletukset on luontevinta määritellä suoraan tapahtumajoukoille. MARIA on ensimmäinen korkean tason verkkojen työkalu, jossa niin voi tehdä. Perinteisesti reiluusoletukset on täytynyt esittää osana tarkastettavaa kaavaa, esimerkiksi (( v 1 l 1 ) ( v n l n )) (pyrkii(x) kriittinen(x)). Tämä on äärimmäisen tehotonta kahdestakin syystä: 1. LTL-kaavasta syntyvässä Büchi-tilakoneessa on pahimmassa tapauksessa eksponentiaalinen määrä tiloja ja kaaria kaavan konnektiivien määrään nähden. 2. Tarkastettavaa mallia on usein täydennettävä: voidaan tarvita ylimääräisiä paikkoja (ja pahimmassa tapauksessa moninkertaisesti tiloja saavutettavuusgraafiin), jotta kyetään esittämään vaatimus siirtymän laukeamisesta sekä mallintamaan vuorontaja (scheduler).

T-79.179: Aikalogiikka 5-27 Turvallisuusominaisuuksista Elävyysominaisuuksista on mielekästä puhua vain, kun suoritukset ovat äärettömän mittaisia eli järjestelmän saavutettavuusgraafissa on silmukoita (tai graafi on ääretön). Turvallisuusominaisuuksia on huomattavasti kevyempää tutkia ilman Büchi-tilakoneita. Aina, kun löydetään uusi tila, voidaan tarkastaa, täyttääkö se vaatimukset. Joskus voidaan suoraan hyödyntää mallinnuskielen virheenkäsittelyrutiineja. Esimerkiksi kuvattaessa pääsylippualgoritmi MARIA-kielellä voidaan asettaa paikan "kriittinen" sallituksi merkkimääräksi 0..1, jolloin määrän ylityksestä tulostuu virheilmoitus. LTL:llä voidaan ilmaista muitakin turvallisuusominaisuuksia kuin p. LTL:n turvallisuusosajoukko voidaan kääntää tavallisiksi äärellisiksi tilakoneiksi, jolloin mallintarkastus onnistuu pelkkiä tiloja tutkimalla, ilman silmukoiden ja reiluuden tarkastelua.