Formális módszerek 1

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Formális módszerek 1"

Átírás

1 Formális módszerek 1

2 Előadó: Gombás Éva, adjunktus Számítástudomány Alapjai Tanszék Irinyi épület 3. lépcsőház, 1. em. Fogadóóra: csütörtök között 2

3 Tárgyleírás: A tárgy oktatásának célja (kialakítandó kompetenciák): Napjaink informatikai rendszerei eddig soha nem látott komplexitást értek el, és ezzel együtt növekszik a megbízható működésük iránti igény is. Ezért egyre inkább előtérbe kerülnek azok a matematikai módszerek, melyek segítséget nyújtanak az informatikai rendszerek tervezésében és ellenőrzésében, meghatározó szerepet vállalva a kívánt megbízhatóság elérésében. A kurzus ezeket az úgynevezett formális módszereket kívánja bemutatni, ismertetve nemcsak a matematikai hátteret, hanem a használatukat megkönnyítő szoftver eszközöket is. 3

4 Tematika: A formális módszerek áttekintése és szerepük. Átmeneti rendszerek, időzített automaták, időzített automaták hálózatai. Petri hálók. Processzus algebrák. Formális specifikáció. Temporális logikák, lineáris (LTL) és elágazó idejű logikák (CTL, CTL*), időzített logikák (TCTL). Modell-ellenőrzés, feladata és menete. Modellellenőrzési algoritmusok. Szimbolikus modellellenőrzés, bináris döntési diagrammok. Modell-ellenőrző eszközök (Spin, UPPAAL). 4

5 Ajánlott irodalom: 1. Pataricza A. (szerk): Formális módszerek az informatikában, 2. kiadás, Typotex, Ésik Z., Gombás É., Németh L. Z.: Hardver és szoftver rendszerek verifikációja, Typotex Kiadó, L. Aceto, A. Ingólfsdóttir, K. G. Larsen, J. Srba, Reactive Systems: Modelling, Specification and Verification, Cambridge University Press, A. Arnold: Finite Transition Systems: Semantics of Communicating Systems, Prentice-Hall International Series in Dynamics, Prentice- Hall, Ch. Baier and J--P. Katoen, Principles of Model Checking, MIT Press, G. Behrmann, A. David, K. G. Larsen: A Tutorial on Uppaal, in: Proc. SFM-RT'04, LNCS 3185, B. Berard, M. Bidiot, A. Finkel, F. Laorussinie, A. Petitt, L. Pterucci, Ph. Schnoebelen: Systems and Software Verification, Springer, G. J. Holzmann, The SPIN Model Checker: Primer and Reference Manual, Addison-Wesley,

6 Ajánlott szoftverek: UPPAAL: jspin: Spin: SAL: CPN Tools: LTSA: 6

7 A vizsga (kollokvium) teljesítésének feltételei: Csak az a hallgató vizsgázhat az ETR-ben meghirdetett vizsganapokon, aki a gyakorlatot teljesítette, érvényes vizsgajelentkezése van az adott vizsganapra az ETR-ben és igazolja személyazonosságát (a leckekönyv /diákigazolvány bemutatásával. Szóbeli vizsgán az előre kiadott, két részből álló tételsor mind a két részéből a hallgató egy-egy tételt húz. A szóbeli feleletre a felkészülési idő 30 perc. A kollokvium jegye a két tételre adott szóbeli felelet alapján alakul ki. Ha az egyik tételből a felelet elégtelen, akkor a teljes vizsga is sikertelen. 7

8 A feleltetéskor a húzott tételeken kívül a tananyag más részére is rákérdezhet a vizsgáztató. Bizonyos alapkérdések ismeretének hiánya esetén a vizsgáztató elégtelenre minősítheti a vizsgát, függetlenül a többi kérdésre adott választól. Írásbeli vizsga esetén a maximális megszerezhető pontszám 40, amely előre kiadott tételsorból az oktató által kijelölt két, egyenként 20 pontos tétel kidolgozásával szerezhető meg. A vizsga akkor sikeres, ha mind a két tétel kidolgozása minimum 6 pontos. Sikeres vizsga érdemjegye a tételekre kapott pontszám összege alapján az alábbiak szerint történik: 0-11 pont : elégtelen (1) pont : elégséges (2) pont : közepes (3) pont : jó (4) pont : jeles (5) tanév 2. félévében a vizsga szóban lesz. 8

9 Verifikáció (ellenőrzés) Miért van rá szükség? informatikai rendszerek az élet számos területén megjelentek (pl. beágyazott rendszerek, speciális célú számítógépek megjelennek orvosi eszközökben, telefonban, stb., pl. közlekedés, ipar, vállalati irányítás, energiatermelés, üzleti és banki világ, oktatás területeken egyaránt), a rendszerek komplexitása nagymértékben nőtt (vezetékes és vezetés nélküli kapcsolat a komponensek között, egymásra hatás nehezen kiszámítható, hibalehetőségek száma növekszik); 9

10 Elvárás az informatikai rendszerek alkalmazásánál: Biztonságkritikusság Költségkritikusság Informatikai rendszerek ellenőrzésének két megközelítése: Validáció: külső körülményeknek és a felhasználói elvárásokkal való megfelelést ellenőrzi (Jó rendszert építünk-e?) Verifikáció: azt ellenőrzi, hogy az adott fejlesztési fázis eredménye teljesíti-e a fejlesztési fázis kezdetén megfogalmazott feltételeket (Jól építjük-e a rendszert?) 10

11 11

12 - elsődleges verifikáció: a rendszer formális modelljét ellenőrzi - utólagos verifikáció: A prototípust vagy kész terméket vizsgálja Verifikáció sohasem a rendszer abszolút helyességét igazolja, hanem mindig relatív, csak a specifikációnak való megfelelést képes biztosítani. 12

13 Szoftver verifikáció: a verifikációnak a szoftverfejlesztés egész menetét végig kell kísérni; technikák: - Szakértői felülvizsgálat: a programkód futtatás nélküli, manuális ellenőrzése - Szoftvertesztelés: tesztesetek generálása és végrehajtása, az eredmények összevetése a specifikációval; - Formális módszerek (absztrakt statikus analízis, modell- ellenőrzés); 13

14 Hardver verifikációs technikák: - strukturális elemzés - emuláció (egyfajta tesztelés): az emulátort (általános célú hardver) úgy konfigurálnak, hogy viselkedése a tervezett hardver áramkört utánozza, majd ezt tesztelik); - szimuláció: a vizsgálandó áramkör szoftveres modelljét (hardver leíró nyelv használatával) készítik el, majd ennek működését a szimulátor programmal vizsgálják; A hibakeresési módszereken túl szükséges a kész hardver tesztelése is (gyártási hibák kiszűrése). 14

15 Modell-ellenőrzés as évek elejétől indult; - E.M. Clarke, E. A. Emerson, J. Sifakis 2007-ben Turing-díj (hatékony, ipari környezetben is alkalmazható verifikációs technika kidolgozásáért); - matematikai elméleteken alapuló módszer, ami a módszer megbízhatóságának garanciája; - a rendszermodell állapotainak szisztematikus bejárásával dönti el, hogy a rendszermodell a specifikációt teljesíti-e vagy nem; 15

16 Modell-ellenőrzés menete modellezési fázis: - a rendszer modelljének elkészítése (véges átmeneti rendszerek, modell leíró nyelv (Promela)); - a vizsgálandó tulajdonság valamely tulajdonságokat leíró nyelven való megadása (temporális logikák); futtatási fázis: a modell-ellenőrző program futtatása, aminek eredménye lehet: a tulajdonság teljesül vagy nem teljesül vagy a tár mérete kevés a vizsgált modell állapotainak bejárásához; elemzési fázis: ha a vizsgált tulajdonság nem teljesül, akkor a hiba okának felderítése; 16

17 ha a rendszermodell túl nagy: - a rendszer modelljének további absztrakcióval való csökkentése; - szimbolikus technika az állapottér reprezentálásánál ; - valószínűségi ellenőrzés (lemond az állapottér teljes bejárásáról); - korlátos modell-ellenőrzés (állapotokat Boole változókkal írja le; SAT megoldó program alkalmazása); állapottér reprezentációja alapján lehet: - explicit modell-ellenőrzés: állapotokat explicit módon tárol a memóriában (pl. Spin); - szimbolikus modell-ellenőrzés: állapothalmaz szimbolikus reprezentálás (BDD) (pl. Uppaal); 17

18 Modell-ellenőrzés előnyei: általános (hardver, szoftver, beágyazott rendszerek) verifikációs módszer; parciális verifikációt támogatja; ritkán előforduló hibák felderítésére is alkalmas; diagnosztikai információt ad (pl. ellenpélda); gombnyomásra működő (push-button) technológia; könnyen integrálható létező hardver-szoftver fejlesztési ciklusba; szilárd matematikai elméleteken alapul; növekvő érdeklődés az ipar részéről; 18

19 Modell-ellenőrzés hátrányai: inkább vezérlés-intenzív rendszerekre alkalmazható; eldönthetetlenségi eredményekbe ütközhet; ellenőrzés a modellre történik, nem a valódi rendszerre; csak a specifikált tulajdonságokat vizsgálja; állapotszám robbanási probléma; bizonyos szakértelmet kíván; a modell-ellenőrző szoftver maga is lehet hibás; nem engedi meg az általánosítások igazolását (pl. parametrizált vagy tetszőlegesen sok komponensből álló rendszerek nem ellenőrizhetők); 19

20 Egyszerű átmeneti rendszerek A = (S, T,, ), ahol S az állapotok véges vagy végtelen halmaza, T az átmenetek véges vagy végtelen halmaza,, : T S, t T-re (t) a t kezdőpontja, (t) a t átmenet végpontja. Gráf reprezentálás: - címkézett irányított gráffal; - csúcsok állapotokat reprezentálnak; - élek átmeneteket reprezentálnak t T-re (t) csúcsból él vezet (t) csúcsba; 20

21 A = (S, T,, ) átmeneti rendszerben n 0 hosszú útnak nevezünk egy t 1 t 2 t n sorozatot, ha (t i )= (t i+1 ) teljesül i {1,,n-1}-re. és függvények kiterjesztése útra: (t 1 t 2 t n ) = (t 1 ), (t 1 t 2 t n ) = (t n ); c üres út, ha hossza 0, (c)= (c); ɛ s üres út s-állapothoz; Végtelen út olyan t 1 t 2 t n végtelen sorozat, ahol (t i )= (t i+1 ) teljesül i 1-re. Út megadható az út által érintett állapotok sorozatával is (vagyis az utat alkotó átmenetek kezdőpontjai sorozatával, illetve véges útnál még ez kiegészül az utolsó átmenet végpontjával). 21

22 c= t 1 t 2 t n véges út, c = g 1 véges vagy végtelen út. Ha (c) = (c ), akkor definiálható a c és a c utak konkatenációja, összefűzése (művelet jele, de gyakran nem írjuk ki): c c = t 1 t 2 t n g 1 (ɛ s ) = (ɛ s ) = s, c ɛ s = c, ɛ s c = c, ha (c) = s, (c )= s; Ha (c) (c ), akkor a c és a c utak összefűzését nem definiáljuk. 22

