Folyamatmodellezés. Budapesti Műszaki és Gazdaságtudományi Egyetem. Hibatűrő Rendszerek Kutatócsoport. Budapesti Műszaki és Gazdaságtudományi Egyetem

Hasonló dokumentumok
Folyamatmodellezés. Rendszermodellezés Budapesti Műszaki és Gazdaságtudományi Egyetem. Hibatűrő Rendszerek Kutatócsoport

Folyamatmodellezés. Budapesti Műszaki és Gazdaságtudományi Egyetem. Hibatűrő Rendszerek Kutatócsoport. Budapesti Műszaki és Gazdaságtudományi Egyetem

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

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Folyamatmodellezés (BPMN), adatfolyamhálók

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

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Modell alapú tesztelés mobil környezetben

Folyamatmodellezés (BPMN) és alkalmazásai

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

Java programozási nyelv

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

Modellek ellenőrzése és tesztelése

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

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

Modellek fejlesztése

Modellek fejlesztése

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

Szoftverminőségbiztosítás

Szoftver karbantartási lépések ellenőrzése

Részletes szoftver tervek ellenőrzése

A szoftverfejlesztés eszközei

Webprogramozás szakkör

Folyamatmodellezés (BPMN), adatfolyamhálók

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Szoftver karbantartás

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Bevezetés az informatikába

... 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.

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

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

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

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

Szoftver értékelés és karbantartás

Modellezési alapismeretek

Programozási nyelvek (ADA)

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

Modellezési alapismeretek

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

BPEL nyelvű üzleti folyamatok modellezése és formális ellenőrzése

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)

AWK programozás, minták, vezérlési szerkezetek

Programfejlesztési Modellek

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

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

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

Modellező eszközök, kódgenerálás

AWK programozás, minták, vezérlési szerkezetek

Fordítás Kódoptimalizálás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Programozási technológia

A C# programozási nyelv alapjai

Modellezési alapismeretek

UML (Unified Modelling Language)

Informatika tanítási módszerek

Szoftvertervezés és -fejlesztés I.

Algoritmizálás és adatmodellezés tanítása 1. előadás

Java II. I A Java programozási nyelv alapelemei

Komputeralgebra Rendszerek

10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)

Java II. I A Java programozási nyelv alapelemei

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Alapszintű formalizmusok

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Informatikai rendszertervezés

Programozási alapismeretek 1. előadás

Programok értelmezése

Részletes tervek ellenőrzése

Forráskód generálás formális modellek alapján

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Mintavételes szabályozás mikrovezérlő segítségével

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Informatikai rendszertervezés

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

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

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

Teszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék

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

Algoritmizálás, adatmodellezés tanítása 6. előadás

Algoritmusok tervezése

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Digitális technika VIMIAA01 9. hét

A félév során előkerülő témakörök

Kölcsönhatás diagramok

A programozás alapjai 1 Rekurzió

BOC Information Technologies Consulting GmbH. Minőségmenedzsment

8.3. AZ ASIC TESZTELÉSE

Struktúra alapú teszttervezési módszerek

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

Átírás:

Folyamatmodellezés Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika 1 és Információs Rendszerek Tanszék 1

Tartalom Ismétlés, kitekintés Folyamatmodellezés célja Folyamatmodellek Vezérlési folyam Megvalósítás 2 2

Tartalom Ismétlés, kitekintés Folyamatmodellezés célja Folyamatmodellek Vezérlési folyam Megvalósítás 3 3

Ismétlés: felépítési vs. viselkedési modellek Felépítési (structural) modellek o Statikus o Rész és egész, összetevők o Kapcsolatok, összeköttetések Viselkedési (behavioral) modellek o Dinamikus o Időbeli lefolyás o Állapot, folyamat o Reakciók a külvilágra Az autóban van kamera és kormányvezérlő A kamera jeleket küld a sáv elhagyásáról (mennyit? mikor?) A sávtartó rendszerben a kamera jeleit fogadva a kormányvezérlő beavatkozik (mikor/hogyan?) Nem fed le mindent, nem válik élesen szét 4 4

Viselkedésmodellek fő kérdései Mit csinál a rendszer? Esemény alapú modell Folyamat alapú modell Most milyen, és hogyan változik a rendszer? Állapot alapú modell 5 5

Folyamat Folyamat: lépések sorozata, melyek sorrendben történő végrehajtása valamilyen célra vezet. 6 6

