2. gyakorlat Állapot alapú modellezés Megoldások. 1. feladat. Rendszermodellezés (BMEVIMIAA00), tavaszi félév

Hasonló dokumentumok
2. gyakorlat Állapot alapú modellezés Megoldások

2. gyakorlat Állapot alapú modellezés Megoldások

2. gyakorlat Állapot alapú modellezés Megoldások

3. gyakorlat Folyamatmodellek, kooperáló viselkedésmodellek Megoldások

Diszkrét állapotú rendszerek modellezése. Petri-hálók

Diszkrét állapotú rendszerek modellezése. Petri-hálók

Logikai áramkörök. Informatika alapjai-5 Logikai áramkörök 1/6

3. gyakorlat Folyamatmodellek, kooperáló viselkedésmodellek Megoldások

Gyakorló feladatok: Formális modellek, temporális logikák, modellellenőrzés. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

3. gyakorlat Folyamatmodellek, kooperáló viselkedésmodellek Megoldások

Rendszermodellezés. Állapot alapú modellezés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

A 27/2012 (VIII. 27.) NGM rendelet (12/2013 (III.28) NGM rendelet által módosított) szakmai és vizsgakövetelménye alapján.

Poolcontroller. Felhasználói leírás

Rendszermodellezés 1. ZH, A csoport, nagyfeladatok

Soros felépítésű folytonos PID szabályozó

Mini-Com. SMS alapú átjelző berendezés. - A két kontaktus bemenet pillanatnyi állapotának lekérdezése bárhonnan SMS-sel

A billentyűzet a legfontosabb adatbeviteli eszköz, mely szinte rögtön a számítógép bekapcsolása után,,életre kel. Segítségével az operációs rendszer

Zárthelyi mintapéldák. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Temporális logikák és modell ellenırzés

Állapot alapú modellezés

5. gyakorlat Modellek ellenőrzése és tesztelése Megoldások

Programozási módszertan

Használati Útmutató V:1.25

5. Hét Sorrendi hálózatok

Mathematica automatikusan dolgozik nagy pontossággal, például 3 a 100-dik hatványon egy szám 48 tizedes jeggyel:

Megoldás Digitális technika I. (vimia102) 4. gyakorlat: Sorrendi hálózatok alapjai, állapot gráf, állapottábla

Modellek ellenőrzése és tesztelése

eco1 egymotoros vezérlés

Feladatgyűjtemény. 4. Modellek ellenőrzése Folyamat statikus analízise Dinamikus analízis teszteléssel... 7

Szimuláció. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics. Department of Measurement and Information Systems

CMF 14+ Saját távirányítóval és a gépkocsi távirányítójával is működtethető riasztókészülék. Telepítési útmutató

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

1. A berendezés programozása

KeyLock-2V Digitális kódzár 2 kimenettel

Felhasználói kézikönyv

Kombinációs hálózat. sorrendi hálózat. 1. ábra

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Alternatív kapcsolás. Feladat

TL21 Infravörös távirányító

ZL180 Kétmotoros vezérlés 24V-os mototokhoz

GSM távkapcsoló és jelző működési leírás. A SIM kártyát a készülékbe csak feszültség mentes állapotban szabad berakni illetve kivenni.

Ütem Lámpafázisok A számláló értéke ütemmerker 1 P 0 M1 2 P 1 M2 3 P S 2 M3 4 Z 3 M4 5 Z 4 M5 6 Z 5 M6 7 Z 6 M7 8 S 7 M8

IO-84. Ki/Bemeneti modul. Telepítői kézikönyv VB SOROZATÚ KOMMUNIKÁTOROKHOZ. Rev

Állapotalapú modellezés

Számításelmélet. Második előadás

TM Közlekedési lámpa vezérlő

Petri hálók: alapfogalmak, kiterjesztések

Bevezetés az elektronikába

HASZNÁLATI ÚTMUTATÓ POLYCOM HDX VIDEOKONFERENCIA RENDSZERHEZ

Alapszintű formalizmusok