23 példa: italautomata egyszerű átmeneti rendszere - rögzített összeg dobható be; - két gomb van, egyikkel kávé (K), másikkal tea (T) kérhető; - választott italt kiadja, majd ismét pénz bedobásra vár; állapotok: s 1 : pénz bedobásra vár; s 2 : K vagy T gomb megnyomására vár; s 3 : K gombot nyomták meg, kávét kell kiadni; s 4 : T gombot nyomták meg, teát kell kiadni; átmenetek: t 1 : pénz bedobása; t 2 : K gomb megnyomása; t 3 : T gombot megnyomása; t 4 : kávét kiad; t 5 : teát kiad; 23

24 példa: italautomata működését formálisan megadó átmeneti rendszer gráf reprezentációja példa útra: c = t 4 t 1 t 3 t 5 t 1, hossza 5, (c)= s 3, (c)= s 2 ; 24

25 Címkézett átmeneti rendszerek A egy véges vagy végtelen nem üres halmaz (ábécé); A = (S, T,,, ) ötös A feletti címkézett átmeneti rendszer, ha (S, T,, ) egyszerű átmeneti rendszer, : T A leképezés. t T-re (t) a t átmenet címkéje; A elemeit akcióknak vagy eseményeknek nevezzük; Feltesszük, hogy nem lehet két olyan átmenet, melyeknek kezdőpontja, végpontja és címkéje is azonos, vagyis ez a három adat egyértelműen meghatározza az átmeneteket. 25

26 jelölés: ha (t)=s, (t)=s, (t)=a, akkor t : s a s c= t 1 t 2 véges vagy végtelen út az A = (S, T,,, ) címkézett átmeneti rendszerben, ekkor a c út nyoma : trace (c)= (t 1 ) (t 2 ) 26

27 példa: italautomata formális modellje címkézett átmeneti rendszerrel A={PÉNZ, K-GOMB, T-GOMB, KÁVÉ, TEA} (t 1 )=PÉNZ, (t 2 )=K-GOMB, (t 3 )= T-GOMB, (t 4 )= KÁVÉ, (t 5 )= TEA példa út lenyomatra: trace(t 4 t 1 t 3 t 5 t 1 )=KÁVÉ PÉNZ T-GOMB TEA PÉNZ 27

28 Paraméteres átmeneti rendszerek X={x 1,, x n }, Y={y 1,, y m } véges halmazok; X elemei állapotparaméterek, Y elemei átmenetparaméterek; A = (S, T,,, S x1,, S xn, T y1,, T ym ) rendszert (X, Y)-paraméterezett átmeneti rendszernek nevezzük, ha (S, T,, ) egyszerű átmeneti rendszer, S xi S, T yj T minden 1 i n, 1 j m. 28

29 példa: italautomata formális modellje paraméteres átmeneti rendszerrel X={kezdő, kész, fizetett, kávé, tea}, Y={esemény, akció}, S kezdő ={s 1 }, S kész ={s 1 }, S fizetett ={s 2, s 3, s 4 }, S kávé ={s 3 }, S tea ={s 4 }, T esemény ={t 1, t 2, t 3 }, T akció ={t 4, t 5 } 29

30 megjegyzés: Minden egyszerű átmeneti rendszer tekinthető olyan címkézett átmeneti rendszernek, ahol minden átmenet önmagával van címkézve. Minden A-feletti címkézett átmeneti rendszer tekinthető olyan (,A)-paraméterezett átmeneti rendszernek, melyben az átmenetek a címkéjüknek megfelelő paraméterrel vannak ellátva. 30

31 Átmeneti rendszerek homomorfizmusai A = (S, T,, ) és A = (S, T,, ) egyszerű átmeneti rendszerek; A-ból A -be ható homomorfizmus olyan h = (h, h ) leképezés pár, melyre: h : S S, h : T T, t T-re : (h (t)) = h ( (t)) és (h (t)) = h ( (t)). 31

32 A = (S, T,,, ) és A = (S, T,,, ) azonos A címkehalmaz feletti címkézett átmeneti rendszerek; A-ból A -be ható címkézett átmeneti rendszerek között homomorfizmus olyan h = (h, h ) leképezés pár, mely (S, T,, )-ból (S, T,, )-be ható homomorfizmus és t T-re (h (t)) = (t). Egyszerű vagy címkézett átmeneti rendszerek közötti izomorfizmus olyan homomorfizmus, mely bijektív. Nem teszünk különbséget izomorf átmeneti rendszerek között, mivel egymástól csak az állapotok és átmenetek elnevezésében térnek el. 32

33 A = (S, T,,, S x1,, S xn, T y1,, T ym ) és A = (S, T,,, S x1,, S xn, T y1,, T ym ) azonos (X, Y) feletti paraméterezett átmeneti rendszerek; A-ból A -be ható paraméterezett átmeneti rendszerek közötti homomorfizmus olyan h = (h, h ) leképezés pár, mely (S, T,, )-ból (S, T,, )-ba ható homomorfizmus, továbbá teljesül s S, x X : (s S x h (s) S x ) t T, y Y : (t T y h (t) T y ). A és A (X, Y) feletti paraméterezett átmeneti rendszerek izomorfak, ha van közöttük h homomorf leképezés, mely bijektív. 33

34 Példák formális modellekre Boole változó események: - üres esemény (e) - értékadás a változónak (b := true, b := false) - a változók értékének kiolvasása (true!, false!) rendszer átmenetei: t 1 : true b:=true true; t 5 : true true! true t 2 : true b:=false false; t 6 : false false! false t 3 : false b:=true true; t 7 : true e true t 4 : false b:=false false; t 8 : false e false 34

35 példa: Boole változó működését formálisan megadó átmeneti rendszer gráf reprezentációja 35

36 Korlátos pufferek max. 2 szimbólum (a, b) tárolása események: - új betű behelyezése ( enter (a), enter(b)) - egy betű kivétele (remove(a), remove(b)) 36

37 átmenetek: 37

38 38

39 Szekvenciális program szekvenciális programhoz megfeleltethető rendszer átmenetei: t 1 : 1 b=true? 1; t 2 : 1 b=false? 2; t 3 : 2 b:=true 3; t 4 : 3 proc 4; t 5 : 4 b:=false 1; kezdőállapot: 1 39

40 példa: szekvenciális programból származtatott átmeneti rendszer gráf reprezentációja 40

41 Szekvenciális áramkörök 41

42 X= {kezdő, x, y, r} S kezdő ={[x=0, r=0], [x=1, r=0]}, S x = {[x=1, r=1], [x=1, r=0]}, S y = {[x=0, r=0], [x=1, r=1]}, S r ={[x=0, r=1], [x=1, r=1]} 42

43 Peterson algoritmus - processzusok: P 0 és P 1 ; - közös erőforrás kizárólagos kezelése (kritikus szekció); - globális változók: d0, d1 Boole változók, turn egész értékű változó; - P 0 a d0-t igazra állítja mielőtt a kritikus szekcióba lép; - P 1 a d1-t igazra állítja mielőtt a kritikus szekcióba lép; - turn értékének megfelelő processzus kerülhet a kritikus szekcióba, ha d0 és d1 értéke is igaz biztosítja, hogy a processzusok fair módon férjenek a kritikus szekcióhoz; 43

44 P 1 kódja: hasonló P 0 kódjához csupán a 0-kat és 1-eket fel kell cserélni; 44

45 P 0 átmenetei: P 1 átmenetei: 45

46 Animáció 46

47 Átmeneti rendszerek szabad szorzata (komponensek egymástól független működnek) A i = (S i, T i, i, i ), i {1,,n}, átmeneti rendszerek; A i -k szabad szorzata A 1 A 2 A n =(S, T,, ) átmeneti rendszer, ahol S = S 1 S 2 S n, T = T 1 T 2 T n, ((t 1,,t n )) = ( 1 (t 1 ),, n (t n )), ((t 1,,t n )) = ( 1 (t 1 ),, n (t n )). 47