Tartalom Ismétlés, kitekintés Folyamatmodellezés célja Folyamatmodellek Vezérlési folyam Megvalósítás 7 7

Dokumentáció Implementáció Folyamatmodellezés célja o Végrehajtható modellek o Kódgenerálás Modell szintű ellenőrzés (Verifikáció) o Szimuláció o Monitorozás o Automatizált modellellenőrzés 8 8

Példa: HW rendelés kiszállítása omg.org, BPMN 2.0 by Example 9 9

Példa: HW rendelés kiszállítása Opcionális végrehajtás Összetartozó vezérlési elemek Döntési pontok ( XOR ) Lépések végrehajtási sorrendje Párhuzamos (független) végrehajtás ( AND ) 10 10

Történeti előzmények Mire épül? o Programok vezérlési szerkezete o Ütemezés (pl. GANTT diagramok) o Gyártási/irodai folyamatok modellezése o IDEF-0: 1980-as évek, US AirForce o Logisztikai folyamatok leírása o Üzemeltetés: runbook Közös elemek o Vannak elemi lépések o Köztük függőségek (idő? adat? sorrend?) o Döntési pontok o általános célú folyamatmodellezési nyelvek (pl. BPMN) 11 11

Példa: IDEF-0 Adatfüggőség és végrehajtási logika nem látszik Logikai függőség igen Defense Acquisition University - Systems Engineering Fundamentals. Defense Acquisition University Press, 2001 12 12

Példa: GANTT Tevékenységek állapota, időzítése, és függőségei wikipedia.org 13 13

