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

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

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

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

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

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

Rendszermodellezés 1. ZH, A csoport, nagyfeladatok

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

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

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

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

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

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

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

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

eco1 egymotoros vezérlés

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

Állapot alapú modellezés

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

Használati Útmutató V:1.25

Panel bekötési pontok:

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

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

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

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

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

FARFISA, FA/FC52 ELEKTRONIKUS KÓDZÁR

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

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

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

A SUN POWER KIT TELEPÍTÉSÉNEK LEÍRÁSA. Leírás telepítő szakemberek részére!

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

5. Hét Sorrendi hálózatok

Szerelési Útmutató FIGYELEM! ÁRAMÜTÉS VESZÉLYE!

Állapot alapú modellezés

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

Q36A VEZÉRLÉS EGY-VAGY TÖBBSZÁRNYAS KAPUKHOZ

Elérhetőségi analízis Petri hálók dinamikus tulajdonságai

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

Alternatív kapcsolás. Feladat

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

STARSET-24V-os vezérlés

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

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

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

JIM JM.3, JM.4 garázskapu mozgató szett CP.J3 vezérléssel

JIM garázskapu mozgató szett JIM. JM.3, JM.4 garázskapu mozgató szett CP.J3 vezérléssel

Szekvenciális hálózatok és automaták

PERREKUP DxxTx - HDK10 Rekuperátor vezérlő Használati Utasítás

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

Alapszintű formalizmusok

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

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

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

GIGA 4 EASYRX433 Sorompó vezérlés

1. A berendezés programozása

TÁVSZABÁLYZÓ. Kezelési útmutató. KJR-90 típushoz

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

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

Szerelési Útmutató FIGYELEM! ÁRAMÜTÉS VESZÉLYE!

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

D I G I T Á L I S T E C H N I K A Gyakorló feladatok 3.

Felhasználói Kézikönyv. Rii i8/i8+ Multimédiás Billentyűzet, Egér és Touchpad

WorldSkills előválogató Mechatronika PLC feladat március 4. - Gödöllő

HASZNÁLATI ÚTMUTATÓ. GPS* SOLAR óra. A világ mind a 39 időzónáját felismeri.

Hozzáférési-vezérlési billentyűzet PNI DK101

PIU BŐVÍTŐKÁRTYA LEÍRÁS

Ü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

Útmutató a Visual Voic 8.5 és újabb verzióinak használatához

Adat és folyamat modellek

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

HASZNÁLATI ÚTMUTATÓ POLYCOM HDX VIDEOKONFERENCIA RENDSZERHEZ

Felhasználói kézikönyv

Felhasználói Kézikönyv. Rii K18. Multimédiás Billentyűzet és Touchpad , Fax: Mobil: ,

DebitTray program Leírás

A visszajelző ikonjainak és fényjelzéseinek értelmezése

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

Digitális vezérlés jégtelenítővel és ventilátor-vezérléssel XR06CX típus

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

6. Blokkolás kikapcsolása és azonosító kártyak memóriába történő rögzítése

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

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

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

Digitális technika házi feladat III. Megoldások

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

OPEL INSIGNIA Infotainment kézikönyv

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

CTR 32 VEZÉRLÉS. Elektronikus vezérlés egy vagy két motorra, 230 V, AC egy fázisú, egy vagy két szárnyú kapu motorizálására.

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.

Q36S VEZÉRLÉS TOLÓKAPUKHOZ VAGY EGYSZÁRNYAS KAPUKHOZ

Részletes szoftver tervek ellenőrzése

A/D és D/A konverterek vezérlése számítógéppel

SW4CP Hálózati teljesítménykapcsoló. Használati utasítás Magyar

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

VDCU használati utasítás

SDL 43xx vizsgasor rövid leírása

ContractTray program Leírás

Wally1/2/3/4/4 PLUS. Programozási leírás. 1, 2, 3, és 4 csatornás rádiós vevő

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ó

Kezelési útmutató. Vezérlő egység Folyadékhűtőhöz

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

Átírás:

2. gyakorlat Állapot alapú modellezés ok 1. Közlekedési lámpa Közlekedési lámpát vezérlő elektronikát tervezünk. a) Készítsük el egy egyszerű 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ünk meg arról, hogy az állapottér kizárólagos és teljes! { piros, sárga, zöld, piros-sárga, villogó sárga, kikapcsolt }, röviden: S = {p, s, z, ps, ŝ, }. Ez 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? S p = {p, }, 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. (Szemléletesen: pl. betesszük a lámpát egy dobozba, amiből csak a piros égő látszik ki, akkor az S p állapotteret látjuk.) 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 (más néven n-esek, tuple-ök), pl.: p, s,, amit most ps formában fogunk rövidíteni. Ebből természetesen nem minden állapot fordul elő, ezért S S p S s S z. A S p S s S z Descartes-szorzat táblázatban: S z S p S s z s psz ps p ŝ pŝz pŝ pz p s sz s ŝ ŝz ŝ z A *-gal jelölt állapotok az eredeti állapottérben is megjelennek. c) Mik az érvényes állapotátmeneti szabályok? Készítsük el az (egyszerű) állapotgráfot! 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: Milyen állapotba kerül bekapcsoláskor? (villogó sárga) 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) 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 1 könyvben található állapotgép-jellegű ábra, de csak a piros, piros-sárga, zöld és sárga állapotokat tartalmazza, a villogó sárga és a kikapcsolt állapotokról csak a szövegben esik szó. Az állapotgép bárhonnan kerülhet villogó sárga (ŝ) állapotba. Egy lehetséges megoldás: 1 Közúti Rendelkezések Egységes Szabályozása 1

start ŝ p ps s z d) Hogyan fejezhető ki ugyanez a működés tömörebben hierarchikus állapotokkal? A lámpa bármely üzemszerű állapotból sárga villogó állapotba kapcsolható ha tehát a {p, ps, s, z} állapothalmazra közös absztrakcióként bevezetjük a főciklus hierarchikus állapotot, akkor a 4 helyett 1 állapotátmeneti szabállyal kifejezhető ez a működés. main region off š főciklus R1 p ps s z 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áljuk az állapotgépet úgy, hogy az állapotokat csak a fogyasztásuk különböztesse meg! Vegyünk fel egy 4 állapotú állapotteret, az égők fogyasztása alapján: 0, ½, 1, 2 (egyszerre mindhárom égő nem világíthat). 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 ezen az absztrakciós szinten (ha betesszük a lámpákat egy dobozba, amiből csak annyi látszik ki, hogy 0, ½, 1 vagy 2 égő világít, és nem látjuk a pozíciójukat és a színüket, akkor nem tudunk különbséget tenni például a p, a s és a z állapotok között). Többszörös éleket (ha nincs rajtuk különböző bemenet/kimenet) nem rajzolunk be. start 0 ½ 1 2 f) (Emelt szintű feladat.) Vegyünk egy olyan eseményszekvenciát, amelynek során az eredeti (absztrakció előtti) modell összes állapota legalább egyszer előfordul. Rajzoljuk fel egy-egy idődiagramon az eredeti és az absztrahált modell viselkedését ugyanezen konkrét végrehajtás során! Hogy viszonyul egymáshoz a két idődiagram tartalma? g) 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 (absztrakció előtti) állapotgráfot, hogy ez az állapot elkülöníthető legyen! 2

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. h) Egy út mentén 10 jelzőlámpa található, egyenként 4 állapottal. Legfeljebb hány állapota lehet a teljes rendszernek? Várhatóan kell-e minden állapotot kezelnünk? 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 a különböző hangolási kényszerek miatt. Például a zöldhullám beállítása miatt van egy ritmusa a 10 jelzőlámpából álló rendszernek. Gyakran az is hasznos lehet, ha csak azt modellezzük, hogy egy szakaszba összevonunk több kereszteződést és azt vizsgáljuk, hogy az adott szakaszon mehetnek-e autók vagy sem. Pl. a forgalomirányításnál. Ebben az esetben a szakaszok meghatározásához arra van szükségünk, hogy ismerjük rendszer felépítését, azaz legyen strukturális modellünk a rendszerről. 2. Háromrétegű architektúra Egy informatikai rendszert szeretnénk modellezni, melyet háromrétegű architektúra valósít meg az alábbiak szerint: kérés webszerver alkalmazásszerver adatbázisszerver Háromrétegű kiszolgáló infrastruktúránk viselkedésének modellezésére megfelelő állapotterek-e az alábbiak? a) { Webszerver dolgozik, Alkalmazásszerver dolgozik, Adatbázisszerver dolgozik } b) { Leállítva, Tétlen üzemel, Aktívan dolgozik } c) N (mint a pillanatnyilag feldolgozás alatt álló kérések száma) d) { 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 } e) { Igaz } A használt 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. Egyszerre több gép is dolgozhat. b) Igen. Természetesen elképzelhetők további állapotok is, pl. hibernált. c) Igen. Fontos azonban, hogy ez egy végtelen állapotteret eredményez bizonyos esetben egy ilyen modellre van szükségünk a rendszer elemzéséhez (ld. még a Teljesítménymodellezés témakört). 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. d) Igen, ha egyértelmű, mit jelent a kérés, ugyanis a rendszerünknek természetesen sok kérést kell kiszolgálnia az idő múlásával. Ha teljesen egyértelműen egy adott, jól beazonosítható kérésről beszélünk (pl. Gipsz Jakab hétfő reggel 10:03-kor beérkezett kérése), akkor szigorúan ezen kérés életútjának vizsgálatára teljesen megfelel ez az állapottér, elhanyagolva az összes többi kérés sorsát. e) Igen, minden állapottér ennek a finomítása. 3