48 A i =(S i, T i, i, i, i ) A i feletti címkézett átmeneti rendszerek, i {1,,n}-re; A i címkézett átmeneti rendszerek szabad szorzata A 1 A 2 A n =(S, T,,, ) címkézett átmeneti rendszer A 1 A n felett, ahol S, T,,, mint az egyszerű átmeneti rendszerek szabad szorzatánál, : T A 1 A n címkefüggvényre teljesül ((t 1,,t n )) = ( 1 (t 1 ),, n (t n ) (t 1,,t n ) T-re. megjegyzés: A szabad szorzat állapotait globális állapotoknak, átmeneteit globális átmeneteknek nevezzük. Címkézett átmenetei rendszerek esetén a t globális átmenet (t) címkéjét globális akciónak nevezik. 48

49 Szinkron módon működő rendszerek: minden komponens minden lépésben (globális óraütésre) egy átmenetet végrehajt; Aszinkron módon működő rendszerek: megengedett, hogy egy-egy komponens tetszőleges ideig maradhasson egy állapotban; Kevert, szinkron-aszinkron rendszerek: tétlen várakozást nem mindig, hanem csak bizonyos állapotokban tehetnek; Aszinkron rendszerek modellezhetők szinkron módon üres események vagy üres akciók (tétlen várakozás, e címkéjű átmenetek) alkalmazásával. 49

50 példa: Peterson algoritmus két processzusának egyetlen processzorral való végrehajtásánál minden pillanatban az egyik processzus inaktív. Kikötve, hogy az átmeneti rendszerben mindig pontosan egy komponens hajt végre nem e átmenetet, a többi komponens pedig e átmenetet, akkor az e átmenetekkel kibővített rendszer szinkron működésével az aszinkron működést modellezi. Továbbiakban a fentiek miatt csak szinkron működést tárgyalunk. 50

51 Átmeneti rendszerek szinkronizált szorzata (kommunikációs megszorítások fejezhetők ki vele) A i az A i feletti címkézett átmeneti rendszer minden i {1,,n}-re és I A 1 A n szinkronizációs megszorítás ; A 1,, A n átmeneti rendszerek I szerinti szinkronizált szorzata az A 1 A 2 A n szabad szorzat azon rész átmeneti rendszere, mely pontosan azokat a t=(t 1,,t n ) globális átmeneteket tartalmazza, melyekre 1 (t 1 ),, n (t n ) I teljesül. szinkronizációs vektorok: a szinkronizációs megszorítás elemei; 51

52 példa: A korábbi P szekvenciális programot és B Boole változót reprezentáló címkézett átmeneti rendszerből álló P B szabadszorzat megengedett globális akciói: b:= true, b:=true b:= false, b:=false b:= true?, b:=true! b:= false?, b:=false! proc, e Ezek a globális akciók a rendszer szinkronizációs vektorai. 52

53 53

54 Ha a kezdő globális állapot (1, false), akkor az alábbi átmenetek lesznek (a program determinisztikus): Ha a kezdő globális állapot (1, true), akkor ez lesz a rendszer egyetlen globális állapota, illetve egyetlen átmenete a rendszernek az 54

55 Paraméteres átmeneti rendszerek szinkronizált szorzata A i = (S i, T i, i, i, i ) A i feletti címkézett átmeneti rendszer, (X i, Y i )-paraméteres átmeneti rendszer i {1,,n}-re, I A 1 A n szinkronizációs megszorítás; Legyen B = (S, T,,, ) az A i -k I szerinti szinkronizált szorzata vagyis B I feletti címkézett átmeneti rendszer. Legyen X = {(i, x) 1 i n, x X i }, Y = {(i, y) 1 i n, y Y i }, S (i, x) ={(s 1,, s i,, s n ) S s i (S i ) x }, T (i, y) ={(t 1,, t i,, t n ) T t i (T i ) y }. B-t kiegészítve a S (i, x), T (i, y) halmazokkal (i, x) X, (i, y) Y esetén, az előálló (X, Y)-paraméteres átmeneti rendszer az A i -k I szerinti szinkronizált szorzata. 55

56 Paraméteres átmeneti rendszerek szinkronizált szorzata megőrzi a részrendszerek paraméterezését. pl. ha az A i részrendszer s S i, x X i, s (S i ) x, akkor (s 1,, s i,,s n ) S (i, x), ahol s i =s. 56

57 példa: alternáló bit protokoll (ABP, Alternating Bit Protocol) feladata: egy S adó (sender) és egy R vevő (receiver) között üzenetek megbízható továbbítása olyan csatornán keresztül, melyben az üzenetek megsérülhetnek, elveszhetnek. feltesszük: - egy időben egyirányú a csatorna (eredeti modellben kétirányú (full-duplex)) - üzenetek továbbítása azonnal történik (nem pufferen keresztül küldi) - feltesszük, hogy minden hibás üzenetküldés a nem megfelelő sorszám bit észlelésével érzékelhető (nem különböztetjük meg a hibás ellenőrző bittel vett üzenetet és egyéb átviteli hibát). 57

58 megvalósítás: S minden üzenethez egybites sorszámot csatol. Ismétli az üzenet küldését amíg a küldött üzenet sorszámát tartalmazó nyugta nem érkezik az R-től. Ekkor a sorszámbitet átfordítja és ezzel a sorszámmal küldi a következő üzenetet. R üzenet hibás átvétele után ismétli az üzenet nyugtázását a fogadott üzenet sorszámával amíg egy ellentétes sorszámbittel ellátott üzenet érkezik hozzá. Ezután az új üzenetről kezd nyugtát küldeni egészen a következő üzenet sikeres vételéig. 58

59 S adó akciói: R vevő akciói: S adó állapotai: send 0, send 1, wait 0, wait 1, resend 0, resend 1 R vevő állapotai: send 0, send 1, wait 0, wait 1, resend 0, resend 1 59

60 Az adót modellező átmeneti rendszer: X = {initial}, Y = {emission, re-emission} S initial = {send 0, send 1 } T emission = {t 1, t 2 }, első alkalommal történő üzenetküldés T re-emission ={t 7, t 8 }, üzenetküldés megismétlése 60

61 Vevőt modellező átmeneti rendszer: X = {initial}, Y = {well_received, ill_received} S initial = {wait 0, wait 1 } T well_received = {t 1, t 3 }, az üzenet sikeres fogadása T ill_received ={t 2, t 4 }, hibás üzenettovábbítás 61

62 62

63 63

64 Különböző kommunikáció megvalósítása szinkronizációs megszorításokkal: 1. Ha mindkét irányban hibátlan a kommunikáció: I = { em0, rm0, em1, rm1, ra0, ea0, ra1, ea1 } 2. Ha csak a vevőtől az adóig irányban hibátlan a kommunikáció: I e = I { em0, rm1, em1, rm0 } 3. Ha csak az adótól a vevőig irányban hibátlan a kommunikáció: I r = I { ra0, ea1, ra1, ea0 } 4. Ha mindkét irányban megbízhatatlan a kommunikáció: I er = I e I r 64

65 Jelölések a mindkét irányban megbízhatatlan csatornát feltételező ABP protokoll modelljében: E = (1, emission) : az adó komponens az üzenetet először küldi ki; R = (1, re-emission) : az adó komponens az üzenetet ismételten küldi ki; W = (2, well_received): hibamentes üzenetküldések; I = (2, ill_received) : hibás üzenetküldések; Animáció: az I, I e, I r, I er szinkronizációs megszorítások szerinti átmeneti rendszerek szemléltetésére; 65

66 66

67 Temporális logikák Átmeneti rendszerek időbeli (események sorrendisége) változásai adhatók meg. Lineáris temporális logika: az időt, időpillanatok egymást követő sorozataként kezeli. Elágazó temporális logika: időben egy eseménynek több rákövetkezője lehet. Nem temporális logika: állapotoknak, átmeneteknek lokális tulajdonsága adható meg. 67

68 Kijelentés logika A = (S, T,,, S x1,, S xn, T y1,, T ym ) (X, Y)-paraméterezett átmeneti rendszer, X={x 1,, x n }, Y={y 1,, y m }. jelölés: AP = {P x x X}, állapot atomi kijelentések halmaza; AP = {Q y y Y}, átmenet atomi kijelentések halmaza; A logika szimbólumai: 0, 1 állapot logikai konstansok, P x állapot atomi kijelentés, minden x X-re, (logikai és) kétváltozós operátor, (logikai negáció) egyváltozós operátor; 68

69 AP feletti kijelentés logika állapotformulái: - 0, 1 állapot logikai konstansok, - a, minden a AP-re, - ha f 1 és f 2 állapotformulák, akkor f 1 f 2 állapotformula, - ha f állapotformula, akkor f állapotformula. Formulák szemantikája: legyen f állapotformula, s S, A, s = f jelentése: A átmeneti rendszer s állapotában kielégíti az f állapotformulát; A, s f jelentése: A átmeneti rendszer az s állapotában nem elégíti ki az f állapotformulát. 69

70 A, s = f reláció definiálása az f állapotformula felépítése szerinti indukcióval: - ha f = 0, akkor A, s f, - ha f = 1, akkor A, s = f, - ha f = a, ahol a AP és a = P x valamely x X-re, akkor A, s = f s S x, - ha f = f 1 f 2, akkor A, s = f A, s = f 1 és A, s = f 2, - ha f = f, akkor A, s = f A, s f. A logika állapotformuláival az átmeneti rendszer állapotainak lokális tulajdonsága adható meg. 70

71 AP feletti kijelentés logika átmenetformulái: - 0, 1 átmenet logikai konstansok, - a, minden a AP -ra, - ha g 1 és g 2 átmenetformulák, akkor g 1 g 2 átmenetformula, - ha g átmenetformula, akkor g átmenetformula. Átmenetformulák szemantikája: legyen g átmenetformula és t T, A, t = g jelentése: A átmeneti rendszer t átmenete kielégíti az g átmenetformulát. 71

72 A, t = g reláció definiálása az g átmenetformula felépítése szerinti indukcióval: - ha g = 0, akkor A, t g, - ha g = 1, akkor A, t = g, - ha g = a, ahol a AP és a = Q y valamely y Y-ra, akkor A, t = g t T y, - ha g = g 1 g 2, akkor A, t = g A, t = g 1 és A, t = g 2, - ha g = g, akkor A, t = g A, t g. A logika átmenetformuláival az átmeneti rendszer átmeneteinek lokális tulajdonsága adható meg. 72

73 LTL (Linear Temporal Logic) A=(S, T,,, S x1,, S xn, T y1,, T ym ) (X, Y)-paraméteres átmeneti rendszer, X={x 1,, x n }, Y={y 1,, y m }, minden állapotnak van rákövetkezője. LTL szimbólumai: - az AP feletti kijelentés logika szimbólumai, - X (next) egyváltozós temporális operátor, - U (until) kétváltozós temporális operátor. A logika útformulái: - 0, 1, a, a AP-re, - f 1 f 2, f, ha f 1, f 2, f útformulák, - Xf, ha f útformula, - f 1 Uf 2,ha f 1 és f 2 útformulák. 73

74 kifejezhető operátorok a logikában: Ff = 1Uf, f 1 Bf 2 = (( f 1 )Uf 2 ), Gf = (F( f)), G f = FGf, F f = GFf f 1 Wf 2 = (f 1 Uf 2 ) Gf 1 (gyenge until). F helyett a és G helyett a [] vagy a jelölés is gyakori. jelölés: Legyen c = s 0, s 1, végtelen út az A-ban, ahol i 0-ra s i S. i 0-ra c i = s i, s i+1,. Formulák szemantikája: A, c = f reláció definiálása f útformula felépítése szerint: - ha f = 0, akkor A, c f, - ha f = 1, akkor A, c = f, 74

75 - f = a, ahol a = P x AP valamely x X-re: A, c = f s 0 S x, - f = f 1 f 2: A, c = f A, c = f 1 és A, c = f 2, - f = f : A, c = f A, c f, - f = Xf : A, c = f A, c 1 = f, - f = f 1 Uf 2 : A, c = f j 0, hogy A, c j = f 2, 0 i j-re A, c i = f 1. kifejezhető operátorok szemantikája: A, c = Ff i 0, hogy A, c i = f A, c = Gf i 0, hogy A, c i = f 75

76 A, c = F f i 0-ra j i, hogy A,c j = f A, c = G f i 0, hogy j i-re A,c j = f A, c = f 1 Bf 2 j 0-ra, ha A, c j = f 2, akkor i j, hogy A,c i = f 1. Legyen s S, S 0 S a kezdőállapotok halmaza, f AP feletti LTL formula. jelölések: A kielégíti az s állapotban az f LTL formulát: A, s = f ; A kielégíti az f LTL formulát: A = f; A, s = f és A = f relációk definiálása: A, s = f c végtelen s-ből induló útra A, c = f ; A = f s S 0 -ra A, s = f ; 76

77 77

78 példa: 78

79 Átmenet-paraméteres rendszerekre az LTL definiálása Legyen c = t 0, t 1, végtelen út az A-ban, ahol i 0-ra t i T, g LTL útformula az AP átmenet atomi kijelentések felett. c i = t i, t i+1, végtelen út. A, c = g definiálása: - ha g = 0, akkor A, c g, - ha g = 1, akkor A, c = g, - ha g = a, ahol a = Q y AP valamely y Y-ra, akkor A, c = g t 0 T y, - ha g = g 1 g 2, akkor A, c = g A, c = g 1 és A, c = g 2, - ha g = g, akkor A, c = g A, c g, 79

80 - ha g = X g, akkor A, c = g A, c 1 = g, - ha g = g 1 U g 2, akkor A, c = g j 0, hogy A, c j = g 2, 0 i j-re A, c i = g 1. 80

81 HML (Hennessy-Milner Logic) A véges címkehalmaz feletti HML szimbólumai: - 0, 1 logikai konstansok, - (logikai és) kétváltozós operátor, - (logikai negáció) egyváltozós operátor, - a egyváltozós operátorok a A-ra. HML állapotformulái: - 0, 1 logikai konstansok, - f 1 f 2, ha f 1 és f 2 állapotformulák, - f, ha f állapotformula, - a f, ha f állapotformula, a A. Kifejezhető operátor: [a]f = a f 81

82 Legyen A = (S, T,,, ) egy A feletti címkézett átmeneti rendszer, s S, a A, f HML formula, S 0 az A kezdőállapotainak halmaza. A, s = f definiálása: - ha f = 0, akkor A, s f, - ha f = 1, akkor A, s = f, - ha f = f 1 f 2, akkor A, s = f A, s = f 1 és A, s = f 2, - ha f = f, akkor A, s = f A, s f - ha f = a f, akkor A, s = f t T, (t)=s, (t)=a, A, (t) = f [a]f szemantikája: A, s = [a]f t T, (t)=s, (t)=a, akkor A, (t) = f; A = f s S 0 -ra A, s = f ; 82

83 HML kiterjesztései: A címkézett és (X, )-paraméteres átmeneti rendszer: AP elemei állapot atomi kijelentések a logikában. A (,Y)-paraméteres átmeneti rendszer: HML állapotformulái: - 0, 1 logikai konstansok, - f 1 f 2, f,ha f 1, f 2 és f állapotformulák, - g f, ha f állapotformula, g átmenetformula. g f szemantikája: A, s = g f t T, (t)=s, A, t = g, A, (t) = f; [g]f szemantikája: A, s = [g]f t T, (t)=s, A, t = g, akkor A, (t) = f; 83

84 Dicky logika (X, Y)-paraméteres átmeneti rendszerek tulajdonságai adhatók meg vele. A logika szimbólumai: - 0, 1, 0, 1 állapot, illetve átmenet logikai konstansok, - P x állapot atomi kijelentés, minden x X-re, - Q y átmenet atomi kijelentés, minden y Y-ra, -,,,,, kétváltozós állapot, illetve átmenet operátorok, - src, tgt, in, out egyváltozós állapot, illetve átmenet operátorok; 84

85 állapotformulák: 0, 1, P x x X-re, f 1 f 2, f 1 f 2, f 1 f 2, ha f 1,f 2 állapotformulák, src(g), tgt(g), ha g átmenetformula. átmenetformulák: 0, 1, Q y y Y-ra, g 1 g 2, g 1 g 2, g 1 g 2, ha g 1, g 2 átmenetformulák, in(f), out(f), ha f állapotformula. Legyen A=(S, T,,, S x1,, S xn, T y1,, T ym ) (X,Y)- paraméteres átmeneti rendszer, X={x 1,,x n }, Y={y 1,, y m }, s S, t T, f, f 1, f 2, állapotformulák, g, g 1, g 2 átmenetformulák. 85

86 formulák szemantikája: 0, 1, 0, 1, P x x X-re, Q y y Y-ra, vagyis a logika atomi formuláinak és a,,, operátorok szemantikája, mint a kijelentés logikában. A, s = f 1 f 2 A, s = f 1 és A, s f 2, A, s = src(g) t T, (t)=s, A, t = g, A, s = tgt(g) t T, (t) =s, A, t = g, A, t = g 1 g 2 A, t = g 1 és A, t g 2, A, t = in(f) A, (t) = f, A, t = out(f) A, (t) = f. 86

87 negáció ( ) kifejezése: A, s = f A, s = 1 f, A, t = g A, t = 1 g. HML a f kifejezése: A, s = a f A, s = src(q a in(f)). példák: A, s = src(1 ) s állapotból indul ki átmenet A, s = 1 tgt(1 ) s állapotba nem vezet átmenet A, s = P x1 src(1 in(p x2 )) s S x1, t T, (t) S x2. A, t = out(p x ) (t) S x A, t = in(p x src(q y )) (t) S x, t T, (t)= (t ), t T y 87

88 CTL (Computational Tree Logic) Legyen A = (S, T,,, S x1,, S xn ) (X, )-paraméterezett átmeneti rendszer, X={x 1,, x n }, S 0 S a kezdőállapotok halmaza, s 0 S, minden állapotnak van rákövetkezője. s 0 gyökerű számítási fa olyan irányított, címkézett végtelen fa, melynek, ha valamely s S csúcsa és s-ből T-beli átmenetekkel s 1,, s k állapotok elérhetők A-ban, akkor az s címkéjű csúcsnak k darab leszármazottja van, ezek címkéi s 1,, s k. AP feletti CTL szimbólumai: - AP feletti kijelentés logika szimbólumai, - EX, AX egyváltozós operátorok, - EU, AU kétváltozós operátorok. 88

89 állapotformulák: - 0, 1, a a AP-re, - f 1 f 2, f, ahol f 1, f 2, f állapotformulák, - EXf, AXf, ahol f állapotformula, - EU(f 1, f 2 ), AU(f 1, f 2 ), ahol f 1, f 2 állapotformulák. Az állapotformulák szemantikája: - 0, 1, a a AP-re, f 1 f 2, f esetén, mint a kijelentés logikában, - A, s = EXf t T, (t)=s, A, (t) = f, - A, s = AXf t T, (t)=s, A, (t) = f, - A, s = EU(f 1, f 2 ) c=s 0, s 1, végtelen út az A-ban, (c)=s, j 0, hogy A, s j = f 2, 0 i j-re A, s i = f 1, - A, s = AU(f 1, f 2 ) c=s 0, s 1, végtelen út az A-ban, (c)=s, j 0, hogy A, s j = f 2, 0 i j-re A, s i = f 1. 89

90 90

91 egyéb kifejezhető operátorok: EFf = EU(1, f), EGf = (AF ( f)), AFf = AU(1, f), AGf = (EF ( f)). jelölés: Legyen f CTL formula, S f = {s S A, s = f }. Animáció: A átmeneti rendszer kielégíti az f formulát reláció definiálása: A = f S 0 S f. 91

92 A átmeneti rendszer, ahol AP = {a, b} f = EXa: S f = {s 0, s 1, s 2, s 3 }, f = AXa: S f = {s 1, s 2, s 3 }, f = EGa: S f = {s 0, s 1, s 3 }, f = AGa: S f = {s 3 }, f = EF(EGa): S f = {s 0, s 1, s 2, s 3 }, f = AU(a, b): S f ={s 0, s 1, s 2 }, f = AU( a, b): S f ={s 1, s 2 }, f = a AU( a, b): S f ={s 2 }, f = EU(a, ( a AU( a, b))): S f ={s 0, s 1, s 2 }. 92

93 CTL* Legyen A = (S, T,,, S x1,, S xn ) (X, )-paraméteres átmeneti rendszer, X={x 1,, x n }, S 0 S a kezdőállapotok halmaza, s S, minden állapotnak van rákövetkezője. A logika szimbólumai: - AP feletti kijelentés logika szimbólumai, - E (egzisztenciális) útkvantor, - X, U lineáris temporális operátorok. A logika állapotformulái: - 0, 1, a a AP-re, - f 1 f 2, f, ahol f 1, f 2, f állapotformulák, - Eg, ahol g útformula. 93

94 A logika útformulái: - minden állapotformula, - g 1 g 2, g, ahol g 1, g 2, g útformulák, - Xg, ahol g útformula, - U(g 1, g 2 ), ahol g 1, g 2 útformulák. Az állapotformulák szemantikája: - 0, 1, a a AP-re, f 1 f 2, f állapotformuláknál, mint a kijelentés logikában, - A, s = Eg c = s 0, s 1, végtelen út, s = s 0, A, c = g. 94

95 Az útformulák szemantikája: c = s 0, s 1, végtelen út az A átmeneti rendszerben. - ha g=f, ahol f állapotformula, akkor A, c = g A, s 0 = f, - g 1 g 2, g, Xg, U(g 1, g 2 ), ahol g 1, g 2, g útformulák szemantikája, mint az LTL-ben. jelölés: f állapotformula CTL*-ban, ekkor S f = {s S A, s = f}. A kielégíti az f állapotformulát reláció definiálása: A = f S 0 S f. Univerzális útkvantor: Ag = (E( g)) 95

96 LTL, CTL, CTL* logikák kifejezőerejének összehasonlítása Logika kifejezőereje: a logikában kifejezhető tulajdonságok összessége. Legyen f, g AP atomi kijelentések feletti LTL, CTL,CTL* állapotformulák. f, g állapotformulák ekvivalensek (f g), ha bármely AP feletti A átmeneti rendszerre és s S-re teljesül A, s = f A, s = g. - ha f LTL formula, akkor Af CTL* és f Af; - minden f CTL formula CTL* formula; 96

97 f 1 =FGa, f 2 =AG(EFa), f 3 =GFa AGAFa, f 4 =AFGa AG(EFa) - LTL és CTL kifejezőereje nem összehasonlítható. - CTL* kifejezőereje nagyobb az LTL és a CTL kifejezőerejénél. 97

98 Időzített átmeneti rendszerek Legyen A egy ábécé, A = A { (d) d R 0 }. A feletti (valós idejű) időzített átmeneti rendszer olyan A = (S, T,,, ) címkézett átmeneti rendszert ( : T A ), melyre teljesülnek az alábbiak: 98

99 példa: A = {a, b} címkehalmaz, S = R 0, T = {, } { r, d R 0 } Kezdőállapot: 0 99

100 Időzített automaták Legyen C = {x, y, } egy halmaz, az órák halmaza. C feletti órafeltételek halmaza az a legszűkebb B(C) halmaz, melyre x C, {,,,, }, n N esetén x n B(C), g 1, g 2 B(C) esetén g 1 g 2 B(C). Óraértékelés v: C R 0 Órák értékét megváltoztató műveletek: szünet (delay), újraindítás (reset); jelölések: Legyen C egy órahalmaz, v egy óraértékelés, R C. v+d (x) = v(x) + d, x C, d R 0 ; v[r 0](x) = 0, ha x R x C; v(x), különben 100

101 megjegyzés: - ha R ={x}, akkor R helyett x-t írunk (v[x 0]); - B(C) elemei hely-invariánsként, illetve őrfeltételként jelenhetnek meg az időzített automatában; Óraértékelések és órafeltételek közötti kielégítési relációt (jelölése v = g, ahol v óraértékelés, g órafeltétel) az órafeltételek felépítése szerinti indukcióval definiáljuk: v = x n v(x) n, x C, n N esetén, v = g 1 g 2 v = g 1 és v = g 2, g 1, g 2 B(C) esetén. v g jelöli, ha v = g reláció nem teljesül; Órafeltételek ekvivalenciája g 1, g 2 órafeltételre g 1 ekvivalens g 2 -vel ha minden v óraértékelésre v = g 1 v = g 2 ; 101

102 példa: C = {x, y}, v = [x = 1.2, y = 3.1] v = x 1 x 2, v = x 0 y 3, v y 3 x

103 Legyen C órahalmaz, A az akciók (véges vagy végtelen) halmaza. A és C feletti időzített automata (L, l 0, E, I), ahol L a helyek véges halmaza, l 0 L a kezdőhely, E L B(C) A P(C) L az átmenetek (vagy élek) véges halmaza, I : L B(C) a helyekhez hely-invariánsokat rendelő függvény. jelölés: (l, g, a, R, l ) átmenet, ahol l forráshely, l célhely, a akció, g őrfeltétel, R újraindítandó órák halmaza. 103

104 Időzített automaták grafikus reprezentálása: a helyeket körök reprezentálják, a helyinvariánsok a hely körben elhelyezve; az átmeneteket nyilak reprezentálják, nyíl kezdetén az őrfeltétel, közepén az akció, végén az újraindítandó órák (x:=0 típusú jelöléssel). megjegyzés: Az órafeltételekben egész számok szerepelhetnek, de ez nem jelent megszorítást. Ha a valóságban racionális számok szerepelnek az automatában, ezeket a legkisebb közös többszörösükkel végig szorozva, az eredetivel ekvivalens modell kapható (véges sok átmenet lehet az automatákban). 104

105 példa: C = {x}, L = {Off, Light, Bright}, l 0 = Off, I(Off) = I(Light) = I(Bright) =, ahol az azonosan igaz, } 105

