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



Samankaltaiset tiedostot
ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Riemannin integraalista

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

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

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

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

3 Mallipohjainen testaus ja samoilutestaus

Kuvausta f sanotaan tällöin isomorfismiksi.

Matematiikan tukikurssi

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

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

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

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

LINSSI- JA PEILITYÖ TEORIAA. I Geometrisen optiikan perusaksioomat

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

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

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

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

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

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

2.1 Vaillinaiset yhtälöt

2.4 Pienimmän neliösumman menetelmä

1.3 Toispuoleiset ja epäoleelliset raja-arvot

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

11. MÄÄRÄTTY INTEGRAALI JA TILAVUUS

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

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

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

Riemannin integraali

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

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

Kirjallinen teoriakoe

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

Suorakaidekanavat. lindab suorakaidekanavat

2.2 Automaattien minimointi

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

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

Suorat, käyrät ja kaarevuus

Diskreetin matematiikan perusteet Laskuharjoitus 6 / vko 13

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

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

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

6.2 Algoritmin määritelmä

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause

5.4 Ellipsi ja hyperbeli (ei kuulu kurssivaatimuksiin, lisätietoa)

Matematiikan tukikurssi

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

Mitä ovat blogit? Mitä blogit ovat. Mahdollisuuksia Verkostoitumista Viestintää Todistusta

OUML7421B3003. Jänniteohjattu venttiilimoottori KÄYTTÖKOHTEET TEKNISET TIEDOT OMINAISUUDET SOPIVAT VENTTIILIT TUOTETIEDOT. i OUV5049 i OUV5050

Polynomien laskutoimitukset

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

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

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Ristitulo ja skalaarikolmitulo

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

SARJAT JA DIFFERENTIAALIYHTÄLÖT Funktiojonot 1

Runkovesijohtoputket

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

Laskennan perusmallit (LAP)

Vuokrahuoneistojen välitystä tukeva tietojärjestelmä.

6 Integraalilaskentaa

5 Epäoleellinen integraali