3. Érintőképernyős billentyűzet Modellezzük állapotgéppel egy mobiltelefon érintőképernyőjére tervezett, az előadáson is bemutatott 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 bemenetet, és a szövegmezőbe begépelt karaktereket mint kimenetet! A billentyűzet képernyőképeken: Fontos, hogy csak egy billentyűt kell feltüntetnünk az állapotgépen, ez segíti az áttekinthetőséget is. Jelöljük a bal felső gombot k-val (key), az fn helyén lévő gombot fn1-gyel, a shift helyén lévő gombot fn2-vel. Egy lehetséges megoldás az alábbi: k/q k/q start lower k/q Upper CAPS fn1/ fn1/ fn1/ fn1/ fn1/ number symbol k/1 k/= A hierarchikus állapotgép: main region letters R1 b/1 b/= number symbol b/q b/q lower Upper CAPS b/q fn1/- fn1/- numbers and symbols R1 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. 4

Ez az állapotgépben úgy valósítható meg, hogy finomítjuk a number és a symbol állapotokat (numbers with lower, numbers with Upper, numbers with CAPS,... ), valamint emlékező állapotot (history state-et) vezetünk be. Erről a Szoftvertechnológia tárgyban lesz részletesen szó. 5

4. Mit ír ki? Tekintsük az M állapotgépet! gomb / sípjel érme / 0 gomb / érme gomb / érme 1 / golyók 2 érme / érme / érme Megjegyzés: 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 a digitális áramkörtervezésben használt don t care szimbólum. a) Milyen valós rendszer lehet az M állapotgép mögött, hogyan működik? Az állapotgép egy fizetős biliárdasztal érmebedobó modulját ( érmeszerkezet ) modellezi, amely két érme (pl. 100 forintos) bedobása után kiadja a játékhoz szükséges golyókat. A golyó kiadása, pénz bedobása, stb. mind pillanatszerű eseményként van modellezve (ez egy modellezés során alkalmazott egyszerűsítés). A rendszer állapotai az adott pillanatban az érmeszerkezetben található érmék darabszámát tükrözik. A gomb egy bedobott érmét ad vissza, ha a gépben van érme, egyébként sípjelet hallat. A rendszer nem engedi, hogy kettőnél több érme legyen a gépben. Amennyiben két érme van a gépben, rövid várakozás után egy spontán állapotátmenet keretében az érmeszerkezet időleges tárolójából átkerülnek az érmegyűjtőbe, az asztal pedig ezzel egyidejűleg a játékosok rendelkezésére bocsájta a golyókat. Ha a játékosok meggondolják magukat, a golyók kiadása előtt gyorsan visszakérhetik még az érméiket a gomb benyomásával. b) Determinisztikus-e ez a viselkedésmodell? Hozzávehető-e, ill. elhagyható-e egyetlen állapotátmeneti szabály, hogy ez megváltozzon? Mikor determinisztikus egy állapotgép? Akkor, ha legfeljebb egy kezdőállapota van, valamint bármely állapotban, bármely bemeneti esemény bekövetkeztekor legfeljebb egy tranzíció tüzelhet. Ez úgy dönthető el, ha végignézünk minden állapotot és a kimenő élekre ellenőrizzük, hogy minden bemenet esetén csak egy él megy-e ki, ill. nincs-e spontán átmenet. Itt minden állapotból csak egy él megy ki, azonban van olyan állapotátmenet, amelynél karakter van a bemeneten (tehát bármely bemenet helyett választható ez), ezért az állapotgép nem determinisztikus. Erről teljes bizonyosságot szerezhetünk a következő gondolatmenettel: ha bedobunk 2 érmét, majd 5 másodperc múltán megnyomjuk a gombot, sípjelt vagy érmét kapunk-e vissza? Ez attól függ, hogy a gép feldolgozta-e a két érmét a gombnyomás előtt (tehát végbemegy-e ez a spontán átmenet). Megállapíthatjuk, hogy a modell nem tartalmazza azt az információt, amely alapján előre eldönthetnénk, hogy a két lehetőség közül ebben a helyzetben melyik fog megtörténni; nem határozza meg (determinálja) teljesen a viselkedést. Ennek egyik lehetséges oka, ha maga az érmeszerkezet konstrukciójából adódóan véletlenszerűen dönti el, lejárt-e a türelmi idő; a nemdeterminizmus másik lehetséges oka a modellezés során alkalmazott absztrakció (pl. egy időzítő határozza meg, mikor történjen meg az itt spontánként modellezett állapotátmenet). Determinisztikussá tehető-e az állapotgép? Igen, a 2 és a 0 állapotok közötti tranzíció törlésével. c) Absztraháljuk az M állapotgépet a {{0}, {1, 2}} állapotpartíció szerint! A megoldás az M állapotgép, melynek állapotgráfja: 6