106 Szemantika (az automata működése) A = (L, l 0, E, I) időzített automata akciók A és órák C halmaza felett. A automatához rendelt időzített átmeneti rendszer A = A { (d) d R 0 } feletti T(A)=(S, T,,, ), ahol S = {(l, v) l L, v : C R 0, v = I(l)}, T elemei (l, v), (l, v ) S, d R 0, a A esetén (l, v) (l, v ) T l l E, v =g, v =v[r 0], v =I(l ), (l, v) (l, v+d) T v = I(l), v+d = I(l). Van egy kezdő nevű állapotparaméter, S kezdő = {(l 0, v 0 )}, ahol v 0 (x) = 0, x C-re. Feltesszük, hogy v 0 = I(l 0 ). 106

107 példa: A időzített automata A-nak egy állapota van az l 0, ehhez az I(l 0 ) = x 2 invariáns tartozik. Egy átmenete van, l 0 ból l 0 -ba, melynek őrfeltétele x 1, vagyis ha ez teljesül, akkor végrehajthatja az a akciót és ezzel együtt az x óra újraindítását. 107

108 Időzített automaták hálózata szinkronizáció: csatornák (szinkronizációs) feletti kommunikációs átmenetekkel; Ch = {a, b, } csatornák halmaza, Ch C = Ch A = ; kommunikációs átmenetek címkéi egy-egy csatornához kötődnek, párokban fordulnak elő; jelölés: a Ch esetén a! és a? az a csatornához tartozó kommunikációs átmenet pár; a! : a komponens szinkronizációs igényt jelez, a? : a komponens kommunikációs igényt fogad; kommunikáció megvalósulás: a két komponens egyszerre képes a küldő és a fogadó kérést megvalósítani (kézfogás típusú kommunikáció); 108

