T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra

Samankaltaiset tiedostot
T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra

Odotusarvoparien vertailu. Vilkkumaa / Kuusinen 1

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

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

Toispuoleiset raja-arvot

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä.

2 1/ /2 ; (a) Todista, että deg P (x)q(x) = deg P (x) + deg Q(x). (b) Osoita, että jos nolla-polynomille pätisi. deg 0(x) Z, Z 10 ; Z 10 [x];

MS-A0402 Diskreetin matematiikan perusteet

MAT Algebra 1(s)

Yksisuuntainen varianssianalyysi (jatkoa) Heliövaara 1

Rajoittamattomat kieliopit

Seuraavana tavoitteena on osoittaa, että binääristen neliömuotojen ekvivalenssiluokat

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

Yksisuuntainen varianssianalyysi (jatkoa) Kuusinen/Heliövaara 1

Johdatus todennäköisyyslaskentaan Todennäköisyyslaskenta ja puudiagrammit. TKK (c) Ilkka Mellin (2005) 1

Todennäköisyyslaskenta ja puudiagrammit. Todennäköisyyslaskenta ja puudiagrammit. Todennäköisyyslaskenta ja puudiagrammit: Esitiedot

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

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi

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

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Symmetrisistä ryhmistä symmetriaryhmiin

Matriisilaskenta, LH4, 2004, ratkaisut 1. Hae seuraavien R 4 :n aliavaruuksien dimensiot, jotka sisältävät vain

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

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

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

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

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

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

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

Reaaliarvoisen yhden muuttujan funktion raja arvo LaMa 1U syksyllä 2011

Liite 2: Verkot ja todennäköisyyslaskenta. Todennäköisyyslaskenta ja puudiagrammit

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

4.0.2 Kuinka hyvä ennuste on?

Materiaalien mekaniikka

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

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

Matemaatiikan tukikurssi

Chomskyn hierarkia ja yhteysherkät kieliopit

Diskreetin Matematiikan Paja Tehtäviä viikolle 2. ( ) Jeremias Berg

Sarjoja ja analyyttisiä funktioita

Taulumenetelmä modaalilogiikalle K

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

Säännöllisten kielten sulkeumaominaisuudet

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

Ristitulolle saadaan toinen muistisääntö determinantin avulla. Vektoreiden v ja w ristitulo saadaan laskemalla determinantti

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

Rekursiiviset palautukset [HMU 9.3.1]

9 Matriisit. 9.1 Matriisien laskutoimituksia

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

Relaation ominaisuuksia. Ominaisuuksia koskevia lauseita Sulkeumat. Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X,

Relaatioista. 1. Relaatiot. Alustava määritelmä: Relaatio on kahden (tai useamman, saman tai eri) joukon alkioiden välinen ominaisuus tai suhde.

Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X,

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

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

Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä.

S BAB ABA A aas bba B bbs c

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

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

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

Ilkka Mellin Todennäköisyyslaskenta Osa 1: Todennäköisyys ja sen laskusäännöt Verkot ja todennäköisyyslaskenta

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

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

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

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

Johdatus reaalifunktioihin P, 5op

Ilkka Mellin Todennäköisyyslaskenta Liite 1: Joukko-oppi

Olkoon R X Y. Sen käänteisrelaatio R 1 on joukosta Y joukkoon X määritelty relaatio, jonka laki on. yr 1 x xry.

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

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

Ekvivalenssirelaatio. Määritelmä 2 Joukon A binäärinen relaatio R on ekvivalenssirelaatio, mikäli. Jos R on ekvivalenssirelaatio ja a A, niin joukkoa

811120P Diskreetit rakenteet

2.4 Normaalimuoto, pohja ja laskentajärjestys 2.4. NORMAALIMUOTO, POHJA JA LASKENTAJÄRJESTYS 13

Kompleksilukujen kunnan konstruointi

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto

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

DIFFERENTIAALI- JA INTEGRAALILASKENTA I.1. Ritva Hurri-Syrjänen/Syksy 1999/Luennot 6. FUNKTION JATKUVUUS

Koodausteoria, Kesä 2014

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Kvanttifysiikan perusteet 2017

Koodausteoria, Kesä 2014

Diskreetin Matematiikan Paja Ratkaisuehdotuksia viikolle 2. ( ) Jeremias Berg

