T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Saavutettavuusanalyysi

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

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

Algoritmit 1. Luento 9 Ti Timo Männikkö

1 Kannat ja kannanvaihto

MS-A0402 Diskreetin matematiikan perusteet

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

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Aikalogiikka

Algoritmit 1. Luento 8 Ke Timo Männikkö

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Algoritmit 1. Luento 1 Ti Timo Männikkö

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

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

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

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

13 Lyhimmät painotetut polut

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

Tarkennamme geneeristä painamiskorotusalgoritmia

Tietorakenteet, laskuharjoitus 7, ratkaisuja

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

Johdatus graafiteoriaan

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

Algoritmi on periaatteellisella tasolla seuraava:

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia

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

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

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

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

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

MS-A0401 Diskreetin matematiikan perusteet

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

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Tietorakenteet ja algoritmit

A TIETORAKENTEET JA ALGORITMIT

Algoritmit 2. Luento 7 Ti Timo Männikkö

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Algoritmit 1. Luento 3 Ti Timo Männikkö

Sisältö. 22. Taulukot. Yleistä. Yleistä

Äärellisten mallien teoria

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811120P Diskreetit rakenteet

Algoritmit 2. Luento 9 Ti Timo Männikkö

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa1 : Leveys- ja syvyyshaku

Yhteydettömän kieliopin jäsennysongelma

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

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

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

811120P Diskreetit rakenteet

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

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

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

7.4 Sormenjälkitekniikka

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

Johdatus graafiteoriaan

Tutoriaaliläsnäoloista

Miten käydä läpi puun alkiot (traversal)?

15. Laajennosten väliset homomorfismit

Luento 5. Timo Savola. 28. huhtikuuta 2006

Algoritmien suunnittelu ja analyysi (kevät 2004) 1. välikoe, ratkaisuja

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

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

Ohjelmoinnin perusteet Y Python

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

811120P Diskreetit rakenteet

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Tietotekniikan valintakoe

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

Turingin koneen laajennuksia

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja

Numeeriset menetelmät

Lisää pysähtymisaiheisia ongelmia

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.

v 8 v 9 v 5 C v 3 v 4

Ohjelmoinnin perusteet Y Python

811312A Tietorakenteet ja algoritmit II Perustietorakenteet

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

Algoritmit 1. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Kertausta 1. kurssikokeeseen

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Algoritmit 2. Luento 6 To Timo Männikkö

Verkon värittämistä hajautetuilla algoritmeilla

Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

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

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

3. Yhteistilaverkko. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

811120P Diskreetit rakenteet

Algoritmit 2. Luento 4 To Timo Männikkö

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Luonnollisten lukujen ja kokonaislukujen määritteleminen

Transkriptio:

T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Saavutettavuusanalyysi 26. helmikuuta 2002

T-79.179: Saavutettavuusanalyysi 6-1 Saavutettavuusanalyysi Saavutettavuusanalyysillä tarkoitetaan sitä, että tarkastetaan, onko formaalisti kuvatun järjestelmän mahdollista saavuttaa annettujen turvallisuusehtojen vastainen "paha" tila tai annettujen elävyysehtojen vastainen tapahtumasilmukka ja näytetään jokin ehtojen vastainen suoritus, jos sellainen on olemassa. Yleensä saavutettavuusanalyysi edellyttää mallin kaikkien saavutettavissa olevien tilojen tutkimista. Joskus voidaan hyödyntää annettuja ehtoja ja jättää osa tiloista tutkimatta.