109 kommunikációs átmenetek eredeti címkéi a hálózat működését reprezentáló időzített átmeneti rendszerben nem jelennek meg, helyettük a szinkronizációt a speciális jel jelöli az átmenetnél; kommunikációs átmenet nem igényel időt (adatátadás ilyenkor nincs); példa: Hálózatnak komponense az érintőkapcsolóval ellátott lámpa és egy felhasználó, aki minden 3. időegység leteltekor megnyomja a kapcsolót. A kommunikáció megvalósul a press csatornán keresztül a press! és press? címkéjű átmenetek szinkronban való végrehajtásával. 109

110 Érintőkapcsolós lámpa időzített automatája (A 1 ): X := 0 Felhasználót modellező időzített automata (A 2 ): 110

111 (A 1, A 2 ) rendszer működését modellező időzített átmeneti rendszer néhány átmenete: 111

112 A i = (L i, l 0i, E i, I i ) 1 i m-re egy-egy időzített automata a C óra-, Ch csatorna-, A akcióhalmazok felett; A=A c A n, ahol A c ={a!, a? a Ch} a kommunikációs, A n a normál akciók halmaza és A c A n = ; A i, 1 i m időzített automaták hálózatát A 1, A 2,, A m jelöli, ami az automaták szorzata; A-hoz rendelt T(A) időzített átmeneti rendszer (az A szemantikáját vagyis működését definiálja) az alábbi címkézett átmeneti rendszer: címkehalmaza: A pr = A n { } { (d) d R 0 }; állapotai: S={(l 1, l 2,, l m, v) l i L i, 1 i m, v: C R 0, v = i {1,, m} I i (l i )}; 112

113 átmenetei: (1) (l 1,, l i,, l m, v) (l 1,, l i,, l m, v ), ahol a A n, ha (l i l i ) E i, v = g, v = v[r 0], v = I i (l i ) k i I k (l k ); (2) (l 1,, l i,, l j,, l m, v) (l 1,, l i,, l j,, l m, v ), i j, ha (l i l i ) E i, (l j l j ) E j, d Ch, hogy {, } = {d!,d?}, v = g i g j, v = v[(r i R j ) 0], v = I i (l i ) I j (l j ) k i, j I k (l k ); (3) (l 1, l 2,, l m, v) (l 1, l 2,, l m, v+d), d R 0 -ra, ha v+d = i {1,, m} I i (l i ), d [0, d]-re; kezdőállapot: (l 01, l 02,, l 0n, v 0 ), ahol v 0 (x)=0, x C-re. 113

114 TCTL (Timed Computational Tree Logic) CTL valós idejű változata; C órahalmaz, A véges akcióhalmaz feletti A = (L, L 0, E, I) időzített automaták tulajdonságai adhatók meg; Legyen : L P(AP), a helyek címkéző-függvénye. jelölés: A = (L, A, C, L 0, E, I, AP, ) a fenti időzített automatát jelöli; AB(C) jelöli az atomi órafeltételek ( művelet nem fordul elő bennük) halmazát; V(C) a v: C R 0 óraértékelések halmaza; 114

115 A logika állapotformulái: - 1, a a AP-re, - g, g AB(C)-re, - f 1 f 2, f, ha f 1, f 2, f állapotformulák, - EU J (f 1, f 2 ), AU J (f 1, f 2 ), ahol J R 0 természetes szám korlátú intervallum, illetve lehet jobbról végtelen is ([n, m], [n, m), (n, m], (n,m), n, m N, illetve m= is lehet) További kifejezhető operátorok: EF J f = EU J (1, f), EG J f = AF J f, AF J f = AU J (1, f), AG J f = EF J f. (X operátor TCTL-ben nincs) 115

116 jelölés: = q 0 0 q 1 1 q 2 végtelen út T(A)-ban, i A { (d) d R 0 }, ext( ) = i=0,1, ext( i ), ahol ext( i ) = 0, ha i A d, ha i = (d), d R 0. végtelen út idő-divergens, ha ext( ) =, egyébként idő-konvergens. olyan idő-divergens végtelen út, melyben végtelen sok A- beli akció van, d i = j=0,,ki d i j, i 0-ra. út jelölése ekkor 116

117 idő-divergens út jelölése, ha véges sok A-beli akciót tartalmaz q konfiguráció (állapot) elérhető T(A)-ban, ha van kezdőkonfigurációból induló q-ba vezető véges átmenetsorozat. A időzített automata idő-divergens, ha minden T(A)-beli elérhető konfigurációból indul idő-divergens átmenetsorozat. Feltesszük ezután az automatáról, hogy idő-divergens. jelölés: q=(l, v) T(A)-beli konfiguráció, d R 0 esetén az (l,v+d) konfigurációt q+d jelöli. 117

118 TCTL formulák szemantikája: Legyen A = (L, A, C, L 0, E, I, AP, ) véges időzített automata, q=(l, v) T(A)-beli konfiguráció, J R 0, f egy TCTL formula. T(A),q = f reláció definiálása: - T(A),q = 1 bármely T(A)-beli konfigurációra - a AP-re T(A),q = a a (l) - g AB(C)-re T(A),q = g v = g - T(A),q = f 1 f 2 T(A),q = f 1 és T(A),q = f 2 - T(A),q = f T(A),q f 118

119 - T(A),q = EU J (f 1, f 2 ), q = q 0 idődivergens út, melyhez (1) i 0, d [0, d i ], hogy ( k=0,,i-1 d k )+d J, T(A),q i +d = f 2 és (2) j i, d [0, d j ], ahol ( k=0,,j-1 d k )+d ( k=0,,i-1 d k )+d teljesül T(A),q j +d = f 1 f 2 - T(A),q = AU J (f 1, f 2 ) q-ból induló idő-divergens útra teljesül az (1) és (2). jelölés: S f = {q L V(C) T(A),q = f }. T(A) = f l 0 L 0 -ra (l 0, v 0 ) S f, v 0 (x)= 0, x C-re; A = f T(A) = f ; 119

120 példa: A: AP={ki, be}, C={x}, A={le, fel} 120

121 Petri háló Petri háló (PN) egy (P, T, E, w, m 0 ) rendszer, ahol P a helyek véges halmaza; T a tranzíciók véges halmaza (P T= ); E (PxT) (TxP) az élek véges halmaza; w: E N + a súlyfüggvény; token eloszlás (vagy PN állapota): m: P N függvény, mely adott állapotban megadja a helyeken levő tokenek számát; m 0 a kezdeti token eloszlás (a hálózat kezdeti állapota); Petri háló struktúra (P, T, E, w). 121

122 Gráf reprezentáció PN irányított, súlyozott, páros gráf; hely: körökkel reprezentált csúcs; tranzíció: rövid vízszintes vonallal (vagy téglalap) reprezentált csúcs; (p, t) (PxT): p-ből t-be irányított él; (t, p) (TxP): t-ből p-be irányított él; e E él címkéje w(e); (1 értéket él címkeként nem szerepeltetjük általában); m: P N token eloszlás: m(p)-t a p helyen m(p) darab korong reprezentálja az m állapotban; 122

123 Petri hálót egyszerűnek nevezünk, ha az élek súlya 1. Az alábbi Petri háló egyszerű Petri hálóra példa: 123

124 jelölés: Pre: T P(P), ahol Pre(t)= {p P (p, t) E} (t őseinek vagy bemenő helyeinek halmaza); Post: T P(P), ahol Post (t)= {p P (t, p) E} (t utódainak vagy kimenő helyeinek halmaza); p P, t T esetén w - ((p, t))= w((p, t)) ha (p, t) E, különben w - ((p, t))=0; w + ((t, p))= w((t, p)) ha (t, p) E, különben w + ((t, p))=0; W súlyozott szomszédsági T x P dimenziós mátrix, ahol W(t, p) = w + ((t, p)) w - ((p, t)); W - és W + szintén T x P dimenziós mátrixok, ahol W - (t, p) = w - ((p, t)), W + (t, p) = w + ((t, p)). 124

125 m token eloszlásban (állapotban) egy t tranzíció tüzelés megengedett, ha t minden ősén van legalább w((p,t)) token, vagyis p Pre(t) : m(p) w((p,t)). - m állapotban (token eloszlás) véletlen módon választ egy engedélyezett tranzíciót, melyet tüzel; - a tüzelés [0, ) időintervallumban bármikor megtörténhet; - m állapotban a t tranzíció tüzelésének eredménye m állapot lesz, ahol p P -re: m (p) = m(p) w - ((p, t)) + w + ((t, p)); 125

126 - m token eloszlás tekinthető egy P elemű M oszlopvektornak, ahol az M elemei a P-beli helyeken az m szerinti tokenek számai; - e t jelölje a t tranzíciónak megfelelő oszlop egységvektort; - ha a t tranzíció tüzelése történik az M állapotban, akkor ennek eredménye M új állapot, ahol M = M + W T e t - M állapot elérhető az M állapotból, ha megadható olyan M = M i 0,, M in = M állapot sorozat és t 1,, t n tranzíció sorozat, hogy minden j {1,, n}-re M i j az M ij-1-ből a t j tranzíció tüzelésével áll elő; 126

