5. Ekvivalenssit ja veriointi. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

Samankaltaiset tiedostot
2 Tilasiirtymäsysteemit Vuorottelevan bitin protokolla Asiakas/palvelin-systeemi Tilasiirtymäsysteemin määritelmä...

Kuvausta f sanotaan tällöin isomorfismiksi.

Olkoon. M = (Q, Σ, δ, q 0, F)

Olkoon. äärellinen automaatti. Laajennetaan M:n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 5 Demonstraatiotehtävien ratkaisut. ja kaikki a Σ ovat säännöllisiä lausekkeita.

2.6 SÄÄNNÖLLISET LAUSEKKEET Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

Q = {q 1, q 2, q 3, q 4 } Σ = {a, b} F = {q 4 },

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

Automaatin tunnistama kieli on sen hyväksymien merkkijonojen joukko. Täsmällinen muotoilu: δ,q 0,{q 2,q 3,q 6 }), missä

Riemannin integraalista

Säännöllisten operaattoreiden täydentäviä muistiinpanoja

2.2 Automaattien minimointi

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

LINSSI- JA PEILITYÖ TEORIAA. I Geometrisen optiikan perusaksioomat

OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA

Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

Matematiikan tukikurssi

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

II.1. Suppeneminen., kun x > 0. Tavallinen lasku

5 Epäoleellinen integraali

Riemannin integraali

Matematiikan johdantokurssi, syksy 2017 Harjoitus 6, ratkaisuista. 1. Onko jokin demojen 5 tehtävän 3 relaatioista

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko

2.1 Vaillinaiset yhtälöt

Diskreetin matematiikan perusteet Laskuharjoitus 6 / vko 13

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

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

Määritelmä Olkoon C R m yksinkertainen kaari ja γ : [a, b] R m sen yksinkertainen parametriesitys, joka on paloittain C 1 -polku.

3 Mallipohjainen testaus ja samoilutestaus

Ristitulo ja skalaarikolmitulo