Olkoon R X Y. Sen käänteisrelaatio R 1 on joukosta Y joukkoon X määritelty relaatio, jonka laki on. yr 1 x xry.

Esko Turunen Luku 9. Logiikan algebralisointi

Approbatur 3, demo 5, ratkaisut

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?

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

Lukujonot Z-muunnos Z-muunnoksen ominaisuuksia Z-käänteismuunnos Differenssiyhtälöt. Z-muunnos. 5. joulukuuta Z-muunnos

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Insinöörimatematiikka D

Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi

F dr = F NdS. VEKTORIANALYYSI Luento Stokesin lause

MATP153 Approbatur 1B Harjoitus 3, ratkaisut Maanantai

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Korkean tason verkot

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

Transkriptio:

T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra 19. maaliskuuta 2002

T-79.179: Prosessialgebra 9-1 Petri-verkot vastaan prosessialgebra Petri-verkot esittävät rinnakkaisia ja hajautettuja järjestelmiä graafisesti. Valitettavasti kovin suuria järjestelmiä ei voi kuvailla graafisesti. Nykyiset raskaan sarjan Petri-verkkotyökalut käyttävätkin tekstimuotoista esitystapaa järjestelmille. Prosessialgebra on jo alkujaan tekstipohjainen tapa kuvata rinnakkaisia ja hajautettuja järjestelmiä. Prosessialgebra syntyi Isossa Britanniassa 1980-luvulla, ja sen isät olivat Hoare ja Milner. Tällä luennolla käsittelen CCS-prosessialgebraa (Calculus of Communicating Systems), jonka Milner julkaisi vuonna 1980.

T-79.179: Prosessialgebra 9-2 Prosessialgebrojen pääpiirteet (1/2) Prosessialgebran keskeinen käsite on agentti. Agentilla on in-portti, josta se lukee ympäristöstään tulevia viestejä, ja vastaavasti out-portti, johon se tulostaa viestejä. Varsin usein agentti toimii seuraavasti: 1. Agentti lukee in-portistaan tietyn määrän viestejä 2. Se suorittaa sisäistä laskentaa 3. Lopuksi agentti saattaa tulostaa jotain ja jää odottamaan uusia viestejä Yleensä prosessialgebrassa tutkitaan järjestelmiä, jotka koostuvat useasta keskenään kommunikoivasta agentista.

T-79.179: Prosessialgebra 9-3 Prosessialgebrojen pääpiirteet (2/2) Prosessialgebrojen suurin vahvuus verrattuna Petri-verkkoihin on niiden rakenteellisuus. Prosessialgebran operaattoreita soveltamalla voi muodostaa uusia agentteja esimerkiksi kytkemällä yksinkertaisempia agentteja rinnan. Prosessialgebra antaa myös mahdollisuuden todeta, ovatko kaksi agenttia samanlaiset ulkoisen tarkkailijan kannalta. Prosessialgebra mahdollistaa agenttien kuvaamisen sekä tekstinä että kaavioina. Seuraavalla kalvolla on esitetty kaksi agenttia molemmilla tavoilla.

T-79.179: Prosessialgebra 9-4 τ β γ E α E τ τ β α F F 1 F 2 α G 1 G 2 γ τ Vasemmanpuoleinen agentti voidaan kuvata lausekkeella E ::= α.(β.τ + γ.τ) ja oikeanpuoleinen lausekkeella F ::= α.β.τ + α.γ.τ. (Vertaus postimerkkiautomaattiin.)

T-79.179: Prosessialgebra 9-5 Kuinka prosessialgebra (CCS) toimii? (1/2) Jokaisella agentilla on nimi. Nimet ovat yleisesti isoja kirjaimia, P,Q,R,A,B,C,... Prosessialgebran täytyy myös määritellä näkyvien tapahtumien joukko. Näkyvät tapahtumat ovat sellaisia, joita agentit suorittavat, ja jotka ulkoiset tarkkailijat pystyvät huomaamaan. Yleensä on Act = {α,α,β,β,γ,γ,...}. Jokaisella tapahtumalla on komplementtitapahtuma. Jos α tarkoittaa viestin α vastaanottamista in-portista, niin sen komplementtitapahtuma α merkitsee samaisen viestin kirjoittamista out-porttiin. Pätee myös α = α. On myös näkymätön tapahtuma τ, jota ulkoinen havainnoitsija ei huomaa.