127 - ha <M i 0 t 1 t n M i n >, akkor v = < t 1 t n > tüzelési szekvencia; - M állapot elérhető az M állapotból a v tüzelési szekvencia által jelölése M v M ; - Petri háló tiszta, ha nincsenek önhurkai, vagyis t T-re Pre(t) Post(t) = ; - t tranzíció forrás tranzíció, ha Pre(t) = ; - t tranzíció elnyelő tranzíció, ha Post(t) = ; - t és t tranzíciók függetlenek, ha Pre(t ) (Pre(t ) Post(t )) = és Pre(t ) (Pre(t ) Post(t )) = ; 127

128 példa szomszédsági mátrixra, tranzíció tüzelésre: p 1 p 2 t 1 t p 3 p 4 p Az alábbi M token eloszlásból t 1 tranzíció tüzelése engedélyezett és a tüzelés eredménye M 1 token eloszlás: M M W p 1 p 2 p 3 p 4 p 5 t t t

129 Petri hálóból származtatott címkézett átmeneti rendszer (LTS) (P, T, E, w, m 0 ) Petri hálóból származtatott LTS rendszerben állapotok: az m 0 -ból elérhető token eloszlások; átmenetek: a tranzíciók tüzelésének felelnek meg vagyis ha m-ben t tüzelhető és eredménye m, akkor m-ből m -be van átmenet, melynek címkéje t, vagyis m t m átmenet; címkehalmaz: a Petri háló tranzícióinak halmaza; kezdőállapot: m 0 129

130 példa: PN-hez LTS megadása m 0 és belőle elérhető token eloszlások: m 0 m 1 m 2 m 3 p p p p

131 Legyen a példában szereplő Petri háló kezdeti token eloszlás: m 0 Átmeneti rendszer a példához: címkehalmaz: {t 1, t 2, t 3 }, állapothalmaza: {m 0, m 1, m 2, m 3 }, átmenethalmaza: m 0 t 2 m 1, m 1 t 1 m 2, m 1 t 3 m 3, m 2 t 3 m 0, m 3 t 1 m 0, kezdőállapot: m

132 Korlátos Petri háló: PN kiegészítve egy k: P N + kapacitás függvénnyel, mely minden helyhez megadja az oda elhelyezhető tokenek maximális számát. - t tranzíció tüzelés engedélyezett m állapotban: p Pre(t)-re m(p) w((p, t)) és p Post(t)-re m(p)+w((t, p)) k(p); - m állapotban t engedélyezett tranzíció tüzelés eredménye, mint a végtelen kapacitású Petri hálóknál; - korlátos PN-ből származtatott LTS véges; - korlátos PN kifejező ereje nem nagyobb a végtelen kapacitásúnál vagyis megadható vele ekvivalens végtelen kapacitású PN; 132

133 Prioritásos Petri háló Petri háló kiegészítve egy : T N + prioritás függvénnyel. - m állapotban az engedélyezett tranzíciók közül a legmagasabb prioritású tranzíciók valamelyikének tüzelése történik; - prioritással kiterjesztett PN kifejező ereje nagyobb, a kiterjesztés nélküli PN kifejező erejénél (vagyis vannak olyan rendszerek, melyek kiterjesztés nélküli Petri hálóval nem modellezhetők); - prioritásos Petri hálók kifejező ereje a Turinggépekével azonos; 133

134 Állapotegyenletek - a token eloszlások változását írják le; - feltesszük, hogy a Petri háló tiszta; - v = <M i 0 t 1 t n M i n > = < t 1 t n > tüzelési szekvencia, vagyis M i 0 v M in ; - ha v engedélyezett tüzelési szekvencia, akkor t j v átmenetre M i j-1 W-T e t j ; - ha v szerint történik a tranzíciók tüzelése, akkor M i j = M ij-1 - W-T e t j + W+T e t j = M ij-1 + WT e t j ; - token eloszlás módosulása (a fenti egyenleteket összeadva, átrendezve) M i n - M i0 = W T j {1,, n} e t j = WT v T, ahol v T T elemű tüzelési szám vektor (oszlopvektor), v T (t) a t tranzíció v-ben való előfordulásainak száma; 134

135 Strukturális tulajdonságok kezdőállapottól független tulajdonságok; Tüzelési invariáns (T-invariáns) v T tüzelési szám vektor T-invariáns, ha W T v T = 0 (oszlopvektor) lineáris egyenletrendszer megoldása; - az egyenlet megoldások lineáris kombinációi is megoldások; - ha v szekvencia végrehajtható M i állapotban és T-invariáns, akkor M i v M i vagyis az állapottér ciklikus; - bármely v tüzelési szekvencia az M 0 W -T v T kezdőállapotból végrehajtható; 135

136 Hely invariáns (P-invariáns) r P súlyvektor ( P elemű oszlopvektor) P-invariáns, ha tetszőleges tüzelési szekvenciára álladó az elért helyeken a tokenek r P szerinti súlyozott összege, vagyis r PT M = állandó; - M, M állapotra, v tüzelési szekvenciára, ha M v M, akkor M = M + W T v T r PT M = r PT M + r PT W T v T r PT W T v T = 0 P-invariánsok az alábbi lineáris egyenletrendszer megoldásai W r P = 0; 136

137 Kezdőállapottól függő tulajdonságok Elérhetőségi analízis vizsgálja, hogy m 0 kezdőállapotból egy m állapot valamely tüzelési szekvencia mellett elérhető-e vagy nem. jelölés: legyen (N, m 0 ) egy PN, akkor R(N, m 0 ) = {m v: m 0 v m}, L(N, m 0 ) = {v m: m 0 v m}; elérhetőségi probléma: m R(N, m 0 ); - elérhetőségi probléma eldönthető (általában exponenciális időben); 137

138 Élőség (N, m 0 ) PN élő, ha köztes állapotoktól függetlenül t T újra tüzelhetővé válik a későbbi működés során; - bejárási úttól független holtpontmentességet garantál; Korlátosság (N, m 0 ) PN korlátos, ha megadható egy k szám, hogy p P helyen m R(N, m 0 ) helyen a tokenek száma legfeljebb k; - (N, m 0 ) PN korlátos R(N, m 0 ) véges; 138

139 - ha egy (N, m 0 ) PN korlátos és elakadás mentes, akkor van olyan v tüzelési szekvencia, hogy v T 0 T-invariáns; - ha egy korlátos (N, m 0 ) PN-ben nincs v T 0 T-invariáns, akkor minden úton elakad; - ha egy (N, m 0 ) PN korlátos és élő, akkor van minden tranzíciót tartalmazó tüzelhető v T 0 T-invariáns; ha nincs ilyen T-invariáns, akkor a PN nem élő; ha van ilyen T-invariáns egy korlátos PN-ben abból nem következik, hogy a PN élő; - ha egy korlátos (N, m 0 ) PN-ben egy t tranzíció nincs benne egyetlen T-invariánsban sem, akkor csak véges sokszor tüzelhető; 139

140 Megfordíthatóság (N, m 0 ) PN megfordítható, ha m R(N, m 0 )-re m 0 R(N, m); - ciklikus működre képes a hálózat; Visszatérő állapot (N, m 0 ) PN-ben m R(N, m 0 ) visszatérő állapot, ha m R(N, m )-re m R(N, m); - m 0 -tól m -ig tartó inicializálás után m biztonságos, mert minden elérhető állapotból vissza lehet térni hozzá; 140

141 Fedhetőség (N, m 0 ) PN m állapotát az m R(N, m 0 ) állapot lefedi, ha p P: m (p) m(p) vagyis m m; - ha m egy t tranzíció tüzeléséhez szükséges token eloszlás, akkor t halott (soha nem tüzelhető) m R(N, m 0 ) nem fedi m állapotot; Perzisztencia t T perzisztens, ha engedélyezetté válva engedélyezettsége fennáll a tüzeléséig; PN perzisztens, ha t T perzisztens; - ha ez a tulajdonság fennáll, akkor az eredetileg párhuzamosnak szánt működések nem befolyásolják egymást; 141

142 Fairség - korlátosan fair egy tüzelési szekvencia, ha t T korlátosan sokszor tüzelhet mielőtt egy másik tüzelne; - globálisan fair egy tüzelési szekvencia, ha véges vagy t T végtelen sokszor fordul benne elő; - PN korlátosan, illetve globálisan fair, ha minden tüzelési szekvencia korlátosan, illetve globálisan fair; - ha egy PN fair, akkor a rendszerbeli párhuzamos folyamatok nem tartják fel egymást kereszthatásaik révén; mindegyik folyamat valamikor végbemegy; 142

143 Holtpont-mentesség m R(N, m 0 ) az R(N, m) vagyis minden elérhető állapotban van tüzelhető tranzíció; 143

144 Színezett Petri háló (CPN) - modellezési ereje a kiterjesztett (prioritásos) színezetlen Petri hálóéval azonos; - színezetlen Petri háló a vizsgált rendszer tulajdonságait a struktúrájával fejezi ki, így a mérete nagy lehet; - színezett Petri háló helyei típussal rendelkeznek, a tokeneknek színe van, mely adatértéket reprezentál; - token-eloszlás minden helyhez megadja a hely aktuális tokenhalmazát (a hely színhalmazának valamely multihalmaza); 144

145 - tranzícióknál őrfeltételek, engedélyezési feltételként; - éleken súlyfüggvény helyett él-kifejezés engedélyezés feltételeként, illetve a tüzelés eredményét befolyásolja; Adattípusok: egyszerű adattípusok: alap típusok (pl. int, bool, real, string), felsorolás (pl. with true false), indexelés (pl. index d with 1..5); 145

Időzített átmeneti rendszerek

Időzített átmeneti rendszerek Időzített átmeneti rendszerek Legyen A egy ábécé, A = A { (d) d R 0 }. A feletti (valós idejű) időzített átmeneti rendszer olyan A = (S, T,,, ) címkézett átmeneti rendszert ( : T A ), melyre teljesülnek

Részletesebben

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések 1. Az informatikai rendszereknél mit ellenőriznek validációnál és mit verifikációnál? 2. A szoftver verifikációs technikák

Részletesebben

Hardver és szoftver rendszerek verifikációja

Hardver és szoftver rendszerek verifikációja Hardver és szoftver rendszerek verifikációja 1 Előadó: Gombás Éva, adjunktus gombas@inf.u-szeged.hu Számítástudomány Alapjai Tanszék Irinyi épület 3. lépcsőház, 1. em. Fogadóóra: csütörtök 13-14 között

Részletesebben

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések 1. Az informatikai rendszereknél mit ellenőriznek validációnál és mit verifikációnál? 2. A szoftver verifikációs technikák

Részletesebben

Alapszintű formalizmusok

Alapszintű formalizmusok Alapszintű formalizmusok dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális tervek Informális követelmények Formális modell Formalizált követelmények

Részletesebben

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

Elérhetőségi analízis Petri hálók dinamikus tulajdonságai Elérhetőségi analízis Petri hálók dinamikus tulajdonságai dr. Bartha Tamás Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék Petri hálók vizsgálata Az elemzés mélysége szerint: Vizsgálati

Részletesebben