gomb / sípjel érme / gomb / érme start 0 1 gomb / érme érme / / golyók érme / érme Az M állapotgép az M állapotgépből 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 érmével (n > 1) működtethető asztaloknak. Az absztrakt állapotgép ugyanakkor olyan végrehajtássorozatokat is megenged, amelyeket nem egy valós biliárdasztal viselkedését modellezik. d) Hol és milyen jellegű nemdeterminizmus figyelhető meg az így kapott absztrakt modellen? Az absztrakt állapotgépben a spontán állapotátmeneten kívül is jelenik meg nemdeterminizmus: 1 állapotban a gomb, illetve érme bemeneti események több tranzíciót is kiválthatnak. 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). e) (Emelt szintű feladat.) Vegyünk egy olyan eseményszekvenciát, amelynek során az eredeti (absztrakció előtti) modell összes állapotátmeneti szabálya legalább egyszer végbemegy. Rajzoljuk fel egy-egy idődiagramon az eredeti és az absztrahált modell viselkedését ugyanezen konkrét végrehajtás során! Hogy viszonyul egymáshoz a két idődiagram tartalma? 5. Ablaktörlő 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. a) Készítsük el az M 1 és M 2 állapotgépek aszinkron szorzatát! b) Hány állapota és átmenete van az így kapott modellnek? c) (Kiegészítő feladat) Kifejezhető-e a kapott állapotgépen, ill. a komponensre vetített modellek segítségével olyan kocsi, ahol a hátsó ablaktörlő csak akkor kapcsolható be, ha megy az első is? M 1 állapotgép: első kikapcsolva kapcsoló felfelé kapcsoló lefelé első lassan töröl M 2 állapotgép: hátsó kikapcsolva kapcsoló befelé kapcsoló kifelé hátsó töröl kapcsoló felfelé kapcsoló lefelé első gyorsan töröl a) Az aszinkron szorzat: 7

start felfelé ek, hk lefelé befelé kifelé befelé ek, ht felfelé lefelé el, hk el, ht felfelé lefelé egy, hk kifelé befelé kifelé felfelé egy, ht lefelé b) Az állapotok száma a komponensek állapotszámainak szorzata. Az átmenetek száma S(M 1 ) T (M 2 ) + S(M 2 ) T (M 1 ). c) A teljes rendszert leíró állapotgép nyilván módosítható megfelelően egyszerűen csak elhagyjuk a nem megengedett átmeneteket. A komponensekre vetítéskor viszont bajba jutunk, hiszen a két komponens működése már nem független: a hátsó ablaktörlő szóban forgó átmeneteit csak akkor szabad használni, ha az első ablaktörlő állapota megfelelő. Ilyen megszorítást őrfeltétellel fejezhetünk ki. Az aszikron szorzatban mindkét állapotgép explicit megjelenik, mindkettő annyiszor, ahány állapota van a másiknak. Intuitívan: az egyik állapotgépet elvihetjük egy tetszőleges állapotába, és ott lejátszhatjuk a másik összes viselkedését, és ugyanez igaz fordítva. 8