T-79.179: Saavutettavuusanalyysi 6-2 Perusratkaisu: saavutettavuusgraafin laskeminen SAAVUTETTAVUUSGRAAFI( S,T,F,W,M 0 ) 1 G : V,E,v 0 {M 0 }, /0,M 0 ; 2 Markings : stack M 0 ; 3 while Markings 4 do M Markings.pop(); 5 for t enabled(m) 6 do M fire(m,t); 7 if M V 8 then V V {M } 9 Markings.push(M ); 10 E E { M,t,M }; 11 return G; Algoritmi käyttää kahta funktiota: enabled(m) := {t M[t } fire(m,t) := [M t Vaihtamalla pino jonoksi syvyyshaku muuttuu leveyshauksi. Leveyshaku löytää lyhimmän siirtymäpolun alkutilasta virheelliseen (turvattomaan) tilaan. Elävyyden tarkastaminen vaatii syvyyshakua, sillä vastaesimerkit päättyvät silmukoihin, ja silmukat on tehokkainta löytää syvyyshaulla.

T-79.179: Saavutettavuusanalyysi 6-3 Saavutettavuusanalyysin toteuttaminen Äskeisen algoritmin pahimmat pullonkaulat ovat: rivien 5 10 silmukka rivit 5 ja 6: seuraajatilojen joukon t enabled(m) {fire(m,t)} muodostaminen rivit 7 ja 8: tilan etsiminen ja lisääminen käsiteltyjen joukkoon Rivi 10 on melko harmiton, sillä kaaret voidaan kirjoittaa peräkkäistiedostoon, ellei ole tarvetta tallentaa myös "taaksepäin" vieviä kaaria kohdetilan mukaan järjestettynä. Kaikki kaaret voidaan jättää poiskin ja laskea uudelleen vastaesimerkkiä muodostettaessa. Hakupino tai -jono Markings voi sisältää joko tiloja tai niiden numeroita, jolloin muistia säästyy mutta rivillä 4 on haettava tila M jostakin "tietokannasta" DB : N V.

T-79.179: Saavutettavuusanalyysi 6-4 Tilajoukon V esitystapoja Joukko V voidaan esittää kahdella täysin erilaisella tavalla. Joukon alkiot M V on edullisinta esittää joukon t enabled(m) {fire(m,t)} laskennan aikana "avatussa muodossa" siten, että mallinnuskielen lausekkeita on helppo laskea. Löydettyjen tilojen joukon V on mahdollistettava seuraavat toiminnot: M V : onko tila M jo löydetty? V V {M}: lisää tila M löydettyjen joukkoon (ja anna sille tilanumero n M ) (Hae tila numeron perusteella: DB(n M ) M) Suluissa olevia toimintoja tarvitaan vain, jos hakupinoon tai -jonoon tallennetaan tilanumeroita. Jos V on esitetty tällaisena dynaamisena taulukkona DB, johon kukin tila tallennetaan erikseen, tilat kannattaa tiivistää bittijonoiksi. Jos esimerkiksi tiedetään, että järjestelmän n = 5 asiakasta voivat olla m = 3 eri tilassa, parien n, m esittämiseen ei tarvita 32 + 32 bittiä eikä edes 8 + 8 bittiä, vaan log 2 nm = log 2 15 = 4 bittiä.

T-79.179: Saavutettavuusanalyysi 6-5 Tilajoukon symboliset esitystavat (1/2) Tilajoukko V voidaan myös esittää yhtenä "klönttinä", johon voidaan vain lisätä tiloja ja jolta voidaan kysyä, onko annettu tila jo lisätty joukkoon. Eräs tapa toteuttaa tällainen rakenne on kasata suunnattua graafia, jonka esittämä tilakone tunnistaa sellaista kieltä, jonka sanoja ovat täsmälleen ne tilat, jotka on jo lisätty. Aina, kun joukkoon lisätään tila, graafia esittävää osoitinviidakkoa muutetaan sieltä täältä. Tällainen symbolinen tietorakenne on käytännössä pakko toteuttaa keskusmuistissa. Symboliset tietorakenteet ovat erittäin läheisesti sidoksissa kielen operaatioihin ja tietotyyppeihin. Tallennettaessa jokainen tila erikseen ei tarvitse kiinnittää operaatioihin mitään huomiota; riittää, että kukin yksittäinen tila pystytään esittämään bittijonona.

T-79.179: Saavutettavuusanalyysi 6-6 Tilajoukon symboliset esitystavat (2/2) Tunnetuin symbolinen tietorakenne lienee BDD (Binary Decision Diagram), joka soveltuu Boolen piirien tilojen tallentamiseen. BDD:t ovat suunnattuja silmukattomia graafeja (laskostettuja puita), joissa on enintään kaksi lehtisolmua, 0 ja 1, sekä kutakin muuttujaa vastaavat sisäsolmut. Muuttujasolmuista lähtee kaksi kaarta, joista toinen esittää muuttujan arvoa 0 ja toinen arvoa 1. BDD esittää sellaista lauseketta, joka pätee täsmälleen siihen jo lisätyille muuttujasidonnoille. Esimerkki: tallennetaan tyhjään tilajoukkoon tilat x,y, x,y ja x,y tässä järjestyksessä: 0 x 1 0 1 y 0 0 1 x y x x y x 1 0 0 1 x 1 0 y 1 0 1 0 Tilan lisääminen voi sekä pienentää että suurentaa joukon esitystä. Tämänkaltaiset menetelmät ovat hyvin herkkä siitä, missä järjestyksessä muuttujat esitetään ja tilat lisätään.

T-79.179: Saavutettavuusanalyysi 6-7 Tilajoukon kutistaminen Perinteiset tilajoukon esitystavat ovat usein ainoa järkevä vaihtoehto, jos tutkittavassa järjestelmässä on runsaasti korkean tason operaatioita. Ongelmaksi muodostuu silloin tilojen ja siirtymien suuri määrä. Mitä, jos säästetään tilaa käyttämällä enemmän aikaa? Järjestelmän kaikkea mahdollista käyttäytymistä ei ole välttämättä pakko tutkia, jos tutkittavaa ominaisuutta voidaan hyödyntää. Tärkeimmät kutistusmenetelmät ovat: tilojen samastaminen: symmetrioiden tunnistaminen ja tilojen kuvaaminen toisikseen permutoinneilla kuolleiden muuttujien tunnistaminen ja alustaminen oletusarvoihin viipalointi (tarkasteltavaan ominaisuuteen vaikuttamattomien muuttujien ja siirtymien poistaminen mallista ennen saavutettavuusanalyysin aloittamista) osittaisjärjestysmenetelmät: haarautumisen vähentäminen

T-79.179: Saavutettavuusanalyysi 6-8 Symmetriat (1/2) Paikka siirtymä-verkon S,T,F,W symmetria σ : (S S) (T T ) on sellainen automorfismi (verkon isomorfismi itsensä kanssa), joka kunnoittaa kaaripainoja: W(a,b) = W(σ(a),σ(b)). Verkon symmetria σ voidaan laajentaa merkintöjen symmetriaksi σ : (S N) (S N) määrittelemällä merkinnöille M : S N (σ(m))(σ(s)) = M(s). Tästä seuraa, että M = [M t jos ja vain jos σ(m ) = [σ(m) σ(t).

T-79.179: Saavutettavuusanalyysi 6-9 Symmetriat (2/2) Symmetrioiden joukko Σ on symmetriaryhmä, jos ja vain jos se on refleksiivinen, symmetrinen ja transitiivinen: 1. id Σ siten, että id(m) = M, 2. jos σ Σ, niin σ 1 Σ, ja 3. jos σ Σ ja σ Σ, niin (σ σ) Σ. Symmetriaryhmä määrittelee merkinnöille (ja paikoille ja siirtymille) ekvivalenssirelaation: M M : ( σ Σ : M = σ(m )). Merkintää M kutsutaan symmetriseksi, jos ja vain jos σ Σ : M = σ(m).

T-79.179: Saavutettavuusanalyysi 6-10 SYMMETRINEN( S,T,F,W,M 0,Σ ) 1 G : V,E,v 0 {M 0 }, /0,M 0 ; 2 Markings : stack M 0 ; 3 while Markings 4 do M Markings.pop(); 5 for t enabled(m) 6 do M fire(m,t); Symmetriakutistusmenetelmä 7 if M V : σ Σ : M = σ(m ) 8 then E E { M,t,M } 9 else if M V 10 then V V {M } 11 Markings.push(M ) 12 E E { M,t,M } 13 return G; Jos alkumerkintä M 0 on symmetrinen, saavutettavat merkinnät ja lukkiumat säilyvät. Siirtymien elävyys ei aina säily, kuten ei kaikkien LTLkaavojen totuusarvokaan. Pahimmat pullonkaulat ovat symmetriaryhmien löytäminen ja symmetristen tilojen hakeminen. Menetelmä voidaan yleistää muihinkin kuvauskieliin, kuten korkean tason verkkoihin. Aikaa voi säästyäkin, sillä kokonaisia tila-avaruuden alipuita voi jäädä käsittelemättä.

T-79.179: Saavutettavuusanalyysi 6-11 Symmetriakutistusmenetelmä: esimerkki v p n p p h p 1 P p a p P P = {1,2} p o p p 1 m p s m 1 h 1,2 s 1 o 1 v 1,v 2 h 2 v 2 n 1 n 1,2 m 1 h 1,2 m 2 s 1 s 2 o 1 v 1 v 2 o 2 h 2 v 2 v 1 h 1 n 1 n 1,2 n 2 Lounastavien filosofien järjestelmän saavutettavuusgraafi on selvästi symmetrinen. Eräs symmetria vaihtaa filosofit ja haarukat keskenään: σ = {h 1 h 2,h 2 h 1,a 1 a 2,a 2 a 1,n 1 n 2,n 2 n 1,s 1 s 2,s 2 s 1 }. Itse asiassa tämä σ generoi symmetriaryhmän: esimerkiksi id = σ σ ja σ 1 = σ.

T-79.179: Saavutettavuusanalyysi 6-12 Eräs osittaisjärjestysmenetelmä: itsepäiset joukot Itsepäisten joukkojen menetelmä pyrkii siihen, että seuraajatiloja laskettaessa otetaan huomioon vain osa vireessä olevista siirtymistä, jolloin saavutettavuusgraafi haarautuu vähemmän ja sen koko pienenee. Menetelmä säilyttää saavutettavuusgraafin kaikki lukkiumat. Eräs sen muunnelma säilyttää myös kaikkien -konnektiivia sisältämättömien LTL-kaavojen totuusarvon. Menetelmä perustuu siirtymäjoukon T jakamiseen kahtia osiin T s ja T \T s siten, ettei minkään joukkoon T s kuuluvan siirtymän laukeaminen vaikuta joukon T \T s virittyneisyyteen. τ Olkoon oheisessa kommutoivassa diagrammissa valittu t T s ja siirtymäjono τ = (T \ T s ). Merkinnässä M pätevien ominaisuuksien kannalta on t t M M yhdentekevää, saavutaanko merkintään polkua tτ vai polkua τt pitkin. M M τ

T-79.179: Saavutettavuusanalyysi 6-13 Itsepäiset joukot (1/4) Olkoon S,T,F,W paikka siirtymä-järjestelmä ja M jokin sen merkintä. Tällöin T s T on itsepäinen merkinnässä M, jos ja vain jos siinä on M-virittyneitä siirtymiä ja t T s : 1. Jos M[t, niin ( t) T s. 2. Jos M[t, niin s t : M(s) < W(s,t) s T s. Kaikkien siirtymien joukko T on triviaalisti itsepäinen. On edullisinta muodostaa mahdollisimman pieniä itsepäisiä joukkoja, sillä silloin saavutettavuusgraafi haarautuu vähiten.

T-79.179: Saavutettavuusanalyysi 6-14 Itsepäiset joukot (2/4) Jokin merkinnässä M itsepäinen joukko T s voidaan (tehottomasti) laskea seuraavasti: 1. Valitaan M-virittynyt siirtymä t T : M[t. Olkoon T s = {t}. 2. Valitaan siirtymä t T s (jota ei ole vielä tutkittu): (a) M[t : Määritelmä toteutuu, kun asetetaan T s T s ( t ). Palataan kohtaan 2. (b) M[t : Määritelmän mukaan etsitään sellainen paikka s t, joka estää t :n laukeamisen, ja asetetaan T s = T s s. Palataan kohtaan 2. Algoritmi päättyy, kun joukko T s ei enää muutu iteraatiokierroksen aikana.

T-79.179: Saavutettavuusanalyysi 6-15 Itsepäiset joukot (3/4) ITSEPÄINEN( S,T,F,W,M 0 ) 1 G : V,E,v 0 {M 0 }, /0,M 0 ; 2 Markings : stack M 0 ; 3 while Markings 4 do M Markings.pop(); 5 for t stubborn(m) 6 do M fire(m,t); 7 if M V 8 then V V {M } 9 Markings.push(M ); 10 E E { M,t,M }; 11 return G; Tarkastellaan seuraavaa järjestelmää: p 2 t 2 p 4 p 1 t 1 p 3 t 3 p 5 Jos valitaan aluksi T s {t 2 }, joukkoon on lisättävä ( t 2 ) = {t 3 } ja p 3 = {t 1 }, koska p 3 = t 3. Saadaan T s = T. Jos valitaan T s = {t 1 }, joukko on sellaisenaan itsepäinen.

T-79.179: Saavutettavuusanalyysi 6-16 Itsepäiset joukot (4/4) 0,0,1,1,0 0,0,0,0,1 t 1 t 2 t 3 1,0,0,1,0 0,1,1,0,0 t 2 t 1 1,1,0,0,0 T s = {t 1 } : 0,0,1,1,0 0,0,0,0,1 t 2 t 3 1,1,0,0,0 0,1,1,0,0 t 1 Itsepäisen joukon suuruus riippuu suuresti siitä, mikä vireessä oleva siirtymä valitaan ensin, sekä siitä, miten siirtymien laukeamisen estävät paikat s valitaan. Pienin mahdollinen itsepäinen joukko saadaan käyttämällä poistoalgoritmia. Tällöin aloitetaan joukosta T s = T. Siitä poistetaan jokin siirtymä, jonka jälkeen poistetaan siirtymiä, kunnes joukko on taas itsepäinen. Edellä esitettyä lisäysalgoritmia voidaan parantaa hyödyntämällä Tarjanin vahvasti kytkettyjen komponenttien algoritmia.

T-79.179: Saavutettavuusanalyysi 6-17 Kuvausten väliset käännökset Saavutettavuusanalyysi näyttää helpolta toteuttaa mille tahansa laskentajärjestelmälle, mutta käytännössä monia järjestelmiä ei ole suunniteltu niin, että niiden tila voitaisiin tallentaa tehokkaasti ja palauttaa myöhemmin. On parasta olla keksimättä pyörää uudelleen ja käyttää saavutettavuusanalyysiin suunniteltuja työkaluja. Jos tarkasteltavat järjestelmät on jo kuvattu jollakin tietokoneen tulkitsemalla kielellä ja jos tarkasteltavia järjestelmäkuvauksia on paljon, ei ole mielekästä kääntää kuvauksia käsin. Se, kuinka työlästä automaattisen kääntäjän tekeminen on, riippuu lähdekielen laajuudesta. Usein riittää tarkastella lähdekielen pientä osaa. Käännöstä tehtäessä kuvauksia on myös syytä yksinkertaistaa ja jättää niistä kaikki tarkasteltavien ominaisuuksien kannalta turha pois. Joitain rakenteita voidaan ilmaista Petriverkoilla lyhemmin kuin ohjelmointikielellä. Käännöksen laadulla on erittäin suuri vaikutus järjestelmän saavutettavuusgraafin kokoon.

T-79.179: Saavutettavuusanalyysi 6-18 Vastaesimerkkien esittäminen (1/2) Kun työkalu havaitsee järjestelmän toimivan vaatimusten vastaisesti, sen on jotenkin ilmoitettava asiasta. Käyttäjän kannalta olisi sangen turhauttavaa saada vain tietää, että jossakin päin järjestelmää on virhe. Paljon hyödyllisempää on esittää vastaesimerkki eli jokin vaaditun ominaisuuden vastainen suoritus. Suoritus voidaan esittää tila siirtymä-ketjuna, jossa tiloihin on merkitty muuttujien arvot ja siirtymiin tapahtumien nimet. Jos saavutettavuusanalysaattorin syöte on käännetty muusta kuvauksesta, nimien ja merkintätapojen on parasta seurata alkuperäistä kuvauskieltä. Toisin sanottuna vastaesimerkitkin on käännettävä! Suoritusten esittäminen tila siirtymä-ketjuina ei aina ole luontevaa. Joskus on mukavampaa tarkastella suoritusta debuggeria muistuttavassa työkalussa, joka esittää suorituksen animaationa korostaen yhtä koodiriviä tai rakennetta kerrallaan. Sanomakaaviot sopivat sanomanvälitykseen perustuvien suoritusten esittämiseen.

T-79.179: Saavutettavuusanalyysi 6-19 idle Vastaesimerkkien esittäminen (2/2) reserving 3 res req res ack allocated active rel req idle reserving res ack active res req available available res req rel ack available idle!res req available reserving?res req!res ack allocated reserving allocated active?rel req!rel ack allocated idle?res req!res ack allocated reserving!rel req?res ack allocated allocated reserving active!res req?rel ack allocated available reserving active?res req!res ack allocated reserving?res ack Sanomakaaviosta tilanne hahmottuu siirtymäketjua paremmin. Sanomakaaviot ovat korkeamman tason kieltä, sillä yksi sanomakaavio vastaa useaa erilaista siirtymäketjua.