Petri hálók strukturális tulajdonságai Invariánsok és számításuk

Petri hálók strukturális tulajdonságai Invariánsok és számításuk Petri hálók strukturális tulajdonságai Invariánsok és számításuk dr. Bartha Tamás Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék Az elemzés mélysége szerint: Vizsgálati lehetőségek

Részletesebben

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

Valószínűségi modellellenőrzés Markov döntési folyamatokkal Valószínűségi modellellenőrzés Markov döntési folyamatokkal Hajdu Ákos Szoftver verifikáció és validáció 2015.12.09. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek

Részletesebben

Színezett Petri hálók

Színezett Petri hálók Színezett Petri hálók dr. Bartha Tamás dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Étkező filozófusok Petri-háló modellje Motiváció 2 Motiváció Miért nem így? 3 Motiváció Tokenek

Részletesebben

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)

Részletesebben

A modell-ellenőrzés gyakorlata UPPAAL

A modell-ellenőrzés gyakorlata UPPAAL A modell-ellenőrzés gyakorlata UPPAAL Uppsalai Egyetem + Aalborgi Egyetem közös fejlesztése; 1995. első verzió megjelenése; részei: - grafikus modellt leíró eszköz (System editor) - szimulátor (Simulator)

Részletesebben

Részletes szoftver tervek ellenőrzése

Részletes szoftver tervek ellenőrzése Részletes szoftver tervek ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.mit.bme.hu/~majzik/ Tartalomjegyzék A részletes

Részletesebben

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

Temporális logikák és modell ellenırzés Temporális logikák és modell ellenırzés Temporális logikák Modális logika: kijelentések különböző módjainak tanulmányozására vezették be (eredetileg filozófusok). Ilyen módok: esetleg, mindig, szükségszerűen,

Részletesebben

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)

Részletesebben

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

Diszkrét állapotú rendszerek modellezése. Petri-hálók Diszkrét állapotú rendszerek modellezése Petri-hálók Diszkrét eseményű rendszerek Discret Event (Dynamic) Systems DES, DEDS állapotterük diszkrét halmaz állapotváltozásuk kizárólag az időben aszinkron

Részletesebben

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

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron

Részletesebben

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat

Részletesebben

Modellezés Petri hálókkal. dr. Bartha Tamás dr. Majzik István dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék

Modellezés Petri hálókkal. dr. Bartha Tamás dr. Majzik István dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék Modellezés Petri hálókkal dr. Bartha Tamás dr. Majzik István dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék Modellező eszközök: DNAnet, Snoopy, PetriDotNet A DNAnet modellező

Részletesebben

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

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 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 Formális modellek használata és értelmezése Formális modellek

Részletesebben

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

Diszkrét állapotú rendszerek modellezése. Petri-hálók Diszkrét állapotú rendszerek modellezése Petri-hálók Diszkrét eseményű rendszerek Discret Event (Dynamic) Systems DES, DEDS állapotterük diszkrét halmaz állapotváltozásuk kizárólag az időben aszinkron

Részletesebben

Színezett Petri hálók

Színezett Petri hálók Színezett Petri hálók dr. Bartha Tamás dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Motiváció Étkező filozófusok Petri-háló modellje: C1 P1 C2 P5 C5 P2 C3 P4 C4 P3 2 Motiváció

Részletesebben

Színezett Petri-hálók

Színezett Petri-hálók Színezett Petri-hálók dr. Bartha Tamás BME Méréstechnika és Információs Rendszerek Tanszék Bevezetés Mik a színezett Petri-hálók? A színezett Petri-hálók olyan modellek, amik a grafikus reprezentációt

Részletesebben

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

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Rendszermodellezés Modellellenőrzés Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Ismétlés: Mire használunk modelleket? Kommunikáció, dokumentáció Gondolkodás,

Részletesebben

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

Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok dr. Bartha Tamás Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék Elérhetőségi probléma

Részletesebben

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

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Modellellenőrzés dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális vagy félformális tervek Informális követelmények Formális modell: KS, LTS, TA

Részletesebben

Szoftver-modellellenőrzés absztrakciós módszerekkel

Szoftver-modellellenőrzés absztrakciós módszerekkel Szoftver-modellellenőrzés absztrakciós módszerekkel Hajdu Ákos Formális módszerek 2017.03.22. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 1 BEVEZETŐ 2

Részletesebben

Automatikus tesztgenerálás modell ellenőrző segítségével

Automatikus tesztgenerálás modell ellenőrző segítségével Méréstechnika és Információs Rendszerek Tanszék Automatikus tesztgenerálás modell ellenőrző segítségével Micskei Zoltán műszaki informatika, V. Konzulens: Dr. Majzik István Tesztelés Célja: a rendszerben

Részletesebben

Időt kezelő modellek és temporális logikák

Időt kezelő modellek és temporális logikák Időt kezelő modellek és temporális logikák Valósidejű rendszerek követelményeinek formalizálása és ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs

Részletesebben

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

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Modellellenőrzés dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális vagy félformális tervek Informális követelmények Formális modell: KS, LTS, TA

Részletesebben

Petri hálók: Alapelemek és kiterjesztések

Petri hálók: Alapelemek és kiterjesztések Petri hálók: Alapelemek és kiterjesztések dr. Bartha Tamás dr. Pataricza András dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Modellek a formális ellenőrzéshez Mivel nyújt többet

Részletesebben

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

Petri hálók: alapfogalmak, kiterjesztések Petri hálók: alapfogalmak, kiterjesztések dr. Bartha Tamás Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék A Petri hálók eredete Petri háló: Mi az? Carl Adam Petri: német matematikus,

Részletesebben

Petri hálók: Alapelemek és kiterjesztések

Petri hálók: Alapelemek és kiterjesztések Petri hálók: Alapelemek és kiterjesztések dr. Bartha Tamás dr. Pataricza András dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Modellek a formális ellenőrzéshez Mivel nyújt többet

Részletesebben

Kiterjesztések sek szemantikája

Kiterjesztések sek szemantikája Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból

Részletesebben

folyamatrendszerek modellezése

folyamatrendszerek modellezése Diszkrét eseményű folyamatrendszerek modellezése Hangos Katalin Számítástudomány Alkalmazása Tanszék Veszprémi Egyetem Haladó Folyamatmodellezés és modell analízis PhD kurzus p. 1/36 Tartalom Diszkrét

Részletesebben

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

Petri hálók: alapfogalmak, kiterjesztések Petri hálók: alapfogalmak, kiterjesztések dr. Bartha Tamás Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék Petri hálók felépítése, működése A Petri hálók eredete Petri háló: Mi

Részletesebben

HARDVER- ÉS SZOFTVERRENDSZEREK VERIFIKÁCIÓJA

HARDVER- ÉS SZOFTVERRENDSZEREK VERIFIKÁCIÓJA Írta: ÉSIK ZOLTÁN GOMBÁS ÉVA NÉMETH L. ZOLTÁN HARDVER- ÉS SZOFTVERRENDSZEREK VERIFIKÁCIÓJA Egyetemi tananyag 2 COPYRIGHT: 2 26, Dr. Ésik Zoltán, Dr. Gombás Éva, Dr. Németh L. Zoltán, Szegedi Tudományegyetem

Részletesebben

Osztott rendszer. Osztott rendszer informális definíciója

Osztott rendszer. Osztott rendszer informális definíciója Osztott rendszer Osztott rendszer informális definíciója Egymástól elkülönülten létező program-komponensek egy halmaza. A komponensek egymástól függetlenül dolgoznak saját erőforrásukkal. A komponensek

Részletesebben

Követelmények formalizálása: Temporális logikák. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Követelmények formalizálása: Temporális logikák. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Követelmények formalizálása: Temporális logikák dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mire kellenek a temporális logikák? 2 Motivációs mintapélda: Kölcsönös kizárás 2

Részletesebben

Alapszintű formalizmusok

Alapszintű formalizmusok Alapszintű formalizmusok dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális tervek Informális követelmények Formális modell Formalizált követelmények

Részletesebben

Dr. Mileff Péter

Dr. Mileff Péter Dr. Mileff Péter 1 2 1 Szekvencia diagram Szekvencia diagram Feladata: objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé

Részletesebben

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

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok Program verifikálás Konkurens programozási megoldások terjedése -> verifikálás szükséges, (nehéz) logika Legszélesebb körben alkalmazott

Részletesebben

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

Korlátos modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Korlátos modellellenőrzés dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Hol tartunk most? Alacsony szintű formalizmusok (KS, LTS, KTS) Magasabb szintű formalizmusok Temporális

Részletesebben

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás NGB_IN003_1 SZE 2017-18/2 (9) Szoftverminőségbiztosítás Specifikáció alapú (black-box) technikák A szoftver mint leképezés Szoftverhiba Hibát okozó bement Hibás kimenet Input Szoftver Output Funkcionális

Részletesebben

Részletes tervek ellenőrzése

Részletes tervek ellenőrzése Szoftverellenőrzési technikák Részletes tervek ellenőrzése Majzik István http://www.inf.mit.bme.hu/ 1 Tartalomjegyzék Áttekintés Milyen szerepe van a részletes terveknek? Milyen ellenőrzési módszerek vannak?

Részletesebben

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás NGB_IN003_1 SZE 2014-15/2 (13) Szoftverminőségbiztosítás Szoftverminőség és formális módszerek Formális módszerek Formális módszer formalizált módszer(tan) Formális eljárások alkalmazása a fejlesztésben

Részletesebben

Matematika szigorlat június 17. Neptun kód:

Matematika szigorlat június 17. Neptun kód: Név Matematika szigorlat 014. június 17. Neptun kód: 1.. 3. 4. 5. Elm. Fel. Össz. Oszt. Az eredményes szigorlat feltétele elméletből legalább 0 pont, feladatokból pedig legalább 30 pont elérése. A szigorlat

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak

Részletesebben

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév

Részletesebben

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

Zárthelyi mintapéldák. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Zárthelyi mintapéldák Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Elméleti kérdések Indokolja meg, hogy az A (X Stop F Start) kifejezés szintaktikailag helyes kifejezés-e CTL illetve

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

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

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1 Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,

Részletesebben

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 4-6. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

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

Számításelmélet. Második előadás Számításelmélet Második előadás Többszalagos Turing-gép Turing-gép k (konstans) számú szalaggal A szalagok mindegyike rendelkezik egy független író / olvasó fejjel A bemenet az első szalagra kerül, a többi

Részletesebben

Logikák véges fákon. Iván Szabolcs Szegedi Tudományegyetem Számítástudomány Alapjai Tanszék