Mit használ fel? Ötlet rendszer/szoftvertervezésben: o használjunk fel meglévő elemeket o Írjuk le az összetett rendszer működését Alapelem lehet sokféle o webform validáció, email küldés, adatbázisművelet, távoli webszolgáltatás, emberi interakció, SMS küldés, diagram kirajzolás, stb. Mire fordul a vezérlési logika? o Lehet közvetlen kód (C/C++, C#, Java, ) o Lehet egy végrehajtó környezet bemenete Csinálj nekem ilyen folyamatot 14 14

Hol használnak még folyamatmodelleket? Informatikai rendszerek működtetése o ITIL, UK Gov. kezdeményezés Protokoll specifikáció o Összetett rendszer részei hogy működnek együtt o Melyik komponensnek mi a szerepe Végrehajtható folyamatok tervezése o Rendeléskiértékelés, hitelbírálat előkészítése, Adatfeldolgozási/elemzési folyamatok 15 15

Példa: egészségügyi adatok kezelése Több, egymással kommunikáló fél Belső sorrendi függőségek Belső és külső események Feltételezések ez önmagában nem automatizálható http://wiki.directproject.org/abstract+model+examples 16 16

Példa: agilis fejlesztés, mint folyamat Szerepek, termékek A csoportmunka lépései http://www.eclipse.org/epf/ 17 17

Példák Banki folyamatok modellezése o Milyen tevékenységek tudnak le záráskor? o Át tud-e állni a bank a napi többszöri utalásra? Gyártási folyamat modellezése o Optimális gyártásütemezés: átszereljünk vagy újat gyártsunk? o Mi történik a gyárban? o (ld. Szimuláció előadás) Üzletkötési folyamatok modellezése o Hol vannak ismétlődő kommunikációs minták? o Adatfeldolgozás modell alapon 18 18

Példa: adatfeldolgozási folyamat Lépések: beolvasás, adatszűrés, grafikon előállítás, Lépések állapota lefutásonként követhető: előállt már az eredmény? Eszköz: pl. KNIME 19 19

Példa: gyári tesztelés, mint folyamat Létező konfiguráció kiegészítése Új gép gyártása Átszerelés 20 20

Folyamatok tervezésének alapfogalmai Folyamat leíró nyelv o BPMN, jpdl, XPDL, BPEL, UML AD, o Vezérlés, adatáramlás o Adatstruktúrák kapcsolhatóak hozzá o Végrehajtandó lépések definíciója o Időzítések, erőforrások Folyamat minta (template) o Pl. Jegyrendelés folyamat o Verziózás Folyamat példány (instance) o Gönczy László jegyet rendel Lisszabonba 21 21

Tartalom Ismétlés, kitekintés Folyamatmodellezés célja Folyamatmodellek Vezérlési folyam Megvalósítás 22 22

Elemi tevékenység Compile végrehajtás kezdete végrehajtás vége Compile t 23 23

Definíció: Elemi tevékenység Az elemi tevékenység olyan időbeli kiterjedéssel rendelkező tevékenység, amelynek a megkezdésén és befejezésén túl további részleteit nem modellezzük. Compile 24 24

Szekvencia, vezérlésfolyam Compile Link Compile Link t 25 25

Definíció: Szekvencia A Szekvencia tevékenységek végrehajtási sorrendjét definiálja. Compile Link 26 26

Őrfeltételek, elágazás [source modified] Compile Merge (Egyesítés) Decision (Döntés) [source unmodified] Szemantika: o Csak az egyik ág hajtódik végre o Nemdeterminizmus lehetséges Átlapolódó őrfeltételek Vagy egyszerűen őrfeltételek nélkül 27 27

Definíció: Vezérlési elem A vezérlési elem olyan csomópont a folyamatban, mely a folyamatmodell tevékenységei közül választ ki egyet vagy többet végrehajtásra. [source modified] Compile [source unmodified] 28 28

Definíció: Elágazás Az elágazás olyan vezérlési szerkezet, mely áll egy Döntés (Decision) és egy Egyesítés (Merge) vezérlési elemből, ahol a döntési csomópontnak van legalább kettő kimenete, melyek közül a kimenetekhez tartozó őrfeltételek kiértékelése alapján választunk (oda kerül a vezérlési token), a kiválasztott kiement (döntési ág) tetszőleges számú elemet tartalmazhat, az összes döntési ág az Egyesítés csompontba fut be. Itt az elágazást mindig kizáró döntés (XOR kapu) értelemben használjuk, vagyis egy kiértékelés során csak az elágazás (Decision) egyik kimenete lehet kiválasztva (aktív). Egy elágazás lehet többszörös vagy bináris, a tárgyban alapvetően bináris (két kimenetű) elágazást használunk 29 29

Ciklus Merge Decision Compile [no syntax errors] [syntax errors] Edit 30 30

Definíció: ciklus A ciklus olyan vezérlési szerkezet, mely többszörös végrehajtást definiál. A ciklus áll egy Egyesítés (Merge) és egy azt szekvenciálisan követő Döntés (Decision) vezérlési elemből, ahol a döntési csomópont egyik kimenete (döntési ága) az egyesítés (merge) vezérlési csomópontba fut vissza. Compile [no syntax errors] [syntax errors] Edit 31 31

Fork / Join Compile source1.c Join (Szinkronizáció) Fork (Elágazás) Compile source2.c Szemantika: o Nem meghatározott végrehajtási sorrend o Párhuzamos / átlapolt végrehajtás is lehet Lásd: SzGArch tárgy 32 32

Definíció: párhuzamos végrehajtás A párhuzamos végrehajtás áll egy Párhuzamos elágazás (Fork) és egy Összeillesztés/ Szinkronizáció (Join) vezérlési elemből, ahol az elágazásnak tetszőleges számú kimenete lehet (ágak), az egyes ágak egymással konkurrens módon hajthatóak végre, az összes ág a szinkronizáció csomópontba fut be, a párhuzamos végrehajtás akkor fejeződik be, ha az összes ág végrehajtása befejeződött. Két tevékenység konkurrens, ha végrehajtási sorrendjükre nézve nincs megkötés. Megj: tipikusan kettő párhuzamos ággal fogunk dolgozni. NEM azonos a döntési elágazással! 33 33

Flow begin / flow end Build 34 34

Definíció: folyamat indítása/befejezése Minden folyamat egy indítási (Flow Begin) vezérlési elemmel indul, és egy befejezési (Flow End) elemmel fejeződik be. Az indítási csomópont a csomópont legelső eleme, melynek pontosan egy kimenete van. A befejezési csomópont a folyamat utolsó eleme, melynek pontosan egy bemenete van. Megj: itt nem modellezzük külön, minek a hatására indul el a folyamat. 35 35

Hierarchia Build Compile Link Build Compile Link t 36 36

Hierarchikus folyamatmodell: Definíció: hierarchia Elemi tevékenység helyett tartalmaz folyamatmodellel leírt részmodellt (hierarchikus finomítás) 37 37

Példa: kávéfőzés 1. Töltse meg a BAL tartályt hideg vízzel 2. Tegyen egy bögrét vagy poharat a BAL pohártartóra 3. Tegyen be egy kávépárnát a BAL oldali tartóba 4. Dugja be a kábelt és nyomja meg a BAL OLDAL START/STOP gombot Ha egyszerre két kávét akar főzni, egyszerre kövesse a BAL és JOBB utasításokat 38 38

Példa: kávéfőzés Fill LEFT reservoir Place cup on LEFT side Place pod in LEFT side Plug in and press LEFT side START 39 39

Kávéfőzés Fill LEFT reservoir Place cup on LEFT side Place pod in LEFT side Plug in and press LEFT side START 40 40

Kávéfőzés Fill LEFT reservoir Place cup on LEFT side Place pod in LEFT side Plug in and press LEFT side START 41 41

Kávéfőzés Fill LEFT reservoir Place cup on LEFT side Place pod in LEFT side Plug in Press LEFT side START 42 42

Kávéfőzés [not plugged in] [plugged in] Fill LEFT reservoir Place cup on LEFT side Place pod in LEFT side Plug in Press LEFT side START 43 43

Kávéfőzés [not plugged in] [plugged in] Fill LEFT reservoir Place cup on LEFT side Place pod in LEFT side Plug in Press LEFT side START 44 44

Kávéfőzés [not plugged in] Fill LEFT reservoir Place cup on LEFT side Place pod in LEFT side [plugged in] Plug in Press LEFT side START 45 45

Kávéfőzés [not plugged in] Prepare LEFT side [plugged in] Plug in Press LEFT side START 46 46

Kávéfőzés [not plugged in] Prepare LEFT side [plugged in] Plug in Press LEFT side START 47 47

Kávéfőzés Prepare LEFT side [plugged in] Plug in [not plugged in] Prepare RIGHT side Press LEFT side START Press RIGHT side START 48 48

Kávéfőzés Prepare LEFT side [plugged in] Plug in [not plugged in] Prepare RIGHT side Fill LEFT reservoir Place cup on LEFT side Place pod in LEFT side Press LEFT side START Press RIGHT side START 49 49

Különböző szempontok szerinti modellezés 50 50

Mi történik egy autóval? Assemble Car i Paint Car i Polish Car i 51 51

Mi történik a gyártósoron? Assemble Car 1 Assemble Car n Assemble Cars Paint Cars Polish Cars 52 52

Különböző szempontok szerinti modellezés Assemble Car 1 Assemble Car n Assemble Cars Paint Cars Polish Cars Assemble Car i Paint Car i Polish Car i 53 53

Együttes nézet Assemble Car 1 Assemble Car 2 Assemble Car n Paint Car 1 Paint Car 2 Paint Car n Polish Car 1 Polish Car 2 Polish Car n Mindent tartalmaz, de nem túl praktikus 54 54

Együttes nézet Assemble Car 1 Assemble Car 2 Assemble Car n Paint Car 1 Ez nem a folyamat logikájából adódó függőség (erőforrás, fizikai hely, stb. konfiguráció) Paint Car 2 Paint Car n Ne a folyamat logikájában ábrázoljuk (ld. Későbbi előadások: erőforrásfoglalás) Polish Car 1 Polish Car 2 Polish Car n Mindent tartalmaz, de nem túl praktikus 55 55

Együttes nézet A 2D fork-join háló nem túl praktikus o Aspektusokra (autó és gép életútja) külön folyamat Sok fork-join tömörebben? PERT chart o Program Evaluation and Review Technique Végrehajtási idő analízisére való, ld. BSz 2 o (Ez viszont elágazást nem tud) 1 2 3 3 4 3 56 56

Tartalom Ismétlés, kitekintés Folyamatmodellezés célja Folyamatmodellek Vezérlési folyam Megvalósítás 57 57

Vezérlési folyam <statement1> <statement2> statement1 statement2 58 58

if (<expression>) <statement> Vezérlési folyam [expression fails] [expression holds] statement 59 59

Vezérlési folyam if (<expression>) <statement1> else <statement2> [expression holds] statement1 [expression fails] statement2 60 60

while (<expression>) <statement> Vezérlési folyam [expression fails] [expression holds] statement 61 61

do <statement> while (<expression>) Vezérlési folyam statement [expression fails] 62 62

Vezérlési folyam - példa while (a!= b) { if (a > b) { a = a - b; } else { b = b - a; } } return a; 63 63

Vezérlési folyam - példa while (a!= b) { if (a > b) { a = a b; } else { b = b a; } } return a; 64 64

Vezérlési folyam - példa while (a!= b) { if (a > b) { a = a b; } else { b = b a; } } return a 65 65

Vezérlési folyam - példa [a!= b] if (a > b) { a = a b; } else { b = b a; } [a == b] return a 66 66

Vezérlési folyam - példa [a!= b] [a == b] [a > b] [a <= b] a = a b b = b a return a 67 67

Vezérlési folyam - komplexitás [a!= b] [a == b] [a > b] [a <= b] Ciklomatikus komplexitás M = E N + 2 a = a b b = b a return a 68 68

Vezérlési folyam - rekurzió int fact(int n) { return (n == 0)? 1 : n * fact(n - 1); } 69 69

Vezérlési folyam - rekurzió int fact(int n) { int tmp1; if (n == 0) { tmp1 = 1; } else { int tmp2 = fact(n - 1); tmp1 = n * tmp2; } return tmp1; } 70 70

Vezérlési folyam - rekurzió fact(n) [n == 0] [n!= 0] tmp1 = 1 tmp2 = fact(n - 1) tmp1 = n * tmp2 return tmp1 71 71

Példa: n alatt a k int choose(int n, int k) { } if (k < 0 k > n) { return 0; } else if (k == 0 && n == 0) { return 1; } else { } int x = spawn choose(n 1, k); int y = spawn choose(n 1, k - 1); sync; return x + y; 72 72 n k = n 1 k 0 0 =1 + n 1 k 1

Példa: n alatt a k choose(n, k) [k < 0 k > n] return 0 [k == 0 n == 0] [else] return 1 x = choose(n 1, k) return x + y y = choose(n 1, k - 1) 73 73

Jólstrukturált folyamatok Vezérlési blokkokból építkezünk o Egy bemenet, egy kimenet, közte jól strukturált blokk o Szekvencia, decision-merge és fork-join blokk, ciklus o (üres vezérlési szakasz) Analógia: strukturált programozás (goto helyett vezérlési szerkezetek) Nem jólstrukturált folyamatra példa: A B C 74 74

Jólstrukturált folyamatok Bizonyos formalizmusok kikényszerítik o pl. BPEL (üzleti folyamatok webszolgáltatások fölött) o Pl. Struktogram (Nassi-Shneiderman) true while a b do a > b false a := a - b b := b - a return a 75 75

ÜZLETI FOLYAMATOK VÉGREHAJTÁSA 76 76

Folyamatok szemantikája Modellezés szempontjából Az elvárt működés 77 77

Tokenáramlás Folyamat végrehajtása A folyamat állapota 78 78

Elemi tevékenység állapotai T végrehajtás kezdete végrehajtás vége T végrehajtás előtt T végrehajtás alatt T befejezve t 79 79

Elemi tevékenység állapotai T végrehajtás előtt T végrehajtás alatt T befejezve végrehajtás kezdete végrehajtás vége T végrehajtás előtt T végrehajtás alatt T befejezve t 80 80

Folyamat állapotai T 1 T 2 T 1 végrehajtás előtt T 1 végrehajtás alatt T 1 befejezve T 2 végrehajtás előtt T 2 végrehajtás alatt T 2 befejezve t 81 81

Háttér: matematikai modell Allen-féle intervallum logika (1983) o Pl. tesztelésnél használják, 13 (6 + 1 + 6) eset James F. Allen: Maintaining knowledge about temporal intervals. In: Communications of the ACM. 26 November 1983. ACM Press. pp. 832 843, ISSN 0001-0782 82 82

Háttér: matematikai modell Allen-féle intervallum logika (1983) o Pl. tesztelésnél használják, 13 (6 + 1 + 6) eset X EQUALS y X BEFORE y X MEETS y X OVERLAPS y X STARTS y X FINISHES y James F. Allen: Maintaining knowledge about temporal intervals. In: Communications of the ACM. 26 November 1983. ACM Press. pp. 832 843, ISSN 0001-0782 83 83 X DURING y n intervallum: 1,1,13,409, 23917 eset

Mit lehet ellenőrizni? Pl. a végrehajtás nem folyamat alapon történt o Megfelelt-e az elvárásoknak (sorrend, függetlenség)? Mi lehetett a folyamat a rendszer mögött? o Workflow mining Pl. a futtatókörnyezet megengedő o Lépés kihagyható o Ilyenkor is teljesülnek az elvárások? Eszköz: formális módszerek o Logika, Petri-hálók, modellellenőrzés, stb. 84 84