GLOW SZÍNVÁLTÓS BLUETOOTH HANGSZÓRÓ HASZNÁLATI ÚTMUTATÓ. JB. 3501/Gyártás helye: Kína. KitSound Christchurch, Dorset, BH23 4FL, UK 1

Útmutató EDC kézivezérlőhöz

Dinnyeválogató v2.0. Típus: Dinnyeválogató v2.0 Program: Dinnye2 Gyártási év: 2011 Sorozatszám:

Rövidített használati útmutató Ability központokhoz

Nyilvántartási Rendszer

AIPHONE KVI. Telepítési és Használati útmutató. Szerelőkészlet Mennyiség Megnevezés A. Vandálbiztos, kültéri, fém kezelőegység

ZH feladatok megoldásai

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Szoftverminőségbiztosítás

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

Választás /Program gomb Forgató gomb Start/ Stop gomb

Rövid használati útmutató az AVer H és HVC modellekhez

Blonde. Szépségszalon, Szolárium, Spa, Fitness. Ügyviteli Rendszer. Funkcionális Specifikáció. Verzió 1.1

Nokia Felhasználói kézikönyv

2.előadás. alapfogalmak, formális definíció

SÚLYOS BALESETEK ELEMZÉSE. 3. téma: Kvalitatív módszerek - Hibafa

Kiegészítő segédlet szinkron sorrendi hálózatok tervezéséhez

Állapot alapú modellezés

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Panel bekötési pontok:

MA-RK32 riasztóközpont Használati útmutató a Multialarm Riasztókezelő mobilalkalmazáshoz

GIGA 4 EASYRX433 Sorompó vezérlés

Elektródás kazán vezérlés használati útmutató

Adatok bevitele a dokumentumba

Cikkszám: Dátum: Oldal: 1/8 NU_091096_000_ _DIAGNOSTIKA_HU

UJJLENYOMAT OLVASÓ. Kezelői Kézikönyv

ROSSLARE AC-B31 önálló egyajtós beléptető rendszer 500 felhasználóig

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

QAA73 kezelési utasítás felhasználóknak, beüzemelőknek

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Felhasználói Kézikönyv Rii K12+ Vezetéknélküli Billentyűzet

AX-5003 KÉTCSATORNÁS HŐMÉRSÉKLET MÉRŐ

Sebury BC Önálló RF kártyás és kódos beléptető

Rövid útmutató Cafitesse 120

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Irányítástechnika I. Dr. Bede Zsuzsanna. Összeállította: Dr. Sághi Balázs, egy. docens Dr. Tarnai Géza, egy. tanár

Szoftver-ergonómiára vonatkozó szabvány, avagy ISO 9241

KeyLock-23 Digitális kódzár 2 kimenettel, 3 bemenettel

Kültéri időjárásálló kódkapcsoló DK-2861K és DK-2865K Használati utasítás (MK-II)

Telepítési és kezelési útmutató

AC-MF1W. RFID kártyaolvasó és kódzár. Felhasználói leírás

Leírás az ügyfelek számára

SSB-T9K4 rádiós kódzár

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Hobbi Elektronika. Bevezetés az elektronikába: Logikai kapuáramkörök

4,5 1,5 cm. Ezek alapján 8 és 1,5 cm lesz.

Állapotalapú modellezés

Átírás:

2. gyakorlat Állapot alapú modellezés ok Figyelem: Jelen anyag belső használatra készült megoldási útmutató, melyet a ZH felkészülés segítése érdekében publikáltunk. A feladatok részletesebb megoldása magyarázattal gyakorlaton hangzott el. 1. feladat Közlekedési lámpát vezérlő elektronikát tervezünk. a) Készítsd el egy egyszerű háromfényű piros sárga zöld közlekedési lámpa olyan állapotterét, amely kellően finom ahhoz, hogy a lámpák vezérlését ez alapján lehessen végezni! Győződj meg arról, hogy az állapottér kizárólagos és teljes! b) A három égőnek külön-külön mi az állapottere? Milyen absztrakciós viszony áll fent a lámpa és az egyes égők állapottere közt? Hogy viszonyul a lámpa állapottere a három állapotváltozó direkt szorzatához? c) Mik az érvényes állapotátmeneti szabályok? Készítsd el az állapotgráfot! d) A piros jelzés végén van egy olyan időszak, amikor a merőleges gyalogosátkelő zöld lámpája már villog. Finomítsuk úgy az állapotgráfot, hogy ez az állapot elkülöníthető legyen! e) Amikor a lámpa elektromos fogyasztását vizsgáljuk, csak az érdekel, hogy a három égőből hány ég egyszerre. Absztraháld az állapotgépet úgy, hogy az állapotokat csak a fogyasztásuk különböztesse meg! a) { piros, sárga, zöld, piros-sárga, villogó sárga, kikapcsolt }, röviden: S = {p, s, z, ps, s, }. Ez kizárólagos és teljes. A kezdeti állapot: p. b) S p = {p, }, S s = {s, s, }, S z = {z, }. Milyen absztrakciós viszony áll fent a lámpa és az egyes égők állapottere közt? Az absztrakciós viszony a vetítés. Egy komponens állapottere mindig állapottere a teljes rendszer állapotterének (hiszen a többi komponens állapota elhagyható, azaz összevonható egy állapotba). Direkt szorzat: S p S s S z, 2 3 2 = 12 elemű lesz. A direkt szorzat elemei háromtagú vektorok (n-esek, tuple), pl.: p, s,, amit most ps formában fogunk rövidíteni. Ebből természetesen nem minden állapot fordul elő: S S p S s S z A S p S s S z Descartes-szorzat táblázatban: S s S p S z s s p z psz p sz pz ps p s p z sz sz z s s Az *-gal állapotok az eredeti állapottérben is megjelennek. c) A cél az érvényes állapotátmeneti szabályok megállapítása a hat állapot között. Sok tervezői döntéssel szembesülünk, ezekre egy-egy választ adtunk zárójelben: Kötelezően pirosnak kell lennie bekapcsolás után? (igen) Csak a szabályos működést modellezzük? (igen) Ha elmegy az áram, az hibás működés? (igen, vegyük úgy, hogy csak tervezett áramszünetek vannak) 1

Pirosból pirosba mehet? (nem rajzoljuk fel, mert semmi megfigyelhető nem történik) Piros-sárgából mehet rögtön pirosba, pl. baleset esetén? (nem) A KRESZ könyvben található állapotgép-jellegű ábra, de csak a piros, piros-sárga, zöld és sárga állapotokat tartalmazza. Az állapotgép bárhonnan kerülhet kikapcsolt ( ), ill. villogó ( s) állapotba (utóbbi esetén kivéve kikapcsolt állapotból). Egy lehetséges megoldás: p ps s z s d) Bontsuk fel a piros állapotot két állapotra: piros és a gyalogosoknak folyamatos zöld (p fz ), piros és a gyalogosoknak villogó zöld (p vz ). Az állapotgráfra is vigyük át a változtatást: a két állapot között p fz p vz átmenet van, a többi értelemszerűen berajzolandó. Itt tovább lehet gondolni azt, hogy szükség van-e olyan állapotra, amikor az autósoknak és a gyalogosoknak is piros a lámpa. Ha az előző részben úgy döntöttünk, hogy a lámpának kötelezően pirosnak kell lennie bekapcsolás után, akkor itt is érdemes ezt megvalósítani: ebben az esetben a piros állapotot három állapotra kell felbontani: p p, p fz, p vz. e) 4-állapotú állapottér, fogyasztások: 0, 1/2, 1, 2 (egyszerre mindhárom nem világíhat). Az 1-es állapotra rajzolhatnánk hurokélet (pl. zöld sárga piros esetén mindig csak egy lámpa világíthat), de ezt nem tesszük meg, mivel nem figyelhető meg kívülről. Többszörös éleket (ha nincs rajtuk különböző bemenet/kimenet) nem rajzolunk be. 1/2 1 2 2