Logikák véges fákon. Iván Szabolcs Szegedi Tudományegyetem Számítástudomány Alapjai Tanszék Logikák véges fákon Iván Szabolcs Szegedi Tudományegyetem Számítástudomány Alapjai Tanszék Tartalom FO[

Részletesebben

8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus.

8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus. 8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus. Ágens rendszer definíciója. Példák. Fairness. (Fair tulajdonság). Gyenge fair követelmény. A fair nem determinisztikus szemantika definíciója

Részletesebben

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként. Számításelmélet Kiszámítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést, amire számítógéppel szeretnénk megadni a választ. (A matematika nyelvén precízen megfogalmazott

Részletesebben

Formális verifikáció Modellezés és modellellenőrzés

Formális verifikáció Modellezés és modellellenőrzés Formális verifikáció Modellezés és modellellenőrzés Rendszertervezés és -integráció előadás dr. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Részletesebben

5. Hét Sorrendi hálózatok

5. Hét Sorrendi hálózatok 5. Hét Sorrendi hálózatok Digitális technika 2015/2016 Bevezető példák Példa 1: Italautomata Legyen az általunk vizsgált rendszer egy italautomata, amelyről az alábbi dolgokat tudjuk: 150 Ft egy üdítő

Részletesebben

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Logika es sz am ıt aselm elet I. r esz Logika 1/36 1/36 Logika és számításelmélet I. rész Logika 2/36 Elérhetőségek Tejfel Máté Déli épület, 2.606 matej@inf.elte.hu http://matej.web.elte.hu Tankönyv 3/36 Tartalom 4/36 Bevezető fogalmak Ítéletlogika Ítéletlogika

Részletesebben

Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter

Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter Dr. Mileff Péter 1 2 Szekvencia diagram Feladata:objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengelyt képvisel.

Részletesebben

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:

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: 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: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12

Részletesebben

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 7. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

Időzített rendszerek és az UPPAAL II

Időzített rendszerek és az UPPAAL II Időzített rendszerek és az UPPAAL II Dr. Németh L. Zoltán (zlnemeth@inf.u-szeged.hu) SZTE, Informatikai Tanszékcsoport 2008/2009 I. félév 2008.11.15 MODELL 11 1 Rendszerek leírása az UPPAAL-ban Modellelenőrzés

Részletesebben

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1 Elsőrendű logika szintaktikája és szemantikája Logika és számításelmélet, 3. gyakorlat 2009/10 II. félév Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1 Az elsőrendű logika Elemek egy

Részletesebben

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására Nyelvek használata adatszerkezetek, képek leírására Formális nyelvek, 2. gyakorlat 1. feladat Módosított : belsejében lehet _ jel is. Kezdődhet, de nem végződhet vele, két aláhúzás nem lehet egymás mellett.

Részletesebben

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája? ,,Alap kiskérdések Logika és informatikai alkalmazásai kiskérdések 2012. február 19. 1. Hogy hívjuk a 0 aritású függvényjeleket? 2. Definiálja a termek halmazát. 3. Definiálja a formulák halmazát. 4. Definiálja,

Részletesebben

Occam 1. Készítette: Szabó Éva

Occam 1. Készítette: Szabó Éva Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti

Részletesebben

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések Kriptográfia 0 Számítás-komplexitási kérdések A biztonság alapja Komplexitás elméleti modellek független, egyenletes eloszlású véletlen változó értéke számítással nem hozható kapcsolatba más információval

Részletesebben

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése Somogyi Ferenc Attila 2016. December 07. Szoftver verifikáció és validáció kiselőadás Forrás Mathijs Schuts and Jozef

Részletesebben

Dinamikus modellek szerkezete, SDG modellek

Dinamikus modellek szerkezete, SDG modellek Diagnosztika - 3. p. 1/2 Modell Alapú Diagnosztika Diszkrét Módszerekkel Dinamikus modellek szerkezete, SDG modellek Hangos Katalin PE Villamosmérnöki és Információs Rendszerek Tanszék Diagnosztika - 3.

Részletesebben

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

Elérhetőségi analízis Petri hálók dinamikus és strukturális tulajdonságai Elérhetőségi analízis Petri hálók dinamikus és strukturális tulajdonságai dr. Bartha Tamás BME Közlekedés- és Járműirányítási Tanszék Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék

Részletesebben

Verifikáció és validáció Általános bevezető

Verifikáció és validáció Általános bevezető Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának

Részletesebben

Modell alapú tesztelés mobil környezetben

Modell alapú tesztelés mobil környezetben Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed

Részletesebben

Hatékony technikák modellellenőrzéshez: Korlátos modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Hatékony technikák modellellenőrzéshez: Korlátos modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Hatékony technikák modellellenőrzéshez: Korlátos modellellenőrzés dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Hol tartunk most? Alacsony szintű formalizmusok (KS, LTS, KTS)

Részletesebben

Biológiai rendszerek modellellenőrzése bayesi megközelítésben

Biológiai rendszerek modellellenőrzése bayesi megközelítésben Biológiai rendszerek modellellenőrzése bayesi megközelítésben Gál Tamás Zoltán Szoftver verifikáció és validáció kiselőadás, 2013. ősz Forrás: Sumit K. Jha et al.: A Bayesian Approach to Model Checking

Részletesebben

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

2.előadás. alapfogalmak, formális definíció 2.előadás Források: -Molnár Ágnes: Formális módszerek az informatikában (1), NetAkadámia Tudástár -dr. Pataricza András, dr. Bartha Tamás: Petri hálók: alapfogalmak, formális definíció Validáció és verifikáció

Részletesebben

Adat és folyamat modellek

Adat és folyamat modellek Adat és folyamat modellek Előadásvázlat dr. Kovács László Folyamatmodell nyersanyag miből termék mit funkció ki munkaerő eszköz mivel Objektumok Tevékenységek Adatmodell Funkció modell Folyamat modell

Részletesebben

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:

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: 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: 1. Öt rövid kérdés megválaszolása egyenként 6 pontért, melyet minimum

Részletesebben

S0-02 Típusmodellek (Programozás elmélet)

S0-02 Típusmodellek (Programozás elmélet) S0-02 Típusmodellek (Programozás elmélet) Tartalom 1. Absztrakt adattípus 2. Adattípus specifikációja 3. Adattípus osztály 4. Paraméterátadás 5. Reprezentációs függvény 6. Öröklődés és polimorfizmus 7.

Részletesebben

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles Matematika szigorlat, Mérnök informatikus szak I. 2013. jan. 10. Név: Neptun kód: Idő: 180 perc Elm.: 1. f. 2. f. 3. f. 4. f. 5. f. Fel. össz.: Össz.: Oszt.: Az elérhető pontszám 40 (elmélet) + 60 (feladatok)

Részletesebben

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum. Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

A valós számok halmaza

A valós számok halmaza VA 1 A valós számok halmaza VA 2 A valós számok halmazának axiómarendszere és alapvető tulajdonságai Definíció Az R halmazt a valós számok halmazának nevezzük, ha teljesíti a következő axiómarendszerben

Részletesebben

Sztochasztikus temporális logikák

Sztochasztikus temporális logikák Sztochasztikus temporális logikák Teljesítmény és szolgáltatásbiztonság jellemzők formalizálása és ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs

Részletesebben

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA 26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA Az előző két fejezetben tárgyalt feladat általánosításaként a gráfban található összes csúcspárra szeretnénk meghatározni a legkisebb költségű utat. A probléma

Részletesebben

Alapszintű formalizmusok

Alapszintű formalizmusok Alapszintű formalizmusok dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Modellek a formális ellenőrzéshez Leképzések Mérnöki modellek Magasabb szintű formalizmusok PN, CPN, DFN,

Részletesebben

Formális szemantika. Kifejezések szemantikája. Horpácsi Dániel ELTE Informatikai Kar

Formális szemantika. Kifejezések szemantikája. Horpácsi Dániel ELTE Informatikai Kar Formális szemantika Kifejezések szemantikája Horpácsi Dániel ELTE Informatikai Kar 2016-2017-2 Az előadás témája Egyszerű kifejezések formális szemantikája Az első lépés a programozási nyelvek szemantikájának

Részletesebben

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

A számítógépes nyelvészet elmélete és gyakorlata. Automaták A számítógépes nyelvészet elmélete és gyakorlata Automaták Nyelvek és automaták A nyelvek automatákkal is jellemezhetőek Automaták hierarchiája Chomsky-féle hierarchia Automata: új eszköz a nyelvek komplexitásának

Részletesebben

Automaták mint elfogadók (akceptorok)

Automaták mint elfogadók (akceptorok) Automaták mint elfogadók (akceptorok) Ha egy iniciális Moore-automatában a kimenőjelek halmaza csupán kételemű: {elfogadom, nem fogadom el}, és az utolsó kimenőjel dönti el azt a kérdést, hogy elfogadható-e

Részletesebben

22. GRÁFOK ÁBRÁZOLÁSA

22. GRÁFOK ÁBRÁZOLÁSA 22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is

Részletesebben

Logika es sz am ıt aselm elet I. r esz Logika Harmadik el oad as 1/33

Logika es sz am ıt aselm elet I. r esz Logika Harmadik el oad as 1/33 1/33 Logika és számításelmélet I. rész Logika Harmadik előadás Tartalom 2/33 Elsőrendű logika bevezetés Az elsőrendű logika szintaxisa 3/33 Nulladrendű állítás Az ítéletlogikában nem foglalkoztunk az álĺıtások

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 4. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.

Részletesebben

Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD)

Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD) Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD) dr. Majzik István dr. Pataricza András dr. Bartha Tamás BME Méréstechnika és Információs Rendszerek Tanszék 1 Hol tartunk? Alacsony

Részletesebben

A fontosabb definíciók

A fontosabb definíciók A legfontosabb definíciókat jelöli. A fontosabb definíciók [Descartes szorzat] Az A és B halmazok Descartes szorzatán az A és B elemeiből képezett összes (a, b) a A, b B rendezett párok halmazát értjük,

Részletesebben

Matematika B/1. Tartalomjegyzék. 1. Célkit zések. 2. Általános követelmények. 3. Rövid leírás. 4. Oktatási módszer. Biró Zsolt. 1.

Matematika B/1. Tartalomjegyzék. 1. Célkit zések. 2. Általános követelmények. 3. Rövid leírás. 4. Oktatási módszer. Biró Zsolt. 1. Matematika B/1 Biró Zsolt Tartalomjegyzék 1. Célkit zések 1 2. Általános követelmények 1 3. Rövid leírás 1 4. Oktatási módszer 1 5. Követelmények, pótlások 2 6. Program (el adás) 2 7. Program (gyakorlat)

Részletesebben

Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD)

Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD) Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD) dr. Majzik István dr. Pataricza András dr. Bartha Tamás BME Méréstechnika és Információs Rendszerek Tanszék 1 Hol tartunk? Alacsony

Részletesebben

PTE PMMFK Levelező-távoktatás, villamosmérnök szak

PTE PMMFK Levelező-távoktatás, villamosmérnök szak PTE PMMFK Levelező-távoktatás, villamosmérnök szak MATEMATIKA (A tantárgy tartalma és a tananyag elsajátításának időterve.) Összeállította: Kis Miklós adjunktus Tankönyvek (mindhárom félévre): 1. Scharnitzky

Részletesebben

Formális modellezés és verifikáció

Formális modellezés és verifikáció Formális modellezés és verifikáció Rendszertervezés és -integráció előadás dr. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék BME-MIT Célkitűzések

Részletesebben

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei A Gauss-Jordan elimináció, mátrixinvertálás Gauss-Jordan módszer Ugyanazzal a technikával, mint ahogy a k-adik oszlopban az a kk alatti elemeket kinulláztuk, a fölötte lévő elemeket is zérussá lehet tenni.

Részletesebben

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig

Részletesebben