T-79.179: Prosessialgebra 9-6 Kuinka prosessialgebra (CCS) toimii? (2/2) Prosessialgebrassa keskeisin käsite on se, miten agentit käyttäytyvät tietyn tapahtuman jälkeen. Jos kirjoitetaan E α E, agentti E käyttäytyy tapahtuman α jälkeen kuten agentti E. Agentti pystyy siirtymään myös näkymättömän tapahtuman avulla. Tällöin kirjoitetaan G τ G. Nyt ulkopuolinen havainnoitsija ei tiedosta G:n siirtymää.

T-79.179: Prosessialgebra 9-7 Kuinka agentteja voi kuvata? (1/6) Agentteja voidaan muodostaa laskusääntöjen avulla. Seuraavassa esitetään viisi erilaista tapaa muodostaa uusia agentteja (Action Prefixing) Jos haluamme, että uusi agenttimme käyttäytyy kuten E sillä erotuksella, että se ensiksi suorittaa tapahtuman α, voimme määritellä F ::= α.e Tälle agentille pätee myös triviaalisti seuraava ominaisuus: α.e α E

T-79.179: Prosessialgebra 9-8 Kuinka agentteja voi kuvata? (2/6) (Choice) Jos haluamme uuden agentin käyttäytyvän kuten jompikumpi kahdesta aiemmin määritellystä agentista, voimme kirjoittaa C ::= A + B Epädeterministisen valinnan laskusäännöt voidaan jakaa kahteen osaan: 1. Jos A α A, niin pätee A + B α A 2. Jos taasen B α B, niin pätee A + B α B

T-79.179: Prosessialgebra 9-9 Kuinka agentteja voi kuvata? (3/6) (Parallel Composition) Jos kaksi agenttia kytketään rinnan, syntyy uusi agentti, joka merkitään seuraavasti: L ::= M N Rinnankytkennän laskusäännöt ovat seuraavat: 1. Jos M α M, ja N ei osallistu ko. tapahtumaan (eli tapahtumaa α ei voi suorittaa), pätee M N α M N. 2. Jos N α N ja M ei osallistu ko. tapahtumaan (eli tapahtumaa α ei voi suorittaa), on vastaavasti M N α M N τ M N. Tätä tapahtu- 3. Jos taas M α M, sekä N α N, niin pätee M N maa kutsutaan synkronoinniksi.

T-79.179: Prosessialgebra 9-10 Kuinka agentteja voi kuvata? (4/6) (Restriction) Jos haluamme konstruoida agentin, joka on identtinen toiseen agenttiin sillä erotuksella, ettemme salli tiettyjä tapahtumia, kirjoitamme T = S \ Restr missä Restr on niiden tapahtumien joukko, joita emme salli T :n suorittavan. (Huom. Jos tietty tapahtuma on joukossa Restr, emme salli ko. tapahtuman komplementtitapahtumaakaan suoritettavan). Tämän operaattorin laskusääntö on seuraava: Jos pätee S voimme kirjoittaa S \ Restr α S \ Restr. α S ja α,α Restr,

T-79.179: Prosessialgebra 9-11 Kuinka agentteja voi kuvata? (5/6) (Relabeling) Jos agentin J tapahtumat nimetään uudelleen käyttäen hyväksi funktiota m : Act Act : m(α) = m(α), saadaan tulokseksi uusi agentti K, joka merkitään K ::= J[m] (Em. ehto funktiolle m tarkoittaa yksinkertaisesti sitä, että jos m kuvaa α tapahtuman β tapahtumaksi, niin se myös kuvaa α tapahtuman β tapahtumaksi.) Uudelleennimeämisoperaattoria sovelletaan käyttäen seuraavaa laskusääntöä: Jos E α E, niin pätee myös E[m] m(α) E [m].