2. feladat A háromrétegű architektúra felépítése: réteg megjelenítési réteg üzleti logikai réteg adatelérési réteg komponens webszerver alkalmazásszerver adatbázisszerver Háromrétegű kiszolgáló infrastruktúránk viselkedésének modellezésére megfelelő állapotterek-e a következők: a) { Webszerver, Alkalmazásszerver, Adatbázisszerver } b) { Webszerver dolgozik, Alkalmazásszerver dolgozik, Adatbázisszerver dolgozik } c) { Leállítva, Tétlen üzemel, Aktívan dolgozik } d) N (mint a pillanatnyilag feldolgozás alatt álló kérések száma) e) { A kérés feldolgozása még nem kezdődött el, A szerverek épp dolgoznak a kéréssel, A kérés kiszolgálása befejeződött } Fogalmak: Adatbázisszerver: hosszútávon tároljuk az adatokat Alkalmazásszerver: az üzleti logikáért felelős alkalmazást futtatja Webszerver: megjelenítést felelős, generálja a HTML oldalakat Válaszok: a) Nem. A három közül pontosan egynek kell igaznak lennie minden időpillanatban. b) Nem. Egyszerre több gép is dolgozhat. c) Igen. Természetesen elképzelhetők további állapotok is, pl. hibernált. d) Igen, ez egy végtelen állapotteret eredményez. A kizárólagosság mellett fontos vizsgálni, hogy teljes-e. Pl. 3,5 vagy 9 kérés nem lehet a rendszerben, ezért teljes. Ezzel persze a kérések eloszlását nem tudjuk megnézni. e) Igen, ha egyszerre egy kérés lehet a rendszerben. Ezzel azonban a modellünk nem lesz alkalmas terhelések vizsgálatára. 3. feladat Modellezzük állapotgéppel egy mobiltelefon érintőképernyőjére tervezett virtuális billentyűzetet! A billentyűzeten egyszerre vagy a kisbetűk, vagy a nagybetűk, vagy a számok és fontosabb szimbólumok, vagy ritkább szimbólumok láthatóak. Az elsődleges üzemmódváltó gomb a betűk és a számok/szimbólumok beírása között vált, a másodlagos üzemmódváltó pedig ezen kategóriákon belül. Létezik továbbá egy olyan nagybetűs állapot is, amely egy betű leütése után automatikusan kisbetűsre vált. Vegyük figyelembe a bal felső gombot (q/q/1/=), ill. a két üzemmódváltó gombot mint inputot, és a szövegmezőbe begépelt karaktereket mint outputot! Fontos, hogy csak egy billentyűt kell feltüntetnünk az állapotgépen, ez segíti az áttekinthetőséget is. Egy lehetséges megoldás az alábbi: 3

b/q b/q lower Upper CAPS b/q fn/ fn/ fn/ fn/ fn/ number symbol b/1 b/= A jelenlegi megoldásnál a number és a symbol állapotokból az fn megnyomására mindig a lower állapotba kerül az automata. A valóságban a fejlettebb implementációk képesek megjegyezni azt, hogy a lower, Upper és CAPS állapotok közül melyikben voltak és abba lépnek vissza. Ez az állapotgépben úgy valósítható meg, hogy 1) finomítjuk a number és a symbol állapotokat (numbers with lower, numbers with Upper, numbers with CAPS) helyett 2) history state-et vezetünk be (erről a A programozás alapjai 3 tárgyban lesz részletesen szó). 4. feladat Egy út mentén 10 jelzőlámpa található, egyenként 4 állapottal. Legfeljebb hány állapota lehet a teljes rendszernek? 4 10 = 2 20 = (2 10 ) 2 10 6. Természetesen nem biztos, hogy minden állapot elérhető is lesz, hiszen a jelzőlámpák állapotátmenetei nem biztos, hogy függetlenek egymástól. 5. feladat Figyelem: a jel a bemeneti jel pozíciójában spontán állapotátmenetet jelöl, a kimenet helyén pedig kimenet hiányát, egyik esetben sem don t care szimbólum. a) Tekintsük az M állapotgépet! Determinisztikus-e a viselkedésmodell? Hozzávehető-e, ill. elhagyható-e egyetlen állapotátmeneti szabály, hogy ez megváltozzon? b) Absztraháljuk az M állapotgráfot a { { 0 }, { 1, 2 } } állapotpartíció szerint! A nemdeterminizmus milyen formái figyelhetőek meg az eredményként kapott állapotgráfon? M állapotgép: 4