1. Derivaatan Testi. Jos funktio f on jatkuva avoimella välillä ]a, b[ ja x 0 ]a, b[ on kriit. tai singul. piste niin. { f (x) > 0, x ]a, x 0 [

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

Sinilause ja kosinilause

11. MÄÄRÄTTY INTEGRAALI JA TILAVUUS

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause

Kognitiivinen mallintaminen I, kevät Harjoitus 1. Joukko-oppia. MMIL, luvut 1-3 Ratkaisuehdotuksia, MP

Käydään läpi: ääriarvo tarkastelua, L Hospital, integraalia ja sarjoja.

4.7.2 Testerit. Test ok. virhe vast.ota. lähetä τ. virhe. virhe. vast.ota. τ τ. vast.ota. lähetä. lähetä. lähetä ok

Numeeriset menetelmät TIEA381. Luento 9. Kirsi Valjus. Jyväskylän yliopisto. Luento 9 () Numeeriset menetelmät / 29

Integraalilaskentaa. 1. Mihin integraalilaskentaa tarvitaan? MÄNTÄN LUKIO

Paraabelikin on sellainen pistejoukko, joka määritellään urakäsitteen avulla. Paraabelin jokainen piste toteuttaa erään etäisyysehdon.

Neliömatriisin A determinantti on luku, jota merkitään det(a) tai A. Se lasketaan seuraavasti: determinantti on

TAMPEREEN YLIOPISTO Valinnaisten opintojen syventäviin opintoihin kuuluva tutkielma. Lauri Kumpulainen. Büchin automaateista

MS-A010{2,3,4,5} (SCI,ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

Kertymäfunktio. Kertymäfunktio. Kertymäfunktio: Mitä opimme? 2/2. Kertymäfunktio: Mitä opimme? 1/2. Kertymäfunktio: Esitiedot

Reaalinen lukualue. Millainen on luku, jossa on päättymätön ja jaksoton desimaalikehitelmä?

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

Painopiste. josta edelleen. x i m i. (1) m L A TEX 1 ( ) x 1... x k µ x k+1... x n. m 1 g... m n g. Kuva 1. i=1. i=k+1. i=1

7 Funktiosarjoista. 7.1 Funktiosarjojen suppeneminen

Matematiikan tukikurssi

10. MÄÄRÄTYN INTEGRAALIN KÄYTTÖ ERÄIDEN PINTA-ALOJEN LASKEMISESSA

TEHTÄVÄ 1. Olkoon (f n ) jono jatkuvia funktioita f n : [a, b] R, joka suppenee välillä [a, b] tasaisesti kohti funktiota f : [a, b] R.

Vuokrahuoneistojen välitystä tukeva tietojärjestelmä.

2.4 Pienimmän neliösumman menetelmä

Esimerkki 8.1 Määritellään operaattori A = x + d/dx. Laske Af, kun f = asin(bx). Tässä a ja b ovat vakioita.

AUTOMAATTIEN SYNKRONISAATIOSTA

Suorat, käyrät ja kaarevuus

1.3 Toispuoleiset ja epäoleelliset raja-arvot

3 Integraali ja derivaatta

Syksyn 2015 Pitkän matematiikan YO-kokeen TI-Nspire CAS -ratkaisut

VEKTOREILLA LASKEMINEN

SARJAT JA DIFFERENTIAALIYHTÄLÖT Funktiojonot 1

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

6 Integraalilaskentaa

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Polynomien laskutoimitukset

x k 1 Riemannin summien käyttö integraalin approksimointiin ei ole erityisen tehokasta; jatkuvasti derivoituvalle funktiolle f virhe b

Lyhyt johdatus joukko-oppiin ja relaatioihin

Analyysi 2. Harjoituksia lukuihin 1 3 / Kevät Anna sellainen välillä ] 2, 2[ jatkuva ja rajoitettu funktio f, että

Kieli, merkitys ja logiikka, kevät 2011 HY, Kognitiotiede. Vastaukset 2.

Digitaalinen videonkäsittely Harjoitus 5, vastaukset tehtäviin 25-30

4 Taso- ja avaruuskäyrät

sin θ θ θ r 2 sin 2 θ φ 2 = 0.

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

4 DETERMINANTTI JA KÄÄNTEISMATRIISI

PRO GRADU -TUTKIELMA. Eeva Mäkelä. Hiloista ja Boolen algebroista

MITEN MÄÄRITÄN ASYMPTOOTIT?

7.lk matematiikka. Geometria 1

VEKTOREILLA LASKEMINEN

θ 1 θ 2 γ γ = β ( n 2 α + n 2 β = l R α l s γ l s 22 LINSSIT JA LINSSIJÄRJESTELMÄT 22.1 Linssien kuvausyhtälö

58131 Tietorakenteet ja algoritmit (kevät 2015) Toinen välikoe, malliratkaisut

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

763333A KIINTEÄN AINEEN FYSIIKKA Ratkaisut 1 Kevät 2014

Pinta-alan laskeminen

ANALYYSI I, kevät 2009

Numeerinen integrointi

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa II

a = x 0 < x 1 < x 2 < < x n = b f(x) dx = I. lim f(x k ) x k=1

1. Yhtälöiden ratkaisemisesta Olkoon f välillä [a, b] jatkuva funktio, jolle f(a) f(b) < 0. Bolzanon lauseen [A1]

5 Riemann-integraali ANALYYSI B, HARJOITUSTEHTÄVIÄ, KEVÄT Ala- ja yläintegraali

Vastaa tehtäviin 1-4 ja valitse toinen tehtävistä 5 ja 6. Vastaat siis enintään viiteen tehtävään.

ANALYYSI I, kevät 2009

Y56 Mikron jatkokurssi kl 2008: HARJOITUSTEHTÄVÄT 2 Mallivastaukset

Sähkömagneettinen induktio

Riemannin integraalista

2.4. Juurifunktio ja -yhtälöt

Sarjaratkaisun etsiminen Maplella

Transkriptio:

5. Ekvivlenssit j veriointi Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 1

5.1. Plvelun kuvukset Hjutetun järjestelmän prosessien kuvuksist voidn meknisesti generoid yhteistilverkko. Jos verkko on pienehkö, lle miljoon til, on mhdollist käydä verkko systemttisesti läpi j etsiä virheitä: Lukkiumi Eläviä lukkiumi (solmust ei ole polku perussykliin) On kuitenkin melko vike tällä tvoin löytää kikki virheitä. Millisi virheitä? Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 2

Snomi voi kdot, vikk ei jouduttisikn lukkiumiin Sm snom voidn luovutt kksi kert käyttäjälle Mitä voidn tehdä, jos verkko on liin suuri ti ääretön? Stunniskulku verkoss Jos spesiktioss on virhe, se yleensä esiintyy moness kohdss verkko (lomitussemntiikk!). Vikk solmuist käytäisiin läpi vin 5%, pljstuu kokemuksen mukn suurin os virheistä. Jos kuitenkin hlutn verioid spesiktio täydellisemmin, trvitn toisenlinen lähestymistp. Prosessilgebrojen yhteydessä tvllisimmin käytetään ekvivlensseihin j Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 3

temporlilogiikkn perustuvi veriointimenetelmiä. Käsittelemme tällä kurssill lähinnä ekvivlenssimenetelmää. Ekvivlenssiin perustuvss verioinniss keskeinen käsite on plvelun kuvus. Tällä trkoitetn siirtymäsysteemiä, jok kuv sitä plvelu, jonk protokoll nt käyttäjälle (ympäristölle, hvitsijlle). Esimerkki: AB-protokoln plvelunkuvus AB-protokoll trjo tiedonsiirtoplvelun. Protokoll ott vst dtpkettej ympäristöltä (ylemmältä kerrokselt) get-snomss j välittää ne vstnottvlle ospuolelle (ylempi kerros, ympäristö) give-snomll. Miten AB-protokolln plvelu voidn kuvt? AB_P1 get AB_P2 give Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 4

Ekvivlenssiin perustuvss verioinniss verrtn nyt vrsinisen AB-protokolln yhteistilverkko plvelukuvuksen verkkoon. Jos ne ovt tietyssä mielessä smoj, AB-protokoll voidn pitää oiken, ts. se tekee sen, mitä sen odotetn tekevän. Verkkojen vertiluss täytyy selvästikin bstrhoid jomp kump ti molempi verkkoj. Ekvivlenssin määrittelyssä päätetään, millä trkkuustsoll verkkoj vertilln. Esimerkki: Asiks/plvelin-systeeminä Trkstelln sellist siks/plvelin-systeemiä, joss sikkit on 4. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 5

Asiks C i siirtymäsysteeminä (Alkutil on C1 pitsi C 1 :ssä C2): t(i+1) C4 bci C1 ti C2 csi C3 bci C5 t(i+1) Plveluprosessi S j puskuriprosessi B i : S1 cs1 sb1 sbn cs2 Sn S0 S2.. csn sb3. S3 cs3 sb2 B1 sbi bci B2 Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 6

Millinen on koko systeemiä vst rinnkkisoperttorin vull nnettu prosessiluseke? SystemRR := Server [cs1, sb1, cs2, sb2, cs3, sb3, cs4, sb4] ((Client1 [bc1] Buffer1 ) [t1, t2] ((Client2 [bc2] Buffer2 ) [t3] ((Client3 [bc3] Buffer3 ) [t4] (Client4 [bc4] Buffer4 )))) Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 7

Oletetn nyt, että meitä kiinnost round robin- peritteen toteutuminen systeemissä. Perite toteutuu, jos ti:t tphtuvt järjestyksessä t2, t3, t4, t1. Millinen prosessi kuv round robin- peritett? t1 t2 t3 t4 RR1 RR2 RR3 RR4 Voisimme nyt generoid prosessin SystemRR yhteistilverkon j selvittää, tphtuvtko ti:t minituss järjestyksessä. Jos emme hlu tutki verkko käsin, meidän pitäisi kirjoitt ohjelm, jok selvittäisi sin. Tähän kuluisi ik. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 8

Nopempi menetelmä on verrt prosessi SystemRR prosessiin RR. Siis round robin- perite toteutuu systeemissä, jos prosessin SystemRR toimint sopivsti bstrhoitun vst prosessin RR toimint. Tässä tpuksess sopiv bstrktio on sellinen, että muutetn kikki muut tphtumt näkymättömiksi tphtumiksi τ lukuunottmtt tphtumi t1, t2, t3 j t4. Jos tämän muutoksen jälkeen kuljetn polkuj prosessin SystemRR yhteistilverkoss, niin tphtumien ti tulisi esiintyä poluill RR:n järjestyksessä, eikä muit näkyviä tphtumi esiinnny linkn. Prosessilgebrojen vhvn puolen on, että voidn määritellä täsmällisesti useit eri trkoituksiin soveltuvi ekvivlenssej, jotk voidn tehokksti lske prosessilgebrllisesti määritellyille prosesseille. Yksinkertisin ekvivlenssi suoritusjälkiekvivlenssi. Eräs perustvimmist ekvivlensseist on heikko bisimultioekvivlenssi, jok riittää useimpiin trkoituksiin. Se on tehokksti lskettviss j se on yleensä toteutettu kikiss yleiskäyttöisissä veriointiohjelmistoiss. Käsittelemme tällä kurssill pelkästään näitä Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 9

ekvivlenssej. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 10

5.2. Reltiot Reltion määritelmä Olkoon A j B joukkoj. Jokist joukko R A B snotn reltioksi joukost A joukkoon B. Joukko M R = { x A y B siten että (x, y) R } on reltion R määrittelyjoukko j joukko A R = { y B x A siten että (x, y) R } sen rvojoukko. Jos R A A, toisin snoen jos R on reltio joukost A joukkoon A, niin snotn lyhyemmin, että R on joukon A reltio. Jos R on joukon A reltio j jos (x, y) R, niin yleensä merkitään xry. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 11

Ekvivlenssireltiot Määritellään ensin muutmi käsitteitä, joist on hyötyä ekvivlenssireltion käsittelyssä. Joukot A j B ovt lkioviert, jos A B =. Jos I on joukko, jonk lkiot ovt joukkoj, niin I on lkioviers, jos kksi joukkoon I kuuluv joukko ovt in lkioviert. Joukon X osjoukkojoukko H on joukon X ositus, jos se täyttää seurvt ehdot: H1. Jokinen A H on epätyhjä, H2. H:n joukkojen yhdiste on X, H3. H on lkioviers. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 12

Osituksell on läheinen yhteys ekvivlenssireltioon, jok määritellään seurvss. Määritelmä 1. Joukon X reltio R on ekvivlenssi, jos se täyttää seurvt ehdot: E1. R jokisell X (reeksiivisyys); E2. jos Rb, niin myös br (symmetrisyys); E3. jos Rb j brc, niin myös Rc (trnsitiivisuus). Jos X, niin joukko R() = {x X Rx} on lkion ekvivlenssiluokk ekvivlenssin R suhteen. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 13

Luse. Jos R on joukon X ekvivlenssi, niin sen kikkien eri ekvivlenssiluokkien joukko X/R on joukon X ositus. Joukon X lkioille j b on Rb in j vin kun j b kuuluvt smn ekvivlenssiluokkn. Todistus. Olkoon X. Kosk R, niin R(). Tästä seur, että jokinen ekvivlenssiluokk on epätyhjä j että ekvivlenssiluokkien yhdiste on X. Ehdon H3 osoittmiseksi riittää näyttää, että kksi nnettu R-ekvivlenssiluokk ovt joko identtiset ti lkioviert. Oletetn sitä vrten, että R() R(b), jolloin on olemss lkio c R() R(b). Olkoon x R() eli Rx. Kosk c R(), niin Rc j siis myös cr, sillä ekvivlenssireltio on symmetrinen. Kosk cr j Rx, niin trnsitiivisuuden perusteell crx. Kosk c R(b), on toislt brc. Stu tulos osoitt, että R() R(b). Täsmälleen smll tvll nähdään, että R(b) R(). Näinollen R() = R(b) j kikkien R-ekvivlenssiluokkien joukko on siis joukon X ositus. Olkoon Rb. Tällöin b R(), joten j b kuuluvt smn ekvivlenssiluokkn R(). Oletetn kääntäen, että j b kuuluvt smn ekvivlenssiluokkn R(c). Tällöin R(c) R() j siis R(c) R(), joten luseen lkuosn nojll R(c) = R(). Tästä seur, että b R(c) = R() eli Rb. Myös jälkimmäinen väite on siten oike. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 14

Luse. Olkoon H joukon X ositus. Jos joukon X lkioille setetn R H b in j vin kun j b kuuluvt smn joukkoon U H, niin R H on sellinen joukon X ekvivlenssi, että kikkien R H -ekvivlenssiluokkien joukko on H. Todistus. Olkoon X. Kosk H on joukon X ositus, on olemss joukko U H, joll U. Nyt j kuuluvt smn osituksen joukkoon U, joten R H. Eli reeksiivisyys on osoitettu. Olkoon R H b. Tällöin j b kuuluvt smn joukkoon U H j siis myös br H. Eli symmetrisyys on osoitettu. Olkoon sitten R H b j br H c. Tällöin on olemss selliset joukot U j V H, että j b U sekä b j c V. Kosk v U V, on U V j siis U = V, kosk H on lkioviers. Näinollen j c kuuluvt smn joukkoon U = V H, joten R H c. Trnsitiivisuus on siten osoitettu j R H on siis ekvivlenssireltio. Olkoon R H () mielivltinen R H -ekvivlenssiluokk. Kosk H:n joukkojen yhdiste on X, on olemss sellinen U H että U. Jos x U, niin j x kuuluvt smn joukkoon U H, joten R H x eli x R H (). Olkoon kääntäen x R H () eli R H x. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 15

Tällöin j x kuuluvt smn joukkoon V H. Kosk U V, on U V j siis U = V, kosk H on lkioviers. Näinollen x V = U. Sdut tulokset osoittvt, että R H () = U. Kääntäen, jos U H, niin U. Jos U, niin edellisen tuloksen nojll R H () H. Kosk R H () U, niin on siis U = R H (). Näinollen yhtyy kikkien R H -ekvivlenssiluokkien joukko joukkoon H. Trnsitiivinen sulkeum Olkoon R reltio joukoss V. Reltion potenssit määritellään seurvsti: R 0 = {(, ) V }, R 1 = R, R 2 = {(, c) b V : Rb j brc}, R n = R(R n 1 ), n > 2. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 16

Trnsitiivinen sulkeum määritellään nyt reltion potenssien vull. Reltion R reeksiivinen trnsitiivinen sulkeum R on joukko R = i=0 R i, j trnsitiivinen sulkeum R + on joukko R + = i=1 R i. Purkmll uki määritelmiä nähdään, että R b, jos on olemss V :n lkiot = c 1, c 2,, c n = b, joill c i Rc i+1, i = 1,, n 1. Reltio R joukoss V voidn esittää suorviivisesti suunnttun verkkon: verkon solmujoukko on V jos Rb, niin (, b) on verkon kri. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 17

Millinen hvinnollinen tulkint verkoss on trnsitiivisell sulkeumll? Nimittäin R + trkoitt kikki sellisi prej (, b) V V, että :st on polku b:hen verkoss R. Vstvsti R on R + lisättynä krill jokisest solmust solmuun itseensä. Trnsitiivisen sulkeumn lskentongelm:on nnettu reltio R verkkon. Lske R + ti R verkkon. Reltion verkkoesitys voi perustu joko vierusmtriisiin ti vieruslistn. Trkstelln ensin vierusmtriisiesitystä. Eräs prhiten tunnettuj trnsitiivisen sulkeumn lskent-lgoritmej on Wrshllin lgoritmi. Siinä oletetn, että reltio on nnettu n n-vierusmtriisin M. Algoritmiss muodostetn mtriisi C, jok kuv trnsitiivist sulkeum. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 18

Wrshll(M) begin 1. C := M; 2. for i := 1 to n do C[i,i] := true; end for; // rivi 2 jää pois, jos lsketn vin trnsitiivist sulkeum. 3. for k := 1 to n do 4. for i := 1 to n do 5. for j := 1 to n do 6. if C[i,k] = true j C[k,j] = true then C[i,j] := true; end if; end for; end for; end for; end. Luse 1. vtii jn O(n 3 ) j tiln O(n 2 ). Wrshllin lgoritmi lskee oikein reeksiivisen trnsitiivisen sulkeumn j Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 19

Miksi vierusmtriisiesitys ei ole yleensä järkevä vlint? Moniss sovelluksiss verkko on vrsin suuri j hrv. Miten trnsitiivinen sulkeum lsketn vieruslistesityksen perusteell? Aloitetn syvyyssuuntinen etsintä verkon jokisest solmust j vedetään kri loitussolmust jokiseen svutettvn solmuun. Tällisen menetelmän ikvtimus on O( V ( E + V )) eli sm kuin Wrshllin lgoritmiss, jos verkko on lähes täydellinen ( E = V 2 ). Mikä hidst tätä lähestymistp? Ongelmn tässä yksinkertisess lähestymistvss on se, että smoj reittejä stetn kulke moneen kertn. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 20

Tehokkmpn tulokseen päästään, jos vhvsti yhtenäiset komponentit otetn huomioon. Komponentin sisällä trnsitiivisen sulkeumn kret ovt jokisen solmuprin välillä. Sen jälkeen trvitsee tutki kret komponenttien välillä. Ide on suorviivinen, mutt tähän iden perustuvt lgoritmit näyttävät olevn melko monimutkisi. Yhtenä syynä on, että vhvsti yhtenäisten komponenttien etsintälgoritmi on monimutkinen, erityisesti oikeellisuustodistuksens oslt. Tällä kurssill nämä kehittyneemmät sulkeum-lgoritmit sivuutetn. Minitn vin muutmien lgoritmien viitteet: Eve j Kurki-Suonio, On computing the trnsitive closure of reltion. Act Informtic 8, 303-314, 1977. Eräs ensimmäisiä sulkeum-lgoritmej, joiss on sovellettu vhvsti yhtenäisiä komponenttej. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 21

Nuutil, An ecient trnsitive closure lgorithm for cyclic digrphs. Informtion Processing Letters 52, 207-213, 1994. Esimerkki uudemmst sulkeumtutkimuksest. Sippu, Soislon-Soininen, Prsing Theory, 37-60, Springer-Verlg 1988. Kirjtson esitys tehokkst sulkeum-lgoritmist. Trnsitiivisen sulkeumn lskeminen etukäteen ei in ole välttämätöntä, vikk sovelluksess sulkeum trvittisiinkin. Joisskin tilnteiss sulkeum voidn lske lennost (on the y). Tämä trkoitt, että kun trvitn sulkeumn kri jostin solmust, käynnistetään syvyyssuuntinen etsintä tuost solmust j etsitään kikki trvittvt polut. Stt vikutt, että menetelmä on käyttökelvoton, vrsinkin jos joudutn käynnistämään etsintä smst solmust moneen kertn. Kuitenkin on sovelluksi, joiss tämä lähestymistp joht jop prempn tulokseen kuin sulkeumn lskeminen ennkolt. Konkreettisess tilnteess on siten nlysoitv huolellisesti, mikä lähestymistp on tehokkin. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 22

5.3. Suoritusjälkiekvivlenssi Yksinkertisin ekvivlenssi perustuu tphtumjonojen vertiluun. Olkoon A tphtumien joukko. Seurvss oletetn, että kikkien prosessien tphtumt kuuluvt tähän joukkoon. Määritelmä 2. Olkoon u (A\{τ}) tphtumjono. Jono u on prosessin P suori- = P jollkin prosessill P. Merkitään P :n kikkien suoritusjälkien tusjälki (trce), jos P u joukko symbolill tr(p ). Määritelmä 3. Prosessit P j Q ovt suoritusjälkiekvivlentit, P tr Q, jos tr(p ) = tr(q). Selvästi tr on ekvivlenssireltio. Se on myös kompositionlinen rinnkkisoperttorin suhteen. Eli jos P tr P j Q tr Q, niin P [ 1,, n ] Q tr P [ 1,, n ] Q (hrjoitustehtävä). Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 23

Jos P tr Q, niin P :ssä voi oll lukkiumi, vikk Q:ss ei niitä olisikn. Esimerkiksi prosessit P j Q ll ovt suoritusjälkiekvivlentit: P1 P2 b P3 b Q1 Q2 Q3 P4 c c Yleensä jtelln, että lukkiumt ovt kikkein vkvimpi virheitä hjutetuiss järjestelmissä. Tämän vuoksi suoritusjälkiekvivlenssi hrvoin tulee kysymykseen inon perusteen vertill protokoll j plvelu. Suoritusjälkiekvivlenssi pljst kuitenkin melko tehokksti muit virhetyyppejä. Lisäksi lukkiumt on helppo trkist jo verkon generoinnin yhteydessä. Siten suoritusjälkiekvivlenssi voidn käyttää hyväksi silloin tällöin. Tulemme soveltmn sitä tutkiessmme erilisi rtkisuj keskinäisen poissulkemisen ongelmn. Edel- Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 24

leeen suoritusjälkiekvivlenssi toimii lähtökohtn kokoniselle ekvivlenssiryhmälle, johon kuuluvt mm. testi- j estymäekvivlenssit. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 25

5.4. Heikko bisimultioekvivlenssi Tvoitteen on määritellä veriointiin sopiv ekvivlenssireltio siirtymäsysteemien joukkoon. Bisimultioekvivlenssi on Milnerin kehittelemä j Prkin viimeistelemä ekvivlenssi 70- j 80-lukujen vihteest. Jos P j Q ovt prosessej, niin ekvivlenssin iden on simuloid P :n näkyvien tphtumien suoritust Q:ss j päinvstoin. Jos simulointi onnistuu koko jn, prosessit ovt ekvivlenttej, muuten eivät. Täsmälliseen määritelmään trvitn pukäsitteitä. Olkoon tphtum, τ. Plutetn mieleen merkintä, että P = P, jos on olemss siirtymäketju τ P = P 1 P 2 P k τ τ τ τ P k+1 P k+2 P k+3 τ τ P k+m = P, k 1, m 0. Toisin snoen P = P, jos on olemss polku P :n lkutilst P :n lkutiln j yksi polun krist sisältää toiminon, muut, 0 ti usempi kri, τ :n. Voidn myös kirjoitt P ε = P Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 26

jos P = P ti on olemss τ -siirtymien ketju τ τ τ P = P 1 P 2 P k = P, k > 1. Merkinnästä P = P käytetään myös nimitystä heikko -siirtymä. P1 τ P2 P3 τ P6 b b τ P4 P5 P7 Esimerkki. Trkstelln yllä olev tilsiirtymäsysteemiä Sen tilst P 1 on mm. seurvt heikot siirtymät: P 1 ε = P 6, P 1 = P 2, P 1 = P 5, P 1 = P 7, P 1 b = P 7, P 1 ε = P 3, P 1 ε = P 1. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 27

Määritelmä. Olkoot P j Q prosessej j A P :n j Q:n toimintojen joukko. Prosessit P j Q ovt heikosti bisimilriset, P wbis Q, jos on olemss sellinen prosessipreist koostuv joukko R (heikko bisimultio), että kikill toiminnoill (A\{τ}) {ε} pätee: 1. (P, Q) R; 2. jos (P 1, Q 1 ) R j P 1 = P 2, niin on olemss Q 2, joll Q 1 = Q 2 j (P 2, Q 2 ) R; 3. jos (P 1, Q 1 ) R j Q 1 = Q 2, niin on olemss P 2, joll P 1 = P 2 j (P 2, Q 2 ) R. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 28

Esimerkki. Ovtko seurvt Prosessit heikosti bisimilriset P wbis Q? P1 b P2 P3 τ Q2 b Q1 Q3 b P4 b Prosessit ovt heikosti bisimilriset sillä R = {(P 1, Q1), (P 2, Q2), (P 3, Q3), (P 4, Q1)} on heikko bisimultio j (P, Q) R (P = P 1, Q = Q1). Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 29

Esimerkki. Ovtko seurvt prosessit heikosti bisimilriset? P1 b Q1 τ P2 P3 Q4 Q2 b Q3 Prosessit eivät ole heikosti bisimilriset. Jos nimittäin yritetään muodost heikko bisimultioreltio R, niin prin (P 1, Q1) täytyy kuulu reltioon. Käytetään seurvksi määritelmän ehto 3: Q tekee siirtymän tilst Q1 tiln Q2 sisäisellä tphtumll. Aino tp simuloid tätä P :n oslt on, että P pysyy tilss P 1. Siis prin (P 1, Q2) tulee kuulu myös reltioon R. Käytetään tämän jälkeen priin (P 1, Q2) määritelmän ehto 2: P siirtyy P 1:stä :ll P 2:een. Nytpä Q ei voikn simuloid tätä siirtymää, sillä Q2:st ei lähde yhtään -siirtymää. Siis heikko bisimultioreltiot ei voi oll olemss P :n j Q:n välillä, joten prosessit eivät ole heikosti bisimilriset. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 30

Esimerkki. Ovtko seurvt prosessit heikosti bisimilriset? P3 P5 b c P1 P2 τ P4 τ P6 d P7 Q5 Q7 b c Q2 τ Q6 τ Q8 d Q9 Q1 Q3 Q4 c τ d Q10 Q11 Q13 d Q12 Prosessit ovt heikosti bisimilriset j heikko bisimultio on seurv (P 1, Q1), (P 2, Q2), (P 4, Q3), (P 6, Q4), (P 3, Q5), (P 4, Q6), (P 5, Q7), (P 6, Q8), (P 7, Q9) (P 5, Q10), (P 6, Q11), (P 7, Q12), (P 7, Q13) Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 31

Luse. Reltio wbis on ekvivlenssireltio siirtymäsysteemien välillä. Todistus. On osoitettv, että reltio wbis on reeksiivinen, symmetrinen j trnsitiivinen. Reeksiivisuus trkoitt, että P wbis P kikill prosesseill P. Symmetrisyys trkoitt, että ehdost P wbis Q seur Q wbis P. Sekä reeksiivisuus että symmetrisyys seurvt suorn määritelmästä. On vielä näytettävä, että reltio on trnsitiivinen eli ehdoist P wbis Q j Q wbis R seur P wbis R. Olkoon R bisimultio P :n j Q:n välillä, S bisimultio Q:n j R:n välillä. Muodostetn prosessiprien joukko T seurvsti: T = {(P 1, R 1 ) Q 1 : (P 1, Q 1 ) R, (Q 1, R 1 ) S}. Osoitetn, että T on heikko bisimultio P :n j R:n välillä. T :n määritelmän perusteell (P, R) T. Olkoon (P 1, R 1 ) T mielivltinen j P 1 = P 2. Tiedetään, että on olemss Q 1, joll (P 1, Q 1 ) R j (Q 1, R 1 ) S. Kosk R j S ovt heikkoj Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 32

bisimultioit, on olemss myös prosessit Q 2 j R 2, joill Q 1 = Q 2 j (P 2, Q 2 ) R = R 2 j (Q 2, R 2 ) S. Mutt T :n määritelmän nojll (P 2, R 2 ) T, joten sekä R 1 ehto 2 heikon bisimultion määritelmässä on osoitettu. Ehto 3 osoitetn smll tvll. Merkitään P:llä prosessien eli äärellisten siirtymäsysteemien joukko. Reltio wbis määrittelee siis P:hen ekvivlenssireltion. Mtemtiikss joukon ekvivlenssireltio määritellään joukon krteesisen tulon itsensä knss osjoukkon. Siten tpuksessmme pitäisi oll wbis P P. Voidnkin määritellä, että wbis on mksimlinen bisimultio eli wbis = {R R on bisimultio}. Jos P on prosessi, niin P :n ekvivlenssiluokk [P ] wbis on niiden prosessien joukko, jotk ovt heikosti bisimilriset P :n knss. Ekvivlenssiluokt [P ] wbis muodostvt P:n Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 33

Minimiprosessi Jos P on siirtymäsysteemi (S, A,, s 0 ), niin jokist til s S voidn myös pitää siirtymäsysteeminä, jok on muuten sm kuin P pitsi että lkutiln on s. Voimme nyt rjoitt ekvivlenssin wbis joukkoon S S. Tällöin wbis on ekvivlenssireltio joukoss S j se jk S:n ekvivlenssiluokkiin. Voimme nyt muodost uuden siirtymäsysteemin, jonk tiloin ovt kyseiset ekvivlenssiluokt. Ekvivlenssiluokst on siirtymä :ll johonkin toiseen ekvivlenssiluokkn, jos luokn jostin tilst on siirtymä :ll toisen luokn johonkin tiln lkuperäisessä siirtymäsysteemissä. Näin stu siirtymäsysteemi on tilojen suhteen minimlinen niiden siirtymäsysteemien joukoss, jotk ovt heikosti bisimilrisi lkuperäisen siirtymäsysteemin knss. Esimerkiksi seurvt prosessit ovt ekvivlenttej j jälkimmäinen on minimlinen. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 34

P: τ P1 P2 P3 b P4 τ P5 τ τ τ τ P6 τ P7 P_min: τ τ P1 P2 P3 τ b Edellä olevss esimerkissä prosessin P tilojen ekvivlenssijoukot ovt E 1 = {P 1, P 5}, E 2 = {P 2, P 4, P 6, P 7} j E 3 = {P 3}. Piirtämällä kikki kret meknisesti ekvivlenssiluokst toiseen joht helposti tilnteeseen, joss on pljon turhi kri. Krten minimointi on monimutkisemp kuin tilojen minimointi. Asi on käsitelty 90-luvull Jn Elornnn väitöskirjss j rtikkeliss Elornt, Tienri, Vlmri: Essentil Trnsitions To Bisimultion Equivlences, Theoreticl Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 35

Computer Science 179 (1997) 397-419. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 36

Heikko bisimilrisuus j rinnkkisoperttori Heikko bisimultioekvivlenssi käyttäytyy hyvin rinnkkisoperttorin suhteen. Luse. Jos P wbis Q, niin P B R wbis Q B R kikill toimintojoukoill B j prosesseill R. Todistus. Olkoon R = {(P 1 B P 3, P 2 B P 3 ) P 1 wbis P 2 }. Osoitetn, että R on heikko bisimultio P B R:n j Q B R:n välillä. Kosk P wbis Q, pätee (P B R, Q B R) R. Olkoon P B R= P B R. Joudutn trkstelemn kht tpust. i) B. Nyt i j P = P, R= R. Kosk P wbis Q, on olemss bisimultio E P :n j Q:n välillä. Tällöin tiedetään heikon bisimultion määritelmän nojll, että on olemss sellinen Q, että Q= Q j (P, Q ) E. Siis myös P wbis Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 37

Q. Suorn nähdään, että Q B R = Q B R. Nyt R:n määritelmän perusteell (P B R, Q B R ) R. ii) B. Nyt joko P = P j R= R ti P = P j R= R. Huom, että voi oll ε. Jos P = P, niin myös Q= Q j P wbis Q, kuten nähtiin edellisessä kohdss. Siten Q B R= Q B R j (P B R, Q B R ) R. Jos ts R= R, P = P, niin myös tällöin on olemss Q, joll Q= Q j P wbis Q. Edelleen Q B R= Q B R. Myös nyt pätee (P B R, Q B R ) R. Siis R täyttää heikon bisimultion ehdot P B R:n siirtymien oslt. Smll tvll osoitetn Q B R:n siirtymien tpus j R:n mielivltisen lkion siirtymien tpus. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 38

5.5. Heikon bisimultion lskeminen Seurvss esitettävä lgoritmi lskee siirtymäsysteemin tilojen ekvivlenssijoukon. Algoritmi voidn käyttää myös khden erillisen prosessin P j Q ekvivlenssivertiluun. Nimittäin muodostetn yksi prosessi ottmll käyttöön uusi lkutil, jost vedetään τ - siirtymät P :n j Q:n lkutiloihin. Sen jälkeen lsketn, ovtko tässä prosessiss tilt P j Q ekvivlenttej. Jos ovt, ovt tietenkin myös vstvt prosessit ekvivlenttej. Heikon bisimultioekvivlenssin lskemist hllitsee jllisesti reltioiden = lskeminen. Yhden reltion = lskeminen on lähes sm si kuin sen liverkon trnsitiivisen sulkeumn lskeminen, jok koostuu pelkästään -krist. Tämähän vie phimmss tpuksess ik lähes O(n 3 ), missä n on tilojen lukumäärä. Käytännössä on osoittutunut, ettei tässä tpuksess knnt lske trnsitiivisi sulkeumi etukäteen, vn -polkuj etsitään trpeen mukn. Seurvss lgoritmiss ei kuitenkn otet knt, miten reltiot = määrätään. Esitämme lgoritmist yksinkertisemmn version. Monimutkisempi tietorkenteit soveltmll sdn ikn peritteess hiemn tehokkmpi lgoritmi, mutt trnsitiivisten sulkeumien lskeminen syö hyödystä suuren osn pois. Algoritmi perustuu Pigen j Trjnin rtikkeliin Three prtition renement lgorithms, Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 39

SIAM J. Computing 16 (6), 1987. Fernndezin rtikkeli An implementtion of n ecient lgorithm for bisimultion equivlence, Science of Computer Progrmming 13: 219-236, 1989, on prs esitys lgoritmin sovelluksest bisimultioekvivlenssin lskentn. Olkoon P = (S, A, T, s 0 ) siirtymäsysteemi. Algoritmiss lsketn tiljoukon S ositus ρ, jok edust lgoritmin loputtu ekvivlenssiluokki. Toisin snoen ekvivlenssiluokss olevt tilt ovt keskenään ekvivlenttej j ne voidn smst esimerkiksi minimiverkko muodostettess. Aluss ρ koostuu yhdestä joukost, tiljoukost S. Jos B on S:n osjoukko j toiminto, niin lgoritmiss käytetään merkintää T 1 [B] = {s S s= s, s B}. Merkintä I 1,2,B trkoitt joukkokokoelm {X T 1 [B] X I,B } {X \ T 1 [B] X I,B } j riveillä 4-9 lsketn operttorin Φ rvo Φ(ρ, ρ), jok määritellään seurvsti. Olkoon ρ = {B 1,, B n } perhe S:n osjoukkoj j ρ S:n ositus. Määritellään Φ(ρ, ρ) = (Φ B1 Φ Bn )(ρ), Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 40

missä Φ B = Φ 1,B Φ n,b, jos 1,, n ovt A:n lkioit, j Φ,B (ρ) = {X T 1 [B] X ρ} {X \ T 1 [B] X ρ}. Algoritmi lskee kuvuksen Φ(ρ) = Φ(ρ, ρ) mksimlisen kiintopisteen j se osoittutuu olevn mksimlinen bisimultio. Fernndezin esittämä lgoritmin oikeellisuustodistus on pitkällinen, mutt smll elegntti. Se on esitetty myös Aro Hllikisen pro grdu -tutkielmss vuodelt 1994. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 41

Algoritmi: Heikko bisimilrisuus. Input: Äärellinen prosessi P = (S, A, T, s 0 ). Output: S:n ositus ρ; se edust ekvivlenttej tiloj. 1. begin 2. W := {S}; ρ := {S}; 3. repet 4. choose nd remove ny B W ; 5. for ech ((A \ {τ}) {ε}) do 6. I,B := {X ρ X T 1 [B], X T 1 [B]}; 7. I 1,2,B 1 := {X T [B] X I,B } {X \ T 1 [B] X I,B }; 8. ρ := (ρ \ I,B ) I 1,2,B ; 9. W := (W \ I,B ) I 1,2,B ; 10. endfor; 11. until W = ; 12. end. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 42

Esimerkki. Sovelletn lgoritmi seurvn siirtymäsysteemiin: 0 1 2 b b b b 3 c 5 c 4 Aluss ρ = {{0, 1, 2, 3, 4, 5}}, W = {{0, 1, 2, 3, 4, 5}}. Sitten B = {0, 1, 2, 3, 4, 5} T 1 [B] = {0, 1, 2} I,B = {{0, 1, 2, 3, 4, 5}} I 1,2,B = {{0, 1, 2}, {3, 4, 5}} ρ = {{0, 1, 2}, {3, 4, 5}} Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 43

W = {{0, 1, 2}, {3, 4, 5}} T 1 b [B] = {0, 1, 2} I b,b = I 1,2 b,b = ρ = sm W = sm T 1 c [B] = {3, 4} I c,b = {{3, 4, 5}} I 1,2 c,b = {{3, 4}, {5}} ρ = {{0, 1, 2}, {3, 4}, {5}} W = {{0, 1, 2}, {3, 4}, {5}} Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 44

Tämän jälkeen ρ ei enää muutu, mutt lgoritmi tutkii siitä huolimtt vielä W :n joukot jokisell kolmell toiminnoll. Tehokkmmss versioss lgoritmi os rjt tutkittvi joukkoj premmin. Huomttkoon, että joukkojen T 1 [B] lskeminen stt τ -siirtymien muknolless vti pitkien polkujen tutkimist. Edellä olevss esimerkissä ei yksinkertisuuden vuoksi τ -siirtymiä ollut linkn. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 45

5.6. Esimerkkejä Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 46

5.6.1. AB-protokoll Trkstelln AB-protokolln versiot, joss on mukn snomt get j give. Tämä protokoll trjo ympäristölle plvelun, jok on yksinkertisesti kuvttviss: P1 give get P2 Sovelletn nyt edellä esitettyä heikko bisimultioekvivlenssi protokolln oikeellisuuden trkistmiseen. On siis näytettävä, että AB-protokolln yhteistilverkko on ekvivlentti plveluverkon knss. Selvästikään tämä ei pidä pikkns, ellei protokolln yhteistilverkko muutet hiemn. Tvllisesti joitkin toimintoj kätketään eli muutetn τ -siirtymiksi. Tätä vrten määrittelemme opertion hide: hide 1, 2,..., n in P muutt siirtymäverkko P siten, että kikki toiminnot i, i = 1,, n, P :ssä korvtn τ :ll. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 47

Nyt AB-protokolln veriointiprobleem muodost lusu seurvss muodoss. On osoitettv, että hide wbis d0, dd0, d1, dd1, 0, 0, 1, 1, st, rt, t in AB-protokoll AB-plvelu. AB-protokolln yhteistilverkko on sen verrn suuri, että sen käsittely vtii ohjelmisto. Veriointi ohjelmisto käyttäen tphtuu kirjoittmll sekä itse protokoll että plvelu ohjelmiston tukemll spesiointikielellä, kääntämällä spesiktiot siirtymäsysteemiksi j käynnistämällä ohjelm, jok lskee, ovtko siirtymäsysteemit ekvivlenttej. Teemme tämän verioinnin myöhemmin Lotoksen yhteydessä. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 48

5.6.2. FE-protokoll Vrhisess protokollkirjllisuudess (W. C. Lynch: Relible full-duplex trnsmission over hlf-duplex lines, Comm. ACM, Vol. 11, No. 6, pp 362-372, June 1968) on kuvttu eräs virheellisesti toimiv protokoll, jok on ollut iknn todellisess tuotntokäytössä. Tämän protokolln virhetilnteet esiintyvät niin hrvoin, ettei sen puutteellisuutt hvittu ohjelmisto testttess, vikkkin virheitä sittemmin ilmeni tuotntokäytössä. Tämä virheellinen protokoll on mielenkiintoinen j opettvinen esimerkki nlysoitvksi. Virheellinen esimerkkiprotokollmme, lyhyesti FE-protokoll, on symmetrinen yhteystson protokoll. Kksi prtneri S j R vihtvt siinä vuorotellen snomi virhelttiin vuorosuuntisen knvn välityksellä. Prtnerit lisäävät kuhunkin lähettämäänsä snomn kuittusbitin ("ACK", positiivinen kuittus) kertokseen edellisen snomn spuneen virheettömänä. Kuittusbitiksi setetn n ("NAK", negtiivinen kuittus), jos edellinen spuv snom oli vääristynyt knvss. Kummnkin prtnerin lähetyslogiikk on seurv: Jos edellinen spuv snom sisälsi negtiivisen kuittuksen ti se osoittutui vääristyneeksi (jolloin vstliikenteen NAK on Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 49

ehkä tuhoutunut), käsillä olev snom lähetetään uudelleen. Muutoin lähetetään seurv snom. Molemmiss tpuksiss spuvn liikenteen edellisen snomn sinmukinen kuittusbitti, ACK ti NAK, lisätään lähtevään snomn. Protokolln vstnottologiikk ei nnet eksplisiittisesti Lynchin rtikkeliss, joss lähinnä vin osoitetn mhdottomksi suunnitell toimintvrm vstnottologiikk edellä esitetylle lähetysmeknismille. Eräs mhdollinen vstnottologiikk, jonk otmme käyttöön FE-protokollssmme, on seurv: Kun snom spuu virheettömänä j sisältää ACK:in se toimitetn kohdeprosessille. Jos snom sisältää NAK:in, snom hylätään (spuvn snomn rvelln olevn uudelleenlähetys). Mllinnmme luksi protokolln yksinkertistetuss muodoss. Jos protokoll toimii virheellisesti siinä muodoss, se toimii virheellisesti täydellisenäkin. Jos ts yksinkertistettu versio toimii oikein, on trpeen tutki vielä täydellinen versiokin. Yksinkertistetuss versioss kommunikoointi on synkronist, erillisiä knvi ei käytetä. Dtn välitys tphtuu pelkästään S:ltä R:lle. Kun dtsnomn d liitetään vstliikenteen ACK ti NAK, sdn dtsnom d ti dn. R lähettää vin kuittuksen ti n. Snomnimet de j e trkoittvt vääristynyttä dt- j kuittussnom. Siirtymäverkot S j R on nnettu ll: Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 50

S1 R1 get d give S2 R2 n d de dn e S3 R3 n e R4 dn de e de S4 Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 51

Yhteistilverkko on seurvss kuvss: S1R3 get S2R3 d S3R1 give S3R2 de n e dn S3R4 de e S4R3 Siitä nähdään protokolln perussykli S1R3 get S2R3 d S3R1 give S3R2 jok kuv snomnvälitystä linjn toimiess virheettömästi. Yksittäisestä linjvirheestä protokoll toipuu pienen sivureitin kutt: S2R3 de S3R4 n S2R3 Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 52

ti S3R2 e S4R3 dn S3R2 Khden peräkkäisen snomn vääristyminen linjll voi iheutt virhetoiminnon FEprotokollss. Tämän näemme seurvss mhdollisess yhteistilverkon reitissä: S1R3 S2R3 get S3R4 de S4R3 e S3R2 dn S1R3 S2R3 get S3R1 d S3R2 give Tässä toimintreitissä otetn kksi snom lähetettäviksi, mutt vin jälkimmäinen toimitetn perille. Protokoll voi siis hukt snomn. Seurv yhteistilreitti pljst puolestn tilnteen, joss protokoll toimitt snomn perille khteen kertn: S1R3 S2R3 get S3R1 d S3R2 give S4R3 e S3R4 de S2R3 n S3R1 d S3R2. give Edellä suoritettu nlysointi perustui yhteistilverkon yksityiskohtiseen nlyysiin. Virheellinen toimint sdn kuitenkin selville myös utomttisesti. Sitä vrten kuvtn Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 53

protokolln plvelu, jok tässä tilnteess sttuu olemn sm kuin AB-protokollss. Ohjelmiston vull voidn osoitt, että hide d, de,, n, e in FE protokoll wbis FE plvelu. Tämä nähdään helposti myös mnulisesti. Yritetään muodost heikko bisimultiot: R = {(S1R3, P 1), (S2R3, P 2), (S3R2, P 2), (S1R3, P 2) }. Nyt tilst S1R3 voi tphtu get, mutt tilss P 2 vin give on mhdollist. Siten heikko bisimultiot ei void muodost, joten prosessit eivät ole ekvivlenttej. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 54

5.7. Johtopäätöksiä j ongelmi Siirtymäsysteemiformlismi on mhdollist kehittää edelleen. Jos menetelmää iotn sovelt käytännössä, on kiinnitettävä huomiot seurviin kohtiin: 1. Miten kuvtn siirtymäsysteemi muuten kuin piirroksen vull. 2. Miten kuvtn usen siirtymäsysteemin eli prosessin rinnkkinen toimint. Tässä yhteydessä on otettv knt seurviin kohtiin: miten tulkitn prosessien rinnkkinen toimint, ts. miten mllinnetn ik rinnkkisen systeemin tustll; onko prosessien kommunikointi synkronist vi synkronist; sllitnko monisynkronointi. 3. Miten otetn tietosisältö huomioon tphtumiss. 4. Siirtymävihtoehdot sttvt riippu snomien sisällöstä. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 55

5. Reliiksovelluksiss j muisskin tilnteiss trvitn ikrjoj. Miten nämä ilmistn formlismiss. 6. Siirtymillä voi käytännössä oll hyvin eriliset todennäköisyydet (esim. tn(virhe) << 1). Onko järkevää olett kuvuksiss siirtymävihtoehdot in yhtä todennäköisiksi. 7. Tvllisiss siirtymäsysteemeissä synkronointipisteet (snomt) ovt etukäteen tiedoss j niiden käyttö on kiinnitetty. Kuitenkin esimerkiksi meklrijärjestelmissä prosessi pyytää tieto meklrilt, jok välittää prosessille plvelu ntvn prosessin plveluportin. Tällisess tilnteess plveluportti eli synkronointipiste ei ole etukäteen kiinnitetty, vn se voi vihdell vrsin dynmisesti suorituksen ikn. Miten tälliset tilnteet käsitellään siirtymäsysteemeissä. Edellä minituist tvoitteist on kikki toteutetu muodoss ti toisess. Erityisesti kohtiin 1-4 on stu melko ljsti hyväksytyt rtkisut. Siirtymäsysteemejä kuvtn nykyisin prosessilgebrojen vull. Näitä ovt mm. Milnerin CCS (1980, 1989), Horen CSP (1985) j Bergstrn j Klopin ACP (1984). Näissä on rtkistu kohdt 1-2 krkesti otten smn tpn: Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 56

Siirtymäsysteemi kuvtn lgebrllisell lusekkeell. Rekursion vull sdn ilmistu silmukt. Rekursion vull voidn luod myös äärettömiä siirtymäsysteemeitä j käynnistää dynmisesti suorituksen ikn uusi prosessej. Prosessien kommunikointi on synkronist, ts. prosessi ei voi suoritt synkronointitoiminto ennenkuin toinen (ti toiset) on vlmis sen suorittmn. Tällöin suoritetn yhtäik. Epäsynkroninen kommunikointi sdn ikn ottmll järjestelmään mukn erillinen knvprosessi kuten AB-protokollss. Usest prosessist koostuvn systeemin toimint kuvtn myös siirtymäsysteemillä. Rinnkkisuutt mllinnetn lomituksen vull: Tphtumt ovt tomrisi. Jos tphtumt j b suoritetn rinnn, niin jtelln, että joko tphtuu ennen b:tä ti b ennen :t. Siten meillä on suoritusvihtoehdot b j b, jotk esiintyvät myös koko systeemiä kuvvss verkoss. Kosk rinnkkisuutt kuvtn lomituksen vull, syntyy hyvin pljon vihtoehtoj j siten hyvin suuri siirtymäsysteemejä (bc, cb, cb, bc, bc, cb). Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 57

CCS:ssä vin kksi prosessi voi synkronoitu, CSP:ssä sllitn monisynkronointi, smoin ACP:ssä. Prosessilgebroiss on myös mukn tiedonvälitysehdot siirtymille. Sen sijn perinteellisissä lgebroiss ei ole otettu huomioon reliiksovelluksi eikä todennäköisyyksiä. Näitä ominisuuksi on myöhemmin lisätty siirtymäsysteemeihin j tutkimus jtkuu edelleen. Lotos on suku CCS:lle j CSP:lle. Siinä on synkroninen kommunikointi, monisynkronointi, lomitussemntiikk. Lotoksess prosessej voidn yhdistää rinnn yleisemmin kuin minituiss prosessilgebroiss. Tästä on sekä hyötyä että hitt. Esimerkiksi minituiss prosessilgebroiss Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 58

voidn todist hyödyllisiä lgebrllisi ominisuuksi rinnkkisoperttoreille. Lotoksest nämä lit puuttuvt (esim. ssositiivisuus). Siirtymäsysteemien yhteydessä käsitelty rinnkkisoperttori on juuri Lotoksen operttori. Voimkkimmin Lotos poikke muist tietotyyppien määrittelyssä. Tietotyyppien kuvusmeknismi perustuu bstrktien tietotyyppien lgebrlliseen spesiointiin. Algebrllinen spesiointi kehittyi vuodest 1970 lken läheisesti denottiosemntiikn knss. Algebrllisess spesioinniss dttyyppien j opertioiden merkitys nousee niiden määrittelemästä lgebrst (termilgebr, initilisemntiikk). Se on erittäin voimks tekniikk, jonk vull voidn määritellä esimerkiksi luonnolliset luvut tyhjästä. Toislt se vikutt hnkllt j monimutkiselt luksi. Siksi Lotoksen ljennuksess E-Lotoksess onkin tehty mhdolliseksi määritellä tietotyyppejä enemmän tvnomisi ohjelmointikieliä muistuttvll tvll. Lotos on suunniteltu käytäntöön. Se on ljempi kuin teoreettiset kielet CCS, CSP j ACP. Tämän vuoksi se stt tuntu monimutkiselt j on tietty houkutus käyttää vin os siitä (ns. Bsic Lotos). Tämä olisi kuitenkin virhe. Täysi Lotos oikein käytettynä ei ole sen monimutkisempi kuin tvlliset ohjelmointikieletkään. Kuvuksist tulee täyden Lotoksen vull tiiviimpiä kuin perus-lotoksen vull. Tällä kurssill rjoitumme pääsiss kuitenkin perus-lotokseen. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 59

Lotoksen ljennukseen (E-Lotos) on otettu mukn myös ikkäsite. Aik-Lotost ei kuitenkn käsitellä tällä kurssill. Erityistä trvett olisi myös toteutt koht 7 eli dynminen synkronointi. Siihen on olemss elegntti rtkisu, jok pohjutuu CCS:ään. Tämä CCS:n ljennos tunnetn nimellä π-klkyyli. Sitä on yritetty sovitt myös Lotokseen, mutt toistiseksi yritykset eivät ole johtneet yleisesti hyväksyttyihin rtkisuihin. Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 60