T-79.179: Prosessialgebra 9-12 Kuinka agentteja voi kuvata? (6/6) Edellä mainitut operaatiot ovat käyttökelpoisia yhdisteltäessä yksinkertaisia agentteja yhä monimutkaisemmiksi. Jos kyseessä on edellä mainittujen laskutoimitusten ketjutus, voi olla helpompi kuvata proseduuri prosessialgebrallisella yhtälöryhmällä (jotka ovat yleensä helpompia kuin differentiaaliyhtälöt... ). Jos E ::= α.e, ja E ::= β.τ.e + γ.τ.e, voimme yhdistää nämä yhtälöt muotoon E ::= α.(β.τ.e + γ.τ.e) Seuraavalla sivulla on kuvattu agentin α.(β.(δ δ) + γ) käännös graafiseksi. Käännöksessä on sovellettu äskeisiä laskusääntöjä. Kuhunkin tilaan on merkitty siinä mahdollisia toimintoja kuvaava prosessialgebran lauseke.

T-79.179: Prosessialgebra 9-13 τ δ δ β α.(β.(δ δ) + γ) α β.(δ δ) + γ γ 0 0 0

T-79.179: Prosessialgebra 9-14 Prosessialgebralliset ekvivalenssit (1/3) CCS määrittelee useita eri ekvivalenssityyppejä, joihin nojaten on mahdollista verrata kahta agenttia. Tutustutaan jälkiekvivalenssiin (trace equivalence), equivalence) ja simulaatioekvivalenssiin (simulation equivalence). hylkäysekvivalenssiin (failure (Trace equivalence) Olkoot kaksi agenttia P ja Q. Jos P:n ja Q:n äärellisten suoritusten (ne tapahtumaketjut, mitä agentti pystyy suorittamaan) joukot ovat samat, kyseiset agentit ovat jälkiekvivalentit. Esim. α.(β + γ) agentin jäljet ovat { α,β, α,γ }. Entäs agentin α.β + α.(β + γ) jäljet? Nekin ovat { α, β, α, γ }. Täten agentit ovat jälkiekvivalentit.

T-79.179: Prosessialgebra 9-15 Prosessialgebralliset ekvivalenssit (2/3) (Failure Equivalence) Agentin P hylkäys (failure) on pari σ, X, mikä tarkoittaa sitä, että lähtien liikkeelle agentista P, suorittamalla σ pääsemme johonkin toiseen agenttiin Q, jossa mikään X:n tapahtumista ei ole mahdollinen. Jos kahden agentin kaikki hylkäykset ovat samat, nämä kaksi agenttia ovat hylkäysekvivalentit. Agentin α.(β + γ) hylkäykset ovat α,{α}, α,β,{α,β,γ} ja α,γ,{α,β,γ}. Vastaavasti agentin α.β + α.(β + γ) hylkäysjoukko muodostuu alkioista α,{α, γ}, α,{α}, α,β,{α,β,γ} ja α,γ,{α,β,γ}. Kuten voimme huomata, nämä kaksi agenttia eivät ole hylkäysekvivalentit.

T-79.179: Prosessialgebra 9-16 Prosessialgebralliset ekvivalenssit (3/3) (Simulation Equivalence) Agentti F simuloi agenttia E, jos on olemassa binäärinen relaatio R S S kaikkien agenttien yli, joka toteuttaa 1. E R F eli (E,F) R 2. Jos E R F ja E α E, on olemassa F siten, että F α F ja lisäksi E R F Seuraavalla kalvolla on laskettu kahden agentin välinen simulaatio ja todettu agentit simulaatioekvivalenteiksi.

T-79.179: Prosessialgebra 9-17 Simulaatioekvivalenssin laskuesimerkki s 2 s 4 s 6 β γ α s 1 α β δ s 3 s 5 s 7 r 3 r 5 γ β α r 1 r 2 β δ r 4 r 6 Simulaatiorelaatio R on {(s 1,r 1 ),(s 2,r 2 ),(s 4,r 3 ),(s 6,r 5 ),(s 3,r 2 ),(s 5,r 4 ),(s 7,r 6 )}.

T-79.179: Prosessialgebra 9-18 Yhteenveto Prosessialgebra on tekstuaalinen tapa kuvata agenttien käyttäytymistä. Agentteja voidaan yhdistää ja määritellä osa kerrallaan soveltamalla prosessialgebran operaatioita. Agentteja voi myös kuvata prosessialgebran yhtälöryhmillä. Kahta agenttia voidaan tehokkaasti vertailla käyttäen erilaisia ekvivalenssirelaatioita. Tässä käsiteltiin jälkiekvivalenssia, hylkäysekvivalenssia, ja simulaatioekvivalenssia. (Muitakin on olemassa!)