gomb / zörej narancs / zörej 0 1 / narancslé 2 narancs / narancs / narancs A állapotgép egy narancsprést modellez. A rendszer állapotai az adott pillanatban a narancsprésben található narancsok darabszáma. A gomb egy bedobott narancsot ad vissza, ha a gépben van narancs, egyébként zörejt okoz. Az első narancs bedobása szintén zörejt vált ki (a többi narancs narancsra esik). A rendszer nem engedi, hogy kettőnél több narancs legyen a gépben. Amennyiben két narancs van a gépben. Egy spontán állapotátmenet kimeneteként előáll a narancslé. A zörej kiemeneti jel finomításával (tokenfinomítás) meg lehetne különböztetni a gomb és a narancs által kiváltott zörejt (pl kattogás és puffanás), ezzel tovább konkretizálva a modellt. a) Ez úgy dönthető el, ha végignézünk minden állapotot és a kimenő élekre ellenőrizzük, hogy minden input esetén csak egy él megy-e ki. Ennek majdnem megfelel az állapotgépünk, azonban van olyan állapotátmenet, amelynél karakter van a bemeneten (tehát bármely input helyett választható ez), ezért az állapotgép nem determinisztikus. b) A megoldást az alábbi állapotgráf szemlélteti: gomb / zörej narancs / zörej 0 1 narancs / / narancslé narancs / narancs Az állapotgép az 1 és 2 állapotok összevonásával keletkezik. A kapott állapotgép az eredeti állapotgép egy absztrakciója, mely az eredeti állapotgép végrehajtássorozatain kívül számos más végrehajtássorozatot is megenged. Ezek közül néhány akár valós rendszer viselkedése is lehet: az absztrakt rendszer a közös absztrakciója az n narancsból (n > 1) narancslevet készítő narancspréseknek. Az absztrakt állapotgép ugyanakkor olyan végrehajtássorozatokat is megenged, amelyeket nem egy valós narancsprés viselkedését modellezik. Az absztrakt állapotgépben a spontán állapotátmeneten kívül is jelenik meg nemdeterminizmus: 1 állapotban a gomb, illetve narancs bemeneti események több tranzíciót is kiválthatnak. Az eredeti nemdeterminizmus abból fakadt, hogy maga a modellezett rendszer volt nemdeterminisztikus működésű. A most újonnan bevezetett nemdeterminizmus forrása az absztrakció: elhanyagoljuk azt a tudást, amely alapján determinisztikusan dönteni lehetne (ez jó is lehet, pl. ha sok rendszerről egyszerre akarunk beszélni). 5

6. feladat Egy autóban az első ablaktörlőnek három állapota van (első kikapcsolva, első lassan töröl, első gyorsan töröl), a hátsó ablaktörlőnek kettő (hátsó kikapcsolva, hátsó töröl). Az első ablaktörlő működését az M 1 állapotgép, a hátsóét az M 2 állapotgép modellezi. Készítsd el az M 1 és M 2 állapotgépek aszinkron szorzatát! M 1 állapotgép: első kikapcsolva kapcsoló felfelé kapcsoló lefelé első lassan töröl kapcsoló felfelé kapcsoló lefelé első gyorsan töröl M 2 állapotgép: hátsó kikapcsolva kapcsoló balra kapcsoló jobbra hátsó töröl Az aszinkron szorzat: felfelé el, hk felfelé balra ek, hk ek, ht jobbra lefelé balra felfelé lefelé jobbra felfelé balra egy, hk egy, ht jobbra lefelé el, ht lefelé 6