Tehtävä 1. Jatka loogisesti oheisia jonoja kahdella seuraavaksi tulevalla termillä. Perustele vastauksesi

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 [

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.

Viivaintegraali: "Pac- Man" - tulkinta. Viivaintegraali: "Pac- Man" - tulkinta. "Perinteisempi" tulkinta: 1D 3/19/13

Näytä tai jätä tarkistettavaksi tämän jakson tehtävät viimeistään tiistaina ylimääräisessä tapaamisessa.

Matematiikkaolympialaiset 2008 kuusi vaikeaa tehtävää

Sähkömagneettinen induktio

Tee B-osion konseptiin etusivulle pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Välivaiheet perustelevat vastauksesi!

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

9 A I N. Alkuperäinen piiri. Nortonin ekvivalentti R T = R N + - U T = I N R N. Théveninin ekvivalentti DEE SÄHKÖTEKNIIKAN PERUSTEET

Preliminäärikoe Pitkä Matematiikka

Sisältö. Piirikytkentäisen verkon malli (2) Piirikytkentäisen verkon mallinnus estoverkkona Pakettikytkentäisen verkon mallinnus jonoverkkona

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

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

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

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

MITEN MÄÄRITÄN ASYMPTOOTIT?

OUML6421B tilaohjattu venttiilimoottori KÄYTTÖKOHTEET TEKNISET TIEDOT OMINAISUUDET SOPIVAT VENTTIILIT TUOTETIEDOT

AUTOMAATTIEN SYNKRONISAATIOSTA

VEKTOREILLA LASKEMINEN

VEKTOREILLA LASKEMINEN

Laskennan perusmallit (LAP)

7 Funktiosarjoista. 7.1 Funktiosarjojen suppeneminen

7.lk matematiikka. Geometria 1

A-Osio. Valitse seuraavista kolmesta tehtävästä kaksi, joihin vastaat. A-osiossa ei saa käyttää laskinta.

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

Sarjaratkaisun etsiminen Maplella

S Laskennallinen systeemibiologia

ANALYYSI I, kevät 2009

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

Riemannin integraalista

Matematiikan perusteet taloustieteilijöille P

3 Integraali ja derivaatta

R4 Harjoitustehtävien ratkaisut

Transkriptio:

OHJ-2600 Tilkoneet 204 6. Tämän tehtävän tvoite on kuvn LTS:ää vstesimerkkinä käyttäen osoitt, että nnetun LTS:n knss minimlinen CFFD-smnlinen LTS ei in ole yksikäsitteinen. P Q AG(P) = AG(Q) f, {{}} f, {{}} () Muodost AG(P) j AG(Q) j minimoi ne lohkomislgoritmill. Vrmist, että st kuvn AG:n. Perustele, että P j Q ovt CFFD-smnliset. () Todist, että P j Q eivät ole isomorfiset (eivätkä edes vhvsti isimilriset). (c) Todist, että mikään enintään 3-tilinen LTS ei voi oll P:n knss jälkismnlinen. Vihje: kuink mont :t voi oll ensimmäisen :n edellä P:n jäljessä? (d) Todist, että jokinen 4-tilinen LTS, jok on jälkismnlinen P:n knss sisältää inkin 5 siirtymää. (e) Yhdistä kohtien () (d) tulokset j todist tämän tehtävän pääväite. f, {{}} f, {{}, {}} f, {{}} OHJ-2600 Tilkoneet 205 7. Tämän tehtävän tvoite on täydentää CFFDsmnlisuuden testmisen PSPACEtäydellisyyden sekä CFFD-ekvivlenssin suhteen tphtuvn minimoinnin PSPACE-kovuuden todistuksen puuttuvt yksityiskohdt. () Osoit, että Päteekö P / CFFD Q? on NPSPACE:ss (epädeterministinen polynomilinen muisti). Vihje: etene tpuksittin: kkosto, jäljet, pillstumjäljet sekä vkiden estymien kieltäytymisost. () Osoit, että Päteekö P CFFD Q? on PSPACE:ss. (c) Osoit, että L(N)={σ Σ* (σ,ø) Sfil(P ) }, missä N jne. ovt kuten sivull 188. (d) Osoit, että L(N) = Σ* jos j vin jos Sfil(P ) = Σ* 2 Σ. (e) Osoit, että Sfil(P ) = Σ* 2 Σ jos j vin jos P CFFD Mx Σ. Vihje: mikä on Tr(P ), jos Sfil(P ) = Σ* 2 Σ? (f) Päättele, että Päteekö P CFFD Mx Σ? j Päteekö P CFFD Q? ovt PSPACE-täydellisiä. (g) Onko Mx Σ minimlinen? (h) Osoit, että minimointi CFFD :n suhteen on PSPACE-kov. OHJ-2600 Tilkoneet 206 4.7 Algoritmej CFFD-esijärjestykselle 4.7.1 Huono ehdotus CFFD-esijärjestyksen trkstminen hyväksymisgrfeill olkoot P j Q äärellistilisi LTS:iä j Σ(P) = Σ(Q) = Σ tehtävä päteekö P CFFD Q? voidn rtkist seurvsti: 1. muodost P:stä j Q:st (ei välttämättä minimoidut) hyväksymisgrfit AG P j AG Q 2. lske AG P AG Q j trkst, että sen jokisess tilss jokisell Σ: jos P, niin Q jokiselle P:n minimliselle hyväksymisjoukolle A P on Q:ll min. hyv.joukko A Q siten, että A Q A P P ei pillstu ti Q pillstuu tätä lgoritmi voi tehost minimoimll AG P j AG Q ennen käyttöä AG P AG Q pienenee AG P :n j AG Q :n lskent vtii P:n j Q:n determinoinnin lgoritmi voi oll kllis pystymmekö prempn? P CFFD Q:n trkstmisen lskennllinen vtivuus on helppo nähdä, että päteekö P CFFD Q? on PSPACE:ss OHJ-2600 Tilkoneet 207 se on myös PSPACE-kov, kosk päteekö P CFFD Q? osoitettiin PSPACE-täydelliseksi lluvun 4.6 hrjoitustehtävässä 7 P CFFD Q P CFFD Q Q CFFD P päteekö P CFFD Q? on PSPACE-täydellinen tehtävä näyttää siltä, että pljon prempn ei pystytä kuin yllä ollut ehdotus väärä johtopäätös! huom, että päteekö P CFFD Q? osoitettiin PSPACE-kovksi osoittmll päteekö P CFFD Mx Σ? PSPACE-kovksi Mx Σ 1 n tutkikmme loogist yhtäpitävyyttä P CFFD Mx Σ P CFFD Mx Σ Mx Σ CFFD P kosk Mx Σ on mksimi CFFD :n suhteen, P CFFD Mx Σ on in tott niinpä P CFFD Mx Σ Mx Σ CFFD P tehtävä P CFFD Q on melkein vrmsti kllis Q:n koon suhteen, mutt vielä ei ole suljettu pois mhdollisuutt, että se onnistuu hlvll P:n koon suhteen

OHJ-2600 Tilkoneet 208 Toisin snoen, stt oll mhdollist löytää lgoritmi, jok on nope kun Q on pieni, vikk P olisi iso yllä olev lgoritmi ei ole sellinen, kosk se lskee AG P :n esitämme koht sellisen lgoritmin, mutt ktsokmme ensin, miksi se olisi hyödyllinen Kuink isoj P j Q ovt? P esittää toteutust P nnetn usein monen tilkoneen rinnnkytkentänä P:n tilkone on usein hyvin iso Q esittää vtimuksi Q:n tilkone on usein pieni verrttun P:n tilkoneeseen sitäpitsi Q muuttuu suunnittelun ikn hrvemmin kuin P Q:lle on vr tehdä klliimpi opertioit kuin P:lle CFFD on ikäänkuin sttumlt hlp sen ospuolen suhteen jonk suhteen hlpuus on tärkeää, j kllist sen ospuolen suhteen jonk suhteen klleus voidn sietää, eikä toisinpäin! 4.7.2 Testerit (P CFFD Q):n trkstminen determinoimtt P:tä ide: Σ(P) = Σ(Q) trkstetn yhä erikseen muut ominisuudet trkstetn muodostmll Q:st erityinen testeri T Q j tutkimll (P T Q ):n lukkiumi j pillstumi OHJ-2600 Tilkoneet 209 testeri on muutoin kuten LTS, mutt jokisell sen tiloist on kksi ylimääräistä ittiä dlok j divok P CFFD Q, jos j vin jos Σ(P) = Σ(Q) j T Q :n dlok-itti on true jokisess (P T Q ):n lukkiutuneess tilss (s oll muullkin) T Q :n divok-itti on true (P T Q ):n jokisen -silmukn jokisess tilss (s ) testeri suunnitelln siten, että kun se tekee -siirtymän, divok-itin rvo ei muutu (P T Q ):n -silmukn lillisuuden trkstmiseksi riittä tutki sen mikä thns til Esimerkki vtimusmlli Vt. j sitä vstv testeri Test kummnkin kkosto on {lähetä, vst.ot, ok, } kikki dlok- j divok-itit ovt flse selkeyden vuoksi jätetään näyttämättä Vt. Test ok ok vst.ot lähetä ok vst.ot vst.ot lähetä lähetä lähetä ok vst.ot OHJ-2600 Tilkoneet 210 ellinen toteutus Tot. j rinnnkytkentä Tot. Test Tot. Tot. Test lähetä ok ok vst.ot lähetä lähetä vst.ot kielletty lukkium Testerien muodostminen 1. tehdään Q:lle (ei välttämättä minimoitu) hyväksymisgrfi AG Q 2. AG Q :n tiloihin lisätään dlok- j divok-itit seurvsti: dlok-itti on true, jos j vin jos tiln minimlisten hyväksymisjoukkojen kokoelm on {Ø} (ts. Q voi lukkiutu k.o. tilss) tiln divok-itti s smn rvon kuin pillstumitti ts. pillstumittiä voi käyttää divok-ittinä 3. kunkin tiln minimlisten hyväksymisjoukkojen kokoelm muunnetn peilikuvkseen jos n 1 j A 1 Ø, niin kokoelmn {A 1, A 2,, A n } peilikuv sdn muodostmll kikki joukot, jotk sdn poimimll yksi lkio jokisest A i, j ottmll niistä minimliset käytännössä knntt optimoid tyhjän kokoelm Ø peilikuv on {Ø} j päinvstoin peilikuvien ide on knonisten testereiden teorist (Brinksm 1988) OHJ-2600 Tilkoneet 211 4. lisätään uusi til s fil, jolle dlok(s fil ) = divok(s fil ) = flse 5. jokiselle tphtumnimelle j jokiselle tillle s, joille pätee s s fil eikä s:stä ole -siirtymiä, lisätään siirtymä s s fil 6. jokiselle tillle s s fil luodn uusi til j siirtymiä seurvsti: olkoon {B 1, B 2,, B m } s:n minimlisten hyäksymisjoukkojen kokoelmn peilikuv jokiselle 1 i m: luodn uusi til s i, jolle dlok(s i ) = dlok(s) j divok(s i ) = divok(s) luodn uusi siirtymä s s i jokiselle B i j s siten, että s s, luodn siirtymä s i s lopuksi poistetn ne siirtymät s s, joille luotiin siirtymä s i s inkin yhdelle i {1, 2,, m} Esimerkki: testerin muodostminen LTS:lle R vihe 1 R AG R f, {{}} c c d e {,, c, d, e} t, {{}, {c, d}} c e d t, Ø e f, {Ø} f, {Ø} {,, c, d, e}

vihe 3 AG R3 vihe 6 f, f, {{}} f, t, {{, c}, {, d}} c e d e f, t, {Ø} t, f, Ø t, f, Ø {,, c, d, e} T R f,f,c,d,e f,f f,t f,t d f,t,,c,d f,t e e c t,f t,f f,t,,c,d,e,c,d,e OHJ-2600 Tilkoneet 212 {,, c, d, e} Prnnuksi jos tilll s on vin yksi lähtökri j se on s s, niin s j sen lähtökri voidn poist kääntämällä sen tulokret viemään tiln s f,f OHJ-2600 Tilkoneet 213 voidn lisätä kolms itti stteok jok on flse tilss s fil j muull true kun P T Q menee tiln, joss T Q on tilss s fil, on vrm että P:ssä on lukkiumn ti pillstumn jtkminen on jn hukk kikki tilt joist pääsee vin t,t-tiloihin sekä niihin liittyvät kret voi poist ne eivät voi joht iden löytymiseen niiden poisto estää P:tä suorittmst testin knnlt trpeettomi näkyviä siirtymiä voi huomttvsti pienentää (P T Q ):n koko Testerien käytön hint testerien muodostmisess on kksi mhdollisesti kllist vihett: AG Q :n muodostminen AG Q :n hyväksymisjoukkojen kokoelmien kääntäminen peilikuvikseen AG P :n tvllisesti kllis muodostminen vältetään täysin jos P on yksittäinen LTS, sille ei trvitse tehdä mitään kllist opertiot! näimme, että vtivuusteori tekee hyvin epätodennäköiseksi, että P CFFD Q voidn trkst tekemättä jotkin kllist Q:lle toislt, perustelimme, että Q on usein pieni, joten sen käsittelyn työläys on usein hllittviss vrmsti usemmin kuin trkstettess P CFFD Q, kosk silloin jotkin (todennäköisesti) kllist täytyy tehdä sekä P:lle että Q:lle OHJ-2600 Tilkoneet 214 LTS:n muodostminen (P T Q ):lle on hrvoin pljon klliimp kuin LTS:n muodostminen P:lle T Q :n til määräytyy yleensä osittin ti täysin P:n tilst T Q :n lisäys ei tuot lukuisi uusi tiloj se voi toislt oll pljon hlvemp lennost verifioinnin (on-the-fly verifiction) tuomien hyötyjen vuoksi testerit j CFFD mhdollistvt isompien järjestelmien verifioinnin kuin hyväksymisgrfit (j CFFD ) 4.7.3 Lennost verifiointi Virheiden hvitsemist (til-vruuden ti) LTSn muodostmisen ikn kutsutn lennost verifioinniksi lennost verifiointi vtii, että mikä on j mikä ei ole oike käyttäytymistä kerrotn jotenkin LTS:n muodostvlle ohjelmlle esimerkki: testerit j niiden stteok-, dlok- j divok-itit testereillä voi koodt sngen monimutkisi ominisuuksi littomiksi tiloiksi, lukkiumiksi j pillstumiksi Lennost verifiointi testereillä lsketn P 1 P n T Q sen sijn että lsketn ensin P = hide in ( P 1 P n ), sitten P T Q kätkentä ei ole nyt trpeen, kosk Σ Q määrää synkronoinnin trkoittkoon testerittömät siirtymät niitä (P 1 P n T Q ):n siirtymiä, joihin T Q ei osllistu stteok- j dlok-itit voidn helposti trkst kusskin tilss OHJ-2600 Tilkoneet 215 divok-ittien trkstmiseen tunnetn kksi hyvää lgoritmi Holzmnnin lgoritmi divok-ittien trkstmiseksi (1991) muodostetn kht til-vruutt muodostetn ensimmäinen til-vruus tvlliseen tpn kopioidn toiseen til-vruuteen jokinen til, jolle divok on flse jtketn toisen til-vruuden muodostust kopioidust tilst syvyyteen ensin -järjestyksessä tutkien vin testerittömiä siirtymiä toisess til-vruudess voi käyttää tvllist silmuknhvitsemislgoritmi Vlmrin lgoritmi divok-ittien trkstmiseen (1993) muodostetn testerittömät siirtymät syvyyteen ensin -järjestyksessä, j muit siirtymiä vin kun tutkimttomi testerittömiä siirtymiä ei sillä hetkellä ole Lennost verifiointi prnt tehokkuutt monin tvoin: 1. LTS:n muodostmisen voi lopett heti kun löytyy esimerkiksi tilt, joiss stteok = flse j lukkiumt, joiss dlok = flse voidn tunnist välittömästi muodostmisens jälkeen pillstumt, joiss divok = flse voidn tunnist lennost kuten edellä kerrottiin vrhisest lopettmisest ei kuitenkn ole etu, jos järjestelmä on etön!

OHJ-2600 Tilkoneet 216 OHJ-2600 Tilkoneet 217 on kuitenkin tvllist, että kun järjestelmään lisätään, sen tilojen määrä ksv rjusti ettömän järjestelmän tiloj rjoitt yleensä merkittävästi jokin invrintti, esim. lähetin j vstnotin ovt sm mieltä seurvst vuorottelevst itistä kun järjestelmä on tehnyt en, se voi tuott pitkään uusi, toinen toistn ellisempiä ttiloj ennen kuin se lukkiutuu ti lk toist tiloj elliset järjestelmät ovt usein pljon työläämpiä nlysoid tvllisin menetelmin kuin ehjät lennost verifioitess ensimmäinen löytyy usein jo kun vst pieni os til-vruudest on muodostettu pin sen jälkeen kun jotin invrintti on rikottu lennost verifioinnill on tipumust tuott isoj säästöjä ellisiä järjestelmiä nlysoitess utt eniten siellä, missä trve on suurin vikk (j kosk) tämä järkeily on lähes itsestään selvä kun sen on sisäistänyt, sitä ei tiettävästi ole huolellisesti testttu kokein 2. til-vruuden muodostustyöklu voi välttää niiden hrojen tutkimisen, missä ei voi oll itä esimerkiksi jos spesifiktio sllii ihn mitä thns -siirtymän jälkeen, ei ole trpeen suoritt ko. -siirtymää LTS:n muodostuksen ikn, kosk puuttumn jäävä os ei voi sisältää itä edellä kuvttu t,t-tilojen poisto toteutt tämän tämä on erityisen hyödyllistä, kun testtn yksittäisiä ominisuuksi kttvien spesifiktioiden sijn ominisuuden knnlt trpeettomi suorituksi ei tutkit läpikotisin 3. tieto siitä, mikä on j ei ole voi käyttää ohjmn joitkin edistyneitä verifiointimenetelmiä keskittymään lupviin tiloihin prnt niiden tehokkuutt jätetään tämän opintojkson ulkopuolelle (Vlmri 1993, Kristensen & Vlmri 2000) Johtopäätös: testerit näyttävät hyvältä tvlt trkst, toteuttko PQ:n vlitettvsti TVT:ssä ei ole niille riittävää tuke käytännön kokemust on niuksti TVT:n yhteydessä Kivol (1996 s. 134) esitteli kikn melkein- CFFD :n testmiseksi CFFD -työklull muistutt vstvi tuloksi CSP:lle sivun 186 hrjoitustehtävä 1 muunt sen CFFD :lle sllii CFFD :n testmisen olemss olevill työkluill, mutt ei tuot CFFD :n tehokkusetuj on myös mhdollist välttää hyväksymisjoukkojen peilikuvien muodostminen vertmll sopivsti hyväksymisjoukkoj lennost CSP-työklu FDR (Roscoe 1994) toimii näin emme tiedä kumpi tp on prempi lennost verifioinnin niin snotuill Büchi utomteill esittivät Vrdi j Wolper (1986) j sitä prnsivt Courcouetis & l. (1992) ktt täyden linerisen iklogiikn OHJ-2600 Tilkoneet 218 OHJ-2600 Tilkoneet 219 testereitä sekä joitkin niiden edistynyttä käyttöä koskevi jtuksi käsiteltiin julkisuiss (Vlmri 1993, Helovuo & Vlmri 2000) 4.7.4 Todellinen testus Todellisten järjestelmien rinnkkispiirteiden testmisen vikeus järjestelmän testitpus (test cse) muodostuu syötteiden lähettämisestä testikohteelle j sen tuottmn vsteen trkstmisest CSP- ti CFFD-theorin tpuksess testitpus on jälki, jot on mhdollisesti täydennetty lukkium- ti pillstuminformtioll täydellinen testus on melkein in kukn mhdollisuuksien ulkopuolell tvoitteen pitää oll testt niin pljon kuin mhdollist niin vähällä vivll kuin mhdollist on vike suunnitell tämän tvoitteen mukinen testitpusten kokoelm järjestelmillä on usein lup tuott usemmst kuin yhdestä tphtumst muodostuv vste joskus tphtumien järjestys s vihdell esimerkki: protokolln vst.ot j ok on usein epäkäytännöllistä ti mhdotont kirjoitt lillisten vsteiden luettelo tvttomn pitkä sen ltiminen on ltist vsteiden lillisuuden trkstminen on vike rinnkkisuuspiirteiden testminen on vike! Testerit todellisten järjestelmien testmisess että järjestelmän vsteet ovt lillisi voidn trkst utomttisesti lisäämällä testitilnteeseen testeri eräs mllipohjisen testuksen muoto testerille nnetn kopio sekä syötteistä että vsteest se voi päättää sisäisen tilns j rkenteens perusteell, onko vste lillinen testitpusten muodostmist voi prnt muodostmll ne testin ikn testerin vull on eduksi lähettää syötteitä, jotk vievät testerin kohti tiloj ti siirtymiä, joiss se ei ole ollut ti on ollut hrvemmin kuin muull vlitettvsti testikohde voi (vputens puitteiss) päättää mennäkin muulle testerit eivät ole hyviä dtn käsittelyn testmiseen testeri ei voi ott (pljo) dtnkäsittelyä huomioon, muuten siitä tulisi liin iso toisin snoen, testerillä voi testt, että stiin oikentyyppinen snom, mutt tvllisesti ei void trkst, että snomn sisältö on oike voidn tosin käyttää pri-kolme erilist snom kutkin tyyppiä testerin ljennos, jok tekee tilnnekohtisi ilmeisiä dtnkäsittelyn trkstuksi on kuviteltviss trkst esim., ntko protokoll ulos sen sisällön jok pntiin sisään

OHJ-2600 Tilkoneet 220 useimmt todelliset järjestelmät käyttävät muut kuin synkronist viestintää usein snomien lähettämistä j vstnotto testerien teori ei sovi sellisenn niille kovin hyvin kuitenkin perusjtus siitä, että spesifiktio on läsnä testitilnteess ei riipu formlismist joitkin tuloksi voi kenties siirtää snomnvälitysformlismeihin esim. mtkimll niitä synkronisell viestinnällä tällisill ideoill voi oll nnettv käytännön testukselle Helovuo 1999, Helovuo & Leppänen 2001, Kervisen uudet julkisut OHJ-2600 Tilkoneet 221 Hrjoitustehtäviä 1. Muodost testeri LTS:lle Vt..??? on prujuss??? Vt. ok lähetä vst.ot 2. Osoit, että joukkojen äärellisen kokoelmn peilikuv riippuu vin kokoelmn minimlisist joukoist. 3. Osoit, että minimlisten hyväksymisjoukkojen kokoelmn peilikuvn peilikuv on lkuperäinen kokoelm. 4. Ann esimerkki tilnteest, joss minimlisten hyväksymisjoukkojen kokoelmn peilikuv on eksponentilisesti isompi kuin lkuperäinen kokoelm. 5. Olkoot P j Q LTS:iä joill on sm kkosto, j T Q olkoon Q:n s fil -tilll täydennetty testeri. ()-koht lukuunottmtt olkoon Tr(P) = Tr(Q). () Osoit, että P T Q voi joutu tiln, joss T Q on tilss s fil, jos j vin jos P:llä on jälki jot Q:ll ei ole. () Olkoon Tr(P) = Tr(Q). Osoit, että P T Q voi pillstu tilss, joss T Q ei ole divok-tilss, jos j vin jos P:llä on pillstumjälki jot Q:ll ei ole. (c) Olkoon Tr(P) =Tr(Q). Osoit, että P T Q voi lukkiutu tilss, joss T Q ei ole dlok-tilss, jos j vin jos P:llä on vk estymä jot Q:ll ei ole. OHJ-2600 Tilkoneet 222 4.8 CFFD-smnlisuus verrttun vhvn isimilrisuuteen Olemme nyt tutkineet perusteellisesti kht smnlisuuskäsitettä vhv isimilrisuus kiinnittää huomiot vin tphtumiin j niiden esiintymisjärjestykseen vihtoehtoineen kohtelee näkymättömiä siirtymiä smoin kuin näkyviä yksityiskohtinen smnlisuuskäsite CFFD-smnlisuus kiinnittää huomiot vin tphtumiin j niiden esiintymisjärjestykseen hukk näkymättömät siirtymät, vikk säilyttää tiettyä tieto niiden välillisistä seuruksist luonnollinen smnlisuuskäsite ulkopuolisen trkkilijn näkökulmst kysymyksiä: kuink ne suhtutuvt toisiins? mihin vhv isimilrisuutt trvitn (enää)? 4.8.1 Niiden välinen suhde Osoitmme seurvksi, että vhv isimilrisuus tk CFFD-smnlisuuden toisin snoen, vhvsti isimilriset LTS:t tuottvt smt rvot kikille niille järjestelmien ominisuuksille, joist CFFD-smnlisuus pitää kirj OHJ-2600 Tilkoneet 223 Olkoot LTS:t P = (S P, Σ P, P, ŜP) j Q = (S Q, Σ Q, Q, ŜQ) vhvsti isimilriset määritelmän 2.8 nojll on olemss reltio ~ siten, että: ŝ P Ŝ P : ŝ Q Ŝ Q : ŝ P ~ ŝ Q j toisinpäin jos s P s P j s P ~ s Q, niin Q:ll on til s Q siten, että s P ~ s Q j s Q s Q jos s Q s Q j s P ~ s Q, niin P:llä on til s P siten, että s P ~ s Q j s P s P Akkostot määritelmä 2.8 nt Σ P = Σ Q eli Σ(P) = Σ(Q) Vkt estymät olkoon (σ, A) Sfil(P) P:llä on lkutil ŝ P j suoritus ŝ P 1 2 n s P siten, että restr( 1 2 n, Σ P ) = σ j (s P ) jokisell A {} tiedon ŝ Q Ŝ Q : ŝ P ~ ŝ Q j luseen 2.7 nojll Q:ll on suoritus ŝ Q 1 2 n s Q, missä s P ~ s Q määritelmästä 2.6 j tiedost s P ~ s Q seur, että jos s Q jollekin A {}, niin s P tiedämme kuitenkin, että (s P ) (s Q ) jokisell A {} niinpä ŝ Q Ŝ Q, ŝ Q 1 2 n s Q, restr( 1 2 n, Σ Q ) = σ j (s Q ) jokisell A {} (σ, A) Sfil(Q) smll tvll voidn osoitt, että jos (σ, A) Sfil(Q), niin (σ, A) Sfil(P) Sfil(P) = Sfil(Q)

OHJ-2600 Tilkoneet 224 Pillstumjäljet j äärettömät jäljet olkoon s P0 1 s P1 2 s P2 3, missä s P0 Ŝ P, P:n ääretön suoritus olkoon s Q0 Ŝ Q siten, että s P0 ~ s Q0 luseen 2.7 mukn on olemss s Q1, s Q2, siten, että s Q0 1 s Q1 2 s Q2 3 smme s P0 1 2 s Q0 1 2 jos σ Divtr(P), niin on olemss 1, 2, siten, että s P0 1 2 j restr( 1 2, Σ P ) = σ s Q0 1 2 σ = restr( 1 2, Σ Q ) Divtr(Q) Divtr(P) Divtr(Q) smll tvll voidn osoitt, että Divtr(Q) Divtr(P), joten Divtr(P) = Divtr(Q) Inftr(P) = Inftr(Q) osoitetn smn tpn Olemme osoittneet, että P s Q tk Σ(P) = Σ(Q), Sfil(P) = Sfil(Q), Divtr(P) = Divtr(Q) j Inftr(P) = Inftr(Q) määritelmän 4.26 nojll tämä trkoitt, että P s Q P CFFD Q toisin snoen, CFFD-smnlisuus on inkin yhtä heikko kuin vhv isimilrisuus Luse 4.33 Jos LTS:t P j Q ovt vhvsti isimilriset, niin ne ovt CFFD-smnliset. Käänteinen ei välttämättä päde, kuten seurv yksinkertinen esimerkki osoitt Σ(P) =Σ(Q) =Ø,Sfil(P) =Sfil(Q) ={(ε, Ø)},Divtr(P) = Divtr(Q) = Inftr(P) = Inftr(Q) = Ø P j Q ovt CFFD-smnliset OHJ-2600 Tilkoneet 225 Q:ll on j P:llä ei ole suoritust, joss on kksi -tphtum P j Q eivät ole vhvsti isimilriset P Ø käänteinen ei välttämättä päde edes silloin kun LTS:issä ei ole -siirtymiä: voidn trkst, että ll P CFFD Q P voi j Q ei voi tehdä -siirtymän tiln, jost voidn suoritt sekä j c P j Q eivät ole vhvsti isimilriset P c -siirtymien käsittely ei ole ino vhvn isimilrisuuden j CFFD-smnlisuuden ero vhv isimilrisuus on myös pljon herkempi LTS:ien hrutumisrkenteelle Q Q Ø c 4.8.2 Semntiikkojen kehittämisestä OHJ-2600 Tilkoneet 226 Kysymys: Nyt kun meillä on CFFD-smnlisuus, mihin vhv isimilrisuutt enää trvitn? Vstus: Apukäsitteenä, jonk vull prosessilgerllisi kieliä voi kytkeä prosessilgerllisiin teorioihin, j teorioit voi yhdistää toisiins yleensä prosessilgerllisen teorin kehittämisen lähtökohtn eivät ole LTS:t eivätkä tilkoneet, vn jokin kieli, joss on käyttämiemme kltisi operttoreit, mutt joss limmnkin tson prosessit rkennetn j toisto ilmistn kielen keinoin tyypillisesti ntmll prosessien kutsu toisin j itseään suosittu tp määritellä tällisen kielen semntiikk on rkenteellinen toiminnllinen semntiikk (structurl opertionl semntics, SOS), eli kokoelm tämänkltisi sääntöjä: jos P R ti Q R, niin P [] Q R ; P P CCS- j Lotos-kielten semntiikk määriteltiin tällä tvoin toinen tp määritellä semntiikk on nt joukko sääntöjä, joill johdetn lusekkeen semnttinen mlli suorn sen oslusekkeiden semnttisist mlleist denottionlinen (denottionl) semntiikk esimerkki Divtr(P [] Q) = Divtr(P) Divtr(Q) j Tr(; P) = { σ σ Tr(P) } OHJ-2600 Tilkoneet 227 CSP:n stndrdisemntiikk määriteltiin tällä tvoin on muitkin tpoj, kuten ksiomttinen määritteleminen esim. (;P) (;Q) = ; (P Q) käsittelemme seurvksi hiemn kht ensimmäistä tp On helppo edetä SOS-semntiikst LTS:iin, mutt niin syntyvistä LTS:istä tulee usein äärettömiä turhn perite tilt: kikki prosessilusekkkeet kkosto: ei trpeen (Lotos) ti poimittviss prosessikutsujen prmetreist j uudelleennimeämis- j ; -operttoreist siirtymät: suorn SOS-säännöistä lkutil: lkuperäinen luseke esimerkiksi Lotoksen SOS-säännöistä syntyvät LTS:t eivät sisällä silmukoit esim. P[] := ; P[] tuott P[] P[][/] P[][/][/] vikk P[][/] mitä ilmeisimmin käyttäytyy smoin kuin P[], se ei ole sm luseke silmukllisest järjestelmästä syntyykin ääretön ketju tiloj turhn äärettömien LTS:ien välttämiseksi voidn määritellä ehtoj, joiden vllitess khden lusekkeen voi ktso esittävän sm til

OHJ-2600 Tilkoneet 228 kuitenkn ei ole olemss luonnollist oike sellisten ehtojen joukko, vn niitä voi keksiä lisää in vn vähemmän ilmeisesti oikeit osss tpuksi oikeellisuus stt riippu myöhempänä tvoitteen olevst strktist semntiikst, mutt olisi prempi jättää selliset kysymykset oiken siyhteyteensä esimerkiksi voiko tehdä seurvt smistukset? P j ;P P Q j Q P P j P P (;P) (;Q) = ; (P Q) ;P j ;;P P j ;P? on prempi ott käyttöön jokin teori, jok kertoo ojektiivisesti j kikkien vihtoehtoisten myöhempien strktien semntiikkojen knnlt hyväksyttävällä tvll, milloin kksi lusekett s smist perustuu lusekkeen toimintn eikä syntksiin sllii vin kikkein kiistttomimmt smistukset vhv isimilrisuus tekee juuri sen Toisin snoen vhvn isimilrisuuden käsite on riippumton kielestä sekä LTS:ien muodostmisen yksityiskohdist, kunhn ne ovt järkeviä jos hlutn ott käyttöön syntksiin perustuvi smistussääntöjä (kuten P Q = Q P), niin niiden oikeellisuus voidn todist osoittmll säännön puolikkt keskenään vhvsti isimilreiksi OHJ-2600 Tilkoneet 229 loput semnttisen teorin rkentmisest voidn melkein in lske vhvn isimilrisuuden päälle, jos hlutn vhvn isimilrisuuden vull voidn hluttuun kieleen liittää hluttu semntiikk tämä hvinto vikutt selvältä, mutt jostin syystä on olemss pljon julkisuj, joiss kirjoittj on joutunut vikeuksiin siksi, että CCS:n semntiikk on sopinut hänen trkoituksiins mutt operttorit eivät, eikä hän ei ole osnnut ti rohjennut viht operttoreit CSP-tyylinen denottionlisen semntiikn suor määritteleminen on hyvin monimutkist, kun sllitn rekursiiviset prosessien määritelmät rekursiiviset prosessit ovt hyvin tärkeitä, kosk rekursio on usein ino keino tuott toistuv käyttäytymistä prosessilgerllisell kielellä ei tunnet suor määritelmää, jok tuott rekursiivisesti määritellyn prosessin CFFDsemnttisen mllin in oikein täytyy esimerkiksi käyttää LTS:iä väliviheen, kuten olemme tällä kurssill tehneet vhv isimilrisuus tk CFFD-smnlisuuden epäolenniset erot LTS:n muodostussäännöissä eivät vikut CFFD-semntiikkn LTS:ien j vhvn isimilrisuuden käytöstä väliviheen CFFD-semntiikn tuottmisess ei ole juurikn hitt Prosessilgerllisten semnttisten teorioiden muodostminen kuvn kieli CCS- KIELI CCS- LTS yksityiskohtinen semnttinen teori HEIKKO BISIM. HAAR. BISIM. ulkoisesti hvittvn käyttäytymisen teori LOTOS LOTOS- LTS VAHVA BISIM. CFFD- MALLI OHJ-2600 Tilkoneet 230 CSP- KIELI CSP- LTS CSP- MALLI OHJ-2600 Tilkoneet 231 Hrjoitustehtäviä 1. Olkoot P j Q rkenteellisesti deterministisiä (määritelmä 4.6). () Todist, että P tr Q P s Q j P CFFD Q P s Q. Vihje: ik pljon tästä on tehty jo. () Päteekö P tr Q P iso Q? ( iso = isomorfismi) (c) Pohdi CFFD-teorin merkitystä tilnteess, joss kikki LTS:t ovt rkenteellisesti deterministisiä. (d) Pohdi sellisen teorin, joss kikki LTS:t ovt rkenteellisesti deterministisiä, käyttörvo rinnkkisjärjestelmien suunnittelulle, verifioinnille j testukselle. 2. Olkoot P j Q toiminnllisesti deterministiset (määritelmä 4.31). Osoit, että P CFFD Q ei tk P s Q. 3. CSP-tyylinen keino rekursion P[] := f(p[]) CFFD:n mukisen merkityksen suorksi määrittelemiseksi olisi julist, että P[]:n merkitys on CFFD :n mukn pienin ti vihtoehtoisesti suurin nelikkö ({}, Sfil, Divtr, Inftr) siten, että sijoitettun P[]:n piklle se toteutt yhtälön P[] CFFD f(p[]). Kyseistä nelikköä kutsutn pienimmäksi ti suurimmksi kiintopisteeksi (lest / gretest fixed point). () Etsi prosessin P[] := ;P[] [] ;loop LTS j sen CFFD-mlli (Sfil jne.). () Etsi vstvn yhtälön pienin j suurin rtkisu. (c) Päättele, että pienin kiintopiste ei nn oike semntiikk.

OHJ-2600 Tilkoneet 232 4. Osoit rekursiot P[] := ;P[] [] ;stop käyttäen, että myöskään suurimmn kiintopisteen käyttö ei toimi. 5. Osoit, että yhtälöllä P[] CFFD ;P[] [] ;P[] ei ole yksikäsitteistä pienintä rtkisu lkutilllisten LTS:ien semntiikkojen joukoss. 6. Etsi prosessin P[] := ;P[] oike CFFDsemntiikk sekä vstvn yhtälön pienin j suurin rtkisu. OHJ-2600 Tilkoneet 233 5 VERIFIOINTI CFFD-SEMANTIIKALLA Tämän luvun tvoite on käydä läpi joitkin isoj esimerkkejä CFFDsemntiikn käytöstä järjestelmien vlidoinniss, verifioinniss j suunnitteluss esitellä joitkin CFFD-semntiikn käytön peritteit j menetelmiä Esimerkkinlyysit on tehty Ar-työklull kehityshistori loitettiin VTT Elektroniikn Ar-hnkkeess 1990-luvun lkupuolell jtkettiin TTY:n verifiointilgoritmien tutkimusryhmässä 1990-luvun puolivälin tienoill korvttiin vuoden 2000 tienoill ryhmän kehittämällä uudell TVT-työklull toiminnllisuus lskee LTS:iä Ar-Lotos -lusekkeist kutist LTS:iä lluvun 4.6 lgoritmill trkst LTS:ien CFFD-smnlisuuden piirtää utomttisesti pieniä LTS:iä ruudulle Ar Lotos sisältää prosessien j osprosessien määrittelemisen kuten Lotoksess useimmt Lotoksen rinnkkisuus- j ohjusrkenteet muutmn hyvin pelkistetyn tietotyypin LTS:ien käytön osprosessein lusekkeiss joitkin erityisiä verifiointi tukevi piirteitä 5.1 Visulisointi OHJ-2600 Tilkoneet 234 Tässä lluvuss kehitetään vuorottelevn itin protokolln edistynyt muunnos skel skeleelt lopullinen protokoll sisältää vstkkisten ospuolten vuorottelevien ittien utomttisen synkronoinnin kehitystyö lk äärimmäisen yksinkertisest protokollst tvoitteen on osoitt, että rinnkkisjärjestelmät ovt usein pljon monimutkisempi kuin miltä ne luksi näyttävät hvinnollist CFFD-semntiikn, Arn j visulisoinnin käyttöä järjestelmien suunnitteluss ineisto on julkisust Vlmri, Krsisto, Setälä (1996) Lähtökoht kksi epäluotettv knv yhdistää pikt A j B, yksi kumpnkin suuntn knvt voivt hukt snomi täytyy rkent luotettv tp välittää viestejä A:st B:hen trvitn seurvnkltinen protokoll A lähetä vst Lähetin OHJ-2600 Tilkoneet 235 vst.ot vst B Vst.otin?????? DtKnv?? KuittusKnv Tärkeä käytännön kokemus protokollsuunnittelust protokollien suunnittelu voi etukäteen vikutt helpolt kuitenkin, jos sitä yrittää tosissn, se pljstuu uskomttomn vikeksi jos protokoll suunnitelln ilmn erikoisosmist j stetn toimintkuntoon testmll j korjmll hvitut et, niin jäljelle jää lähes vrmsti itä, jotk ilmenevät hrvoin ti vin erikoisiss olosuhteiss, mutt joill voi oll phoj vikutuksi Joitkin verifiointityöklujen käytön peritteit kokemus verifioinnist Arll on opettnut, että pitää loitt hyvin yksinkertisell järjestelmällä edetä pienin skelin trkst työklull jokisen muutoksen jälkeen

OHJ-2600 Tilkoneet 236 muuten ensimmäinen j myöhemmät suunnitelmt tulevt olemn niin täynnä itä, että niitä ei sd ettömiksi ilmn perusteellisi muutoksi niin monimutkisi, että työklu ei selviä niistä tämä toiminttp voi kuulost ik vievältä kuitenkin, jos yrittää ott liin ison skeleen kerrll, niin skeleen loppuos jää hyllyvälle pohjlle skeleen korjminen kestää kun (oletten, että työklut ti testus pystyy pljstmn, että itä on) yritys tehdä yksi iso skel vie helposti enemmän ik kuin mont pientä skelt koskn ei ole trpeeksi ik tehdä se kunnoll, mutt in on trpeeksi ik tehdä se uudelleen Ensimmäisen version johdnto edellä olevien peritteiden mukisesti teemme protokolln ensimmäisestä versiost äärimmäisen yksinkertisen snomnvälitystehtävän vstnotto pikss A, viestin lähettäminen knvn läpi, perille toimitus pikss B sekä kuittminen ei iden hvitsemist eikä uudelleenlähetystä knvien epäluotettvuus on kuitenkin mukn mlliss A-siks nt snomn välitettäväksi suorittmll lähetä vst vst = viesti lähetin lähettää snomn tphtumll l_dt vst OHJ-2600 Tilkoneet 237 snom tulee ulos dtknvn toisest päästä tphtumll v_dt vst vstnotin välittää snomn B-sikklle tphtumll vst.ot vst, lähettää kuittuksen l_kuitt j pl lkutilns kun kuittus spuu (v_kuitt), myös lähetin pl lkutilns teorimme j työklumme eivät ole hyviä käsittelemään dtsisältöjä mllitmme snomn sisällön vst sllimll sille vin kksi eri rvo, v 1 j v 2 knvt oletetn epäluotettviksi mllitmme ne siten, että snomn perille välittämisen lisäksi knvt voivt myös hukt sen (h_dt j h_kuitt) A lähetä vst Lähetin v_kuitt l_dt vst h_dt DtKnv v_dt vst KuittusKnv h_kuitt vst.ot vst B Vst.otin l_kuitt Ensimmäisen version yksityiskohdt ensimmäisen version prosessitt OHJ-2600 Tilkoneet 238 Lähetin 1 Vst.otin 1 v_dt v 1 lähetä v 2 v_kuitt l_dt v 1 v_dt v 2 l_kuitt vst.ot v 1 l_dt v 2 vst.ot v 2 v_dt v 1 DtKnv 1 h_dt KuittusKnv 1 v_dt v 2 h_dt l_dt v 1 l_kuitt v_kuitt h_kuitt l_dt v 2 näytteeksi Arn syöttökielestä protokolln ensimmäinen versio esitetään Ar Lotoksell rinnnkytkentäoperttoreit [ ] j on käytetty siten, että niiden vikutus on sm kuin kurssin operttorin OHJ-2600 Tilkoneet 239 $sort snomn_sisältö is (v 1, v 2 ) process Versio1[ lähetä, vst.ot, l_dt, v_dt, l_kuitt, v_kuitt, h_dt, h_kuitt ]:= Lähetin[ lähetä, l_dt, v_kuitt ] [ l_dt, v_kuitt ] ( DtKnv[ l_dt, v_dt, h_dt ] KuittusKnv[ l_kuitt, v_kuitt, h_kuitt ] ) [ v_dt, l_kuitt ] Vstnotin[ vst.ot, v_dt, l_kuitt ] where process Lähetin[ lähetä, l_dt, v_kuitt ] := lähetä? vst : snomn_sisältö; l_dt! vst; v_kuitt; Lähetin[ lähetä, l_dt, v_kuitt ] endproc process Vstnotin[ vst.ot, v_dt, l_kuitt ] := v_dt? vst : snomn_sisältö; vst.ot! vst; l_kuitt; Vstnotin[ vst.ot, v_dt, l_kuitt ] endproc process DtKnv[ l_dt, v_dt, h_dt ] := l_dt? vst : snomn_sisältö; ( v_dt!vst; DtKnv[ l_dt, v_dt, h_dt ] [] h_dt; DtKnv[ l_dt, v_dt, h_dt ] ) endproc process KuittusKnv[ l_kuitt, v_kuitt, h_kuitt ] := l_kuitt; ( v_kuitt; KuittusKnv[ l_kuitt, v_kuitt, h_kuitt ] [] h_kuitt; KuittusKnv[ l_kuitt, v_kuitt, h_kuitt ] ) endproc endproc

OHJ-2600 Tilkoneet 240 Ensimmäisen version käyttäytyminen ensimmäisen version käyttäytyminen sdn muodostmll LTS Lähetin 1 Vst.otin 1 DtKnv 1 KuittusKnv 1 tässä se on: Versio 1 l_dt v 1 v_dt v 1 lähetä v 2 h_dt h_dt l_dt v 2 v_dt v 2 v_kuitt vst.ot v 1 vst.ot v 2 l_kuitt h_kuitt kuvss on kksi onnistuneen toiminnn silmukk: l_dt v 1 v_dt v 1 vst.ot v 1 l_kuitt v_kuitt lähetä v 2 l_dt v 2 v_dt v 2 vst.ot v 2 l_kuitt v_kuitt on myös lukkium, johon pääsee tphtumill h_dt j h_kuitt syy: protokollss ei ole snomien ktomisen hvitsemist eikä uudelleenlähetystä käyttäytyminen on niin pieni j yksinkertinen, että LTS voitiin piirtää kokonn j se on helppo ymmärtää ei trvittu edistyneitä menetelmiä tämä johtuu kuitenkin vin siitä, että järjestelmä on poikkeuksellisen yksinkertinen OHJ-2600 Tilkoneet 241 Toinen versio: lisätään uudelleenlähetys päästäksemme lukkiumst eroon muutmme protokoll siten, että jos kuittus ei svu määräikn mennessä, niin dtsnom lähetetään uudelleen loitmme rjoittmttomll uudelleenlähetyksellä, kosk se on helpompi kuin rjoitettu rjoitettu vtisi lähetysyritysten määrän lskemist vältymme sen miettimiseltä, mitä tehdään, kun rj tulee täyteen teorissmme ei ole käsitteitä jn mllintmiseksi mllitmme määräjn tvllisell tphtumll vin lähetintä trvitsee muutt Lähetin 2 lähetä v 2 määräik määräik l_dt v 1 v_kuitt v_kuitt l_dt v 2 Ennenikinen uudelleenlähetys mllitimme määräik tvllisell tphtumll määräik voi tphtu vikk kuittus olisi tuloss voi syntyä turh uudelleenlähetys tiedetään heuristisi keinoj estää ennenikisi tphtumi verifiointiformlismeiss, joiss ei ole jn käsitettä OHJ-2600 Tilkoneet 242 esimerkiksi määräjn täyttymistä edustville siirtymille voi nt lemmn prioriteetin kuin muille määräik voi täyttyä vin kun järjestelmän mlliss ei voi tphtu mitään muut määräik ei voi täyttyä, kun dtsnom on knvss ti vstnottimen käsittelyssä, ti kuittus on knvss CFFD-teori ei sisällä prioriteettej ne rikkoisivt esijärjestyksen monotonisuuden toinen kikk olisi synkronoid määräjn täyttymistä edustvt siirtymät dt- j kuittusknviin j vstnottimeen siten, että määräik voi täyttyä vin kun knvt ovt tyhjät j vstnottimell ei ole tekemistä mtkii prioriteettej mhdollinen myös CFFD-teori käytettäessä tik-tphtumt ovt vielä yksi mhdollisuus esittävät jn kulumist ovt kikkien osprosessien kkostoiss osprosessit suostuvt niihin trklleen silloin kun ne odottvt jn kulumist ti niillä ei ole muut tekemistä tässä tpuksess hyvin smnkltinen rtkisu kuin edellinen toislt, ennenikisi uudelleenlähetyksiä tphtuu tosimilmss! ne vältetään vin, jos ttn prosessien olevn riittävän nopeit reliikoletus on ljlti hyväksytty, että reliikoletuksi knntt välttää, mikäli ilmnkin pärjätään OHJ-2600 Tilkoneet 243 järjestelmät knntt suunnitell selviämään ennenikisist uudelleenlähetyksistä on prempi, että niitä tphtuu myös verifiointimlleiss Toisen version käyttäytyminen toisen version käyttäytymistä esittävässä LTS:ssä on 92 til j 265 siirtymää liin iso ihmisvoimin tutkittvksi snomn sisällön toisest mhdollisest rvost v 2 ei todennäköisesti ole mitään hyötyä nlyysin tässä viheess protokolln toimint on riippumton snomien sisällöistä tämän hetken pulm on päästä eroon lukkiumst poistmme rvon v 2 yksinkertistksemme käyttäytymistä tulemme pnemn v 2 :n tkisin kun smme protokolln toimimn muilt osin v 2 :n poisto pienentää käyttäytymisen 34:ään tiln j 89:ään siirtymään niin pieni, että Ar pystyy piirtämään silti liin iso ihmisille syy: se on liin yksityiskohtinen! l_dt v 1, v_dt v 1, l_kuitt, v_kuitt, h_dt, h_kuitt j määräik näytetään, vikk niiden pitäisi oll toteutusyksityiskohti vin lähetä j vst.ot ovt mielenkiintoisi protokolln käyttäjän knnlt

OHJ-2600 Tilkoneet 244 Astrhointi j kutistus pienentääksemme toisen version käyttäytymistä strhoimme järjestelmää kätkemällä sen sisäisiä tphtumi hide-operttorill (kätkentäoperttori) tulos: LTS, joll on sm koko j rkenne kuin lkuperäisellä, mutt pljon -siirtymiä sitten kutistmme strhoitu LTS:ää Ar:n kutistustyöklull tulos: Versio 2 vst.ot v 1 vst.ot v 1 vst.ot v 1 vst.ot v 1 Toisen version käyttäytyminen oheinen LTS on riittävän pieni tutkittvksi hvinto: järjestelmällä on ääretön jälki vst.ot v 1 vst.ot v 1 vst.ot v 1 protokoll voi khdent snomi huono! syy: lähetin voi lähettää snomn uudelleen myös jos vstnotin si sen vstnotin nt myös uudet kopiot B-sikklle OHJ-2600 Tilkoneet 245 trpeettomn uudelleenlähettämisen syy voi oll ennenikinen uudelleenlähetys kuittuksen ktominen knvss ennenikisen uudelleenlähetyksen esto ei rtkisisi ongelm protokoll voi pillstu milloin thns ensimmäisen -tphtumn jälkeen syy: uudelleenlähetyksen j kuittuksen ktomisen loputon toistuminen protokoll voi myös välttää pillstumisen lähetin lopett uudelleenlähettämisen kun kuittus spuu kuv sisältää kolme kopiot smst rkenteest, j sitten vst.ot v 1 -silmukn kolme on suurin mllille mhdollinen määrä -tphtumi ilmn, että välissä tphtuu vst.ot v 1 luku määräytyy lähettimen j vstnottimen rkenteest sekä kuittusknvn kpsiteetist sen ymmärtäminen ei ole trpeen, kosk meillä on jo kylliksi tieto seurvn muutoksen pohjksi: snomien khdentuminen on estettävä Hvintoj snomien khdentuminen oli helppo huomt kuvst, jok esittää kutistetun strhoidun käyttäytymisen olisimme lähes vrmsti huomnneet sen, vikk emme olisi etukäteen tienneet, että sellistkin voi tphtu OHJ-2600 Tilkoneet 246 kutistetut strhoidut LTS:t tekevät monist istä selvästi erottuvi smt et olisi usein vike löytää muun tyyppisillä formleill menetelmillä ti testmll kutistetut strhoidut LTS:t ovt käyttökelpoisi suunnitteluideoiden kokeilemiseen löysimme selityksen oheisen kuvn monille piirteille selityksiä ei stu kuvst, vn lisänlyyseillä j päättelemällä lisänlyysit j päättely ovt mhdollisi, kun on jokin käsitys siitä, mitä olln etsimässä tämä käsitys sdn kuvst esimerkin ntmt opetukset: poist yksityiskohdt, jotk eivät ole olennisi senhetkisen ongelmn knnlt (voit pnnn ne myöhemmin tkisin) vlitse pieni joukko kiinnostvi tphtumi j kätke muut kutistettu strhoitu käyttäytyminen näyttää iden oireet korkell strktiotsoll, minkä jälkeen et voidn löytää lisänlyyseillä (j päättelemällä) toinen versio oli nlysoitviss, kosk skel ensimmäisestä ei ollut liin iso jos toisen version käyttäytyminen olisi ollut liin iso, meidän olisi täytynyt yksinkertist sitä poistmll toiminnllisuutt ti vlitsemll vähemmä tphtumi näkyviksi OHJ-2600 Tilkoneet 247 Kolms versio: sekvenssinumeroiden lisäys kuittus voi jäädä spumtt joko dtn ti kuittuksen ktomisen vuoksi jos kuittus ei svu, lähetin ei voi tietää svuttiko snom vstnottimen ei void välttää jo perille menneiden snomien uudelleenlähetystä snomien khdentumisen estämiseksi vstnottimen täytyy kyetä erottmn ikisempien snomien uudelleenlähetykset uusist snomist voisiko tämän toteutt hylkäämällä snomn, jos sen sisältö on sm kuin edellisen? ei, kosk on mhdollist, että siks on lähettänyt smn sisällön khdesti sitäpitsi koko sisällön tllettminen j vertminen mks protokolln täytyy nt snomille riittävän yksikäsitteinen tunniste yllätys: yksi itti riittää! vurottelevn itin (lternting it) protokoll, Brtlett & l. (1969) lähettimellä on vuorottelev itti, jonk rvon se viht jok kert kun se lähettää uuden snomn ensimmäistä kert jokiseen dtsnomn liitetään lähettimen vuorottelevn itin rvo vstnotin voi erott uudelleenlähetykset tutkimll vuorottelevien ittien rvoj

OHJ-2600 Tilkoneet 248 lkuperäinen vuorottelevn itin protokoll liittää vuorottelevn itin sekä dtsnomiin että kuittuksiin kuittuksien vuorottelev itti näyttää kuitenkin ilmeisen trpeettomlt, joten jätämme sen pois Kolmnnen version käyttäytyminen kutistettu strhoitu käyttäytyminen Versio 3 vst.ot v 1 vst.ot v 1 vst.ot v 1 vst.ot v 1 ensimmäinen snom spuu perille oikein (jollemme välitä pillstumst, jonk syy lienee loputon dtsnomien hukkuminen) on kuitenkin mhdollist, että toinen j myöhemmät snomt eivät tule linkn perille, j protokoll lk silti odott uusi snomi protokoll hukk snomi en syyn täytyy oll hienovireinen, kosk ensimmäinen snom ei voi kdot OHJ-2600 Tilkoneet 249 mhdollinen tphtumien kulku: ensimmäinen kuittus viivästyy ensimmäinen snom lähetetään uudelleen viivästynyt kuittus spuu toinen lkuperäinen snom lähetetään, mutt huktn knvss uudelleen lähetetyn ensimmäisen snomn kuittus spuu lähetin tulkitsee sen ellisesti toisen lkuperäisen snomn kuittukseksi ehkä vuorottelevn itin trpeettomuus kuittuksiss ei olekn niin ilmeistä Neljäs versio: ehjä vuorottelevn itin protokoll vuorottelev ittiä käytetään molemmiss suunniss lähetin j vstnotin ovt nyt kuten kuvss Lähetin 4 v_kuitt 1 l_dt v 1,1 määräik määräik l_dt v 1,0 v_kuitt 0 Vst.otin 4 l_kuitt 1 vst.ot v 1 v_dt v 1,1 v_dt v 1,0 v_dt v 1,1 v_dt v 1,0 vst.ot v 1 l_kuitt 0 kutistettu strhoitu käyttäytyminen Versio 4 () OHJ-2600 Tilkoneet 250 vst.ot v 1 hyvin yksinkertinen! pillstuminen on mhdollist jos järjestelmä ei pillstu, niin jokinen lähetetty snom tulee perille, j tsn yhden kerrn voimme nyt plutt mlliin toisen snomtyypin, j vikk lisätä kolmnnen Versio 4 () lähetä v 2 vst.ot v 2 vst.ot v 1 lähetä v 3 vst.ot v 3 näyttää yhä hyvältä Viides versio: uudelleenlähetysten määrän rjoittminen vuorottelevn itin protokoll toimii muuten hyvin, mutt se voi pillstu erityisesti, jos toinen ti molemmt knvist on kokonn poikki, niin pillstuminen on vrm oiket järjestelmät eivät s käyttäytyä niin niiden pitää josskin viheess luovutt j kerto A-sikklle, että lähettäminen ei näytä onnistuvn (tosin voidn päättää, että tämä ei ole protokolln vn ylemmän tson tehtävä) OHJ-2600 Tilkoneet 251 setmme uudelleenlähetysten määrälle ylärjn, j lisäämme ilmoituksen, jos rj svutetn ilmn menestystä yksinkertisuuden vuoksi setmme uudelleenlähetysten mksimimääräksi nolln ts. vin lkuperäinen lähetysyritys sllitn kun protokoll toimii tällä rjll, voidn kokeill isompi rjoj (on tehty, mutt ei tällä kurssill on jop tutkittu kikill rjoill) Viidennen version kutistettu strhoitu käyttäytyminen vst.ot v 1 vst.ot v1 pillstumt ktosivt los sisältää siistin -vst.ot v 1 -silmukn, jok näyttää edustvn hluttu toimint jos ko. silmukst poistutn, sdn vrmsti ilmoitus ----silmukk on hyväksyttävää toimint: snom kto, nnetn ilmoitus, j protokoll pl lkutilns

OHJ-2600 Tilkoneet 252 on myös mhdollist, että nnetn ilmoitus, mutt snom tulee perille joko sitä ennen ti jälkeen ---vst.ot v 1 j -vst.ot v 1 -- luonnollinen käyttäytyminen, jos kuittus hukkui ti viivästyi protokoll jää ylärivin keskitiln ylärivin keskitiln jälkeinen käyttäytyminen ei ole hyväksyttävissä: tphtumn jälkeen on joko meno lkutiln ilmn viestin perillemeno j ilmn ilmoitust, ti ilmoitus j pluu ylärivin keskitiln snom hukkuu vrmsti, j voi hukku ilmn ilmoitust! Kuudes versio edellisen version ongelm on, että jos nnetn ilmoitus, niin lähetin ei tiedä onko vstnotin muuttnut ittinsä rvo snom hukkui ei ole kuittus hukkui on lähetin voi lähettää seurvn lkuperäisen snomn itin rvoll, jonk vstnotin tulkitsee edellisen snomn uudelleenlähetykseksi rtkisu: meknismi, joll lähetin voi pkott vstnottimen itin rvon smksi kuin omns lähetin lähettää l_synk it in kun se on epävrm vstnottimen itin rvost vstnotin kuitt sen j tulkitsee it:in viimeksi käytetyksi vuorottelevn itin rvoksi lopullinen vstnotin OHJ-2600 Tilkoneet 253 nyt kun vuorottelevien ittien synkronointimeknismi on olemss, sitä voi käyttää myös luksi ei ole enää trpeen luott siihen, että osill on lunperin sm käsitys itin rvost protokolln häiriösietoisuus prnee lopullinen lähetin Lähetin 6 määräik l_synk 0 määräik v_kuitt 0 v_kuitt 0 l_dt v 1,0 v_kuitt 1 l_dt v 1,1 v_kuitt 1 määräik määräik l_synk 1 Vst.otin 6 v_synk 0 v_dt v 1,1 v_dt v 1,0 vst.ot v 1 v_dt v 1,0 l_kuitt 1 v_synk 1 v_synk 0 l_kuitt 0 vst.ot v 1 v_dt v 1,1 v_synk 1 Kuudennen version käyttäytyminen kutistettu strhoitu käyttäytyminen vst.ot v 1 OHJ-2600 Tilkoneet 254 vst.ot v 1 vst.ot v 1 vsemmnpuolimmist til lukuunottmtt kikki kierrokset lkutilst tkisin lkutiln näyttävät hyväksyttäviltä -vst.ot v 1 -: snom meni perille -vst.ot v 1 --: snom meni perille, mutt nnettiin ilmoitus ---vst.ot v 1 : snom meni perille, mutt nnettiin ilmoitus vsemmnpuolimminen til svutetn vin, jos tulee ilmoitus, mutt ei snom siitä pääsee lkutiln seurvill tphtumketjuill -vst.ot v 1 -: snom meni perille ---vst.ot v 1 : snom meni perille, mutt nnettiin ilmoitus edeltävät ylimääräisellä vst.ot v 1 -vst.ot v 1 -vst.ot v 1 -- j itseensä ---: snom hukkui, ilmoitus -vst.ot v 1 --- vikutt muuten hyvältä, mutt on ylimääräisiä vst.ot v 1 khdentko protokoll snomi? vst.ot v 1 OHJ-2600 Tilkoneet 255 vihtoehtoinen selitys: ylimääräinen vst.ot v 1 voi tphtu vin edeltävän snomn hukuttu ehkä edeltävä snom ei hukkunutkn, vn viivästyi, j toimitetn perille näennäisesti ylimääräisenä vst.ot v 1? Khdentumisen trkstus trkstksemme, voiko protokoll khdent snomi, otmme käyttöön toisen snomsisällön v 2 kun, lähetä v 2, vst.ot v 1, vst.ot v 2 j näkyvät, on kutistettu strhoitu käyttäytyminen liin monimutkinen tulkittvksi jätämme näkyviksi vin lähetä v 2 j vst.ot v 2 tulos: vst.ot v 2 vst.ot v 2 lähetä v 2 lähetä v 2 lähetä v 2 kuv näyttää, että vstnotettujen v 2 -snomien määrä ei koskn ylitä lähetettyjen v 2 -snomien määrää protokoll ei ktso välitettävän viestin sisältöä sille on ivn sm onko sisältönä v 1 vi v 2 jos protokoll voisi khdent jonkin m:n mittisen (m mielivltinen, jop ) välitettävien viestien ketjun n:nnen (n mielivltinen) viestin, niin se voisi khdent n:nnen viestin ketjust, jok koostuu (n 1) v 1 -viestistä, yhdestä v 2 -viestistä j (m n) v 1 -viestistä

OHJ-2600 Tilkoneet 256 OHJ-2600 Tilkoneet 257 kuvss näkyisi suoritus, joss on yksi lähetä v 2 j kksi vst.ot v 2 kuvss ei sellist ole protokoll ei khdenn snomi protokoll näyttää olevn kunnoss tällinen päättely tunnetn dtriippumttomuuten (dt independency) (ti oikestn siihen vetomisen) hyödynnetään sitä seikk, että protokolln toimint on riippumton välitettävien snomien sisällöstä vroitus! emme ole vieläkään trkstneet kikke esim. emme trkstneet, että snomien järjestys ei voi vihtu Knvien mllintmisest oletimme, että knvien kpsiteetti on yksi muut kpsiteetit ovt todellisuudess mhdollisi, mutt mitä isompi kpsiteetti, sitä vrmemmin verifiointityöklu tukehtuu oletimme, että knvt voivt hukt snomi, mutt eivät voi iheutt muut hitt todellisuudess on olemss myös muunlisi knvien itä, esimerkiksi snomn vääristyminen snomn khdentuminen (OSI-mllin korkeill tsoill) snomien järjestyksen vihtuminen snom voi vääristyä khdell tvll: muuntuminen roskksi (ts. tunnistmttomksi snomksi) muuntuminen toiseksi lilliseksi snomksi oletimme, että jos snom ei luet knvst, se lopult kto prosessiemme ei trvinnut käsitellä odottmtt spuvi snomi, kosk trvittess knv hävitti ne lopult kenties menetimme itä, jotk johtuvt siitä, että lukemtt jäävä odottmton snom tukkii knvn emme ottneet tällisi huomioon, jott esimerkki pysyisi yksinkertisen nyt kun protokoll toimii muuten hyvin, on ik pohti tällisi Roskksi muuttumisen käsittely tosimilmss käytetään trkstussummi hvitsemn roskksi muuttuminen roskksi muuttuminen j trkstussummt voidn mllitt lisäämällä uusi snomn sisältö rosk siten, että in kun knv voi nt kunnollisen snomn, se voi nt myös rosksnomn protokolln mlli käsittelee rosksnomn kuten oike protokoll trkstussummen yleinen tp käsitellä trkstussumm on hylätä snom sm vikutus kuin snomn hukkumisell ei muuttisi smimme nlyysituloksi OHJ-2600 Tilkoneet 258 OHJ-2600 Tilkoneet 259 toinen tosimilmn tp on, että vstnotin lähettää negtiivisen kuittuksen kuten määräik, s lähettimen lähettämään uudelleen ti ntmn ilmoituksen voi nopeutt protokoll tuskin muutt smimme nlyysituloksi lähetin voi regoid roskkuittukseen kuten määräikn toimii smoin kuin kuittuksen ktominen j / ti ennenikinen määräik tuskin muutt smimme nlysituloksi rvioimme, että rosksnomien j negtiivisten kuittusten lisäys ei muuttisi nlyysituloksi emme jksneet tutki työklull mutt voimmeko oll vrmoj, että päättelimme oikein? Ehdotus voimme lisätä rosksnomt j negtiiviset kuittukset nyt kun olemme sneet protokolln toimimn oikein ilmn niitä luksi jätä "ilmeisen" epäolenniset piirteet pois, jott nlyysi pysyisi hllittvn ollksesi täysin vrm, ot ne mukn kun kikki muu toimii j on lopullisen trkstuksen ik sitä koett ei ole tehty nlyysiä on jtkettu toiseen suuntn Muiksi lillisiksi snomiksi muuttumisen käsittely muuksi lilliseksi snomksi muuttuminen on todellisuudess mhdollist, mutt trkstussummien nsiost hyvin hrvinist voitisiin helposti mllitt ntmll knvien tuott mille thns syötteelle mitä thns lopputulokseksi kuitenkn sellisen mllin tpuksess lähetin j vstnotin eivät näkisi toisin, vn mielivltisen vstpuolen, jok voi lähettää mitä thns snomi melkein milloin thns protokolln ospuolet olisivt täysin ilmn todellist tieto toistens tilst mikään järjestelmä ei voi toimi, jos se ei voi tehdä mitään oletuksi trvitsemiens plvelujen käyttäytymisestä tilnne, joss snomt voivt muuttu miten thns ei ole nlysoinnin rvoinen mikään protokoll ei voi toimi sellisiss oloiss snomien rjllisen muuttumisen muiksi lillisiksi snomiksi nlyysi olisi mielekästä, mutt työlästä esim. jokisen knvn täytyy välittää inkin yksi ehjä snom minkä thns khden rikotun snomn välissä silloin mhdollisist istä pitäisi tehdä j mllitt yksityiskohtisi oletuksi sitäpitsi protokolln pitäisi oll pljon monimutkisempi, jott se toimisi oikein viksietoiset (fult-tolernt) järjestelmät om tutkimuslueens

OHJ-2600 Tilkoneet 260 Snomien khdentumisen käsittely voidn mllitt muuttmll knvi sopivsti sillä on todennäköisesti sm vikutus kuin uudelleenlähetyksillä voi iheutt joitkin ongelmi nlyysille, mutt kenties (toivottvsti!) ei muut tuloksi Snomien jääminen tulpksi knviin oletimme, että jos snom ei luet knvst, se lopult kto moni todellinen viestiväline toimii niin itit näkyvät linjll sähköpulssein joitkin sekunnin osi, j sitten ne ktovt oletus myös yksinkertisti nlyysiä poistmll trpeen käsitellä odottmtt spuvt snomt protokolln prosesseiss se oli kuitenkin vin vielä yksi tilpäinen (?) yksinkertistus tosimilmn protokollien pitää käsitellä myös odottmttomt snomt itse siss, jos poistmme tphtumt h_dt j h_kuitt, niin protokollmme voivt lukkiutu! voi syntyä tilnne, joss sekä lähetin että vstnotin yrittävät lähettää, mutt eivät voi, kosk knvt ovt täynnä jos h_dt j h_kuitt ovt mukn, ne lopult tyhjentävät jommnkummn knvn, jolloin lähettäminen tulee mhdolliseksi OHJ-2600 Tilkoneet 261 Pätevä mlli snomien tulpksi jäämisen knnlt trkstelkmme näitä kolme knvn mlli () () (c) out 1 out 2 in 1 in 2 out 1 in 1 in 2 out 2 out 1 out 2 in1 in 2 () on luotettv ei voi hukt snomi () on se mlli, jot olemme tähän sti käyttäneet voi hukt snomi tk, että lopult snom kto, jos sitä ei luet (c) voi sekä hukt snomn että sitoutu sen perille menoon pätee () CFFD (c) () CFFD (c) () / CFFD () j () / CFFD (), kosk ():ll on vk estymä (in 1, {in 1 }) jot ():llä ei ole, j ():llä on jälki in 1 in 1 jot ():ll ei ole CFFD-esijärjestyksen ominisuudet tkvt, että jos järjestelmä verifioidn yhdellä knvien mllill, niin se toimii oikein myös kikill CFFD-pienemmillä knvill luku 4.5 oikein = ei littomi jälkiä, vkit estymiä, että protokollmme lukkiutuvt ()-knvill j toimivt kunnoll ()-knvill sopii teorin, kosk () / CFFD () OHJ-2600 Tilkoneet 262 kuitenkin, jos ne verifioidn (c)-knvill, niin ne toimivt myös ()- j ()-knvill Puhkk & Vlmri (1997, 2000) tekivät sellisen verifiointikokeen lukkiumist eroonpääsemiseksi protokolln lisättiin odottmttomien snomien poislukemisi jos voit vlit, vlitse CFFD-suurin vihtoehto silloin tulokset pätevät myös CFFD-pienemmille vihtoehdoille Myöhemmin protokoll on muunnettu kksisuuntiseksi toisin snoen, A-siks voi lähettää B-sikklle j toisinpäin toisistn riippumtt Puhkk & Vlmri (1997, 2000) tutkimuksess Kervinen, Vlmri, Järnström (2001) j Kervisen diplomityössä (2001) trkstettiin tosimilmn teollinen protokoll tämäntpisill menetelmillä Prnnettu visulisointi esim. Virtnen (2000) OHJ-2600 Tilkoneet 263 Hrjoitustehtäviä 1. Lisää roskksi muuntuminen j negtiiviset kuittukset lopulliseen protokolln (ts. versioon 6) j trkst Arll, toimiiko tulos oikein. 2. Miksi lopullisen protokolln syknronointisnomt sisältävät vuorottelevn itin? Kokeile Arll mitä tphtuisi ilmn sitä. 3. () Näytä, että protokolln versiot 4 j 6 voivt lukkiutu, jos knvist poistetn tphtumt h_dt j h_kuitt. () Lisää lähettimeen j vstnottimeen riittävästi odottmttomien snomien lukemisi siten, että protokoll toimii ts oikein. Odottmton snom luetn pikllissilmukll, jok ei muut lähettimen ti vstnottimen til. (c) Voidnko odottmttomt snomt käsitellä joskus premmin kuin lukemll pois ilmn muut rektiot? Trkstele erityisesti l_synk-siirtymien lkutil versioss 6. 4. Mitä tphtuisi, jos vst.ot- j l_kuitt-siirtymien järjestys vstnottimess vihdettisiin? 5. Voiko protokolln viimeinen versio viht snomien järjestystä? 6. Sen jälkeen kun kysymykseen 5 on vstttu, onko kikki mhdolliset ulkoisesti hvittvn käyttäytymisen et otettu huomion?