76
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Folyamatmodellezés (BPMN), adatfolyamhálók Rendszermodellezés 2016.

Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

1Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék

Budapesti Műszaki és Gazdaságtudományi EgyetemHibatűrő Rendszerek Kutatócsoport

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

Rendszermodellezés 2016.

Page 2: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

2

ÜZLETI FOLYAMAT MODELLEK A GYAKORLATBAN

Page 3: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

3

UML Activity Diagram

Szabványosított jelölés, kiterjesztésekkel

o Részletesen ld. SzoftTech, 3. félév

Page 4: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

4

Business Process Modeling Notation (BPMN)

• Business Process Management Initiative (BPMI)– 2004. május: BPMN 1.0 specifikáció

– 2011: végleges BPMN 2.0

• Célok– Közérthetőség

• Felhasználó

– Üzleti elemző • kezdeti folyamatterv

– Műszaki fejlesztő• Implementáció

• Belső modell automatikus generálás céljára

• BPEL4WS

– Üzleti végfelhasználó (monitorozás, menedzsment)

Page 5: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

5

Példa BPMN

Page 6: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

6

Adatfolyam

Esemény ÁllapotváltozásOk-hatásEseménytípusok:Start, Intermediate, End

Tevékenység Atomi/összetettTaszk/alfolyamat

Átjáró Szekvencia konvergencia/divergenciaAND, OR, XOR, …

Page 7: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

7

Összeköttetés

Szekvencia Tevékenységek sorrendje a folyamatban

Üzenet Két független folyamat részvevő közötti információcsere

Asszociáció Adat, szöveg stb. hozzárendelés

Page 8: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

8

Tagolás

Pool Résztvevő jelölése

Sáv Tevékenységek csoportosítása

Page 9: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

9

Artifact

Adat objektum

Szimbolikus token

Csoport Tevékenységek csoportosítása

Annotáció Kiegészítő szöveges információ(komment)

Page 10: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

10

Példa

Page 11: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

11

Hierarchikus modellezés

Page 12: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

12

Részekre bontás

Page 13: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

13

Adatok, csoportosítás

Page 14: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

14

Együttműködő (rész)folyamatok

Page 15: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

15

BPMN metamodell (egyszerűsített)

Source: http://www.wsper.org//

Page 16: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

16

Nyelvi elemek

Source: http://www.bpmb.de

Page 17: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

17

Elemi tevékenység finomított állapotgépe

Valójában mi történik? (BPMN szabvány)

Page 18: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

18

Elemi tevékenység finomított állapotgépe

• Futtatókörnyezet felelőssége kezelni• Szabvány írja le az állapotokat/átmeneteket• Nem ugyanaz, mint a lépést végrehajtó erőforrás/alkalmazás állapota!• Tervezési feladat: pl. mit jelent egy email esetén a “visszavonás”

• Tevékenység megszakítható, visszavonható, hibázhat…

Page 19: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

19

„A statistics…”

Source: Process Modelling. What Really MattersKeynote of Michael Rosemann @ UNISCON2009 conference

Page 20: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

20

Kihívások Szakterületi tudás megfogalmazása

o Könyvtárak, template fogalma

o „Web2.0” megjelenítés

o Hatékony modellezés (szöveges?)

Modellek konzisztenciája

o Statikus analízis: ~200 kérdés (BPEL2 szabvány)

o Folyamatmodellek és más modellek kapcsolata

• Állapotgépek…

Telepítés, erőforráskonfiguráció, ….

Page 21: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

21

BPMN eszközök jBPM Designer

Eclipse BPMN

Tibco Business Studio

IBM Websphere Business Modeler

Intalio Designer

BPMN Composer

BPMN Designer

Bonita Open Solution

Adonis

Activiti

Obeo Designer

+ általános modellező eszközök

Page 22: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

22

Háttér

http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/609cb540-3ca6-2a10-60a7-dc470a9b7adf

http://community.intalio.com/tutorials/exception-handling.html

http://www.conradbock.org/bock-bpmn-2-business-process-semantics-web.pdf

Stephen A. White (IBM): Introduction to BPMN

Page 23: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

23

Futtatás: “workflow engine”

Folyamatok életciklusának kezelése

o Folyamat sablonok kezelése

o Példányosítás, adatok kezelése

Verziókezelés, online frissítése

API beágyazható/csatolható elemeknek

o REST, WS, EJB…

Üzleti szabályok (döntések) kezelése

Emberi lépések (human task)

o Böngészőben megjeleníthető

o Jogosultságok kezelése

Page 24: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

24

Folyamatmenedzsment

Folyamatmenedzsmentkomponens(ek)

Integráció

Folyamatmodell

Monitorozás Analízis

Optimalizálás

KövetelményekMeglévő

komponensekSzolgáltalás

Page 25: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

25

Folyamatmenedzsment

Folyamatmenedzsmentkomponens(ek)

Integráció

Folyamatmodell

Monitorozás Analízis

Optimalizálás

KövetelményekMeglévő

komponensekSzolgáltalás

Optimalizálás, erőforrásfelhasználás, stb:Teljesítménymodellezés és Szimuláció előadások

Page 26: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

26

DEMÓ

Futtatható üzleti folyamat (Bonita): alkalmazásbolthttps://inf.mit.bme.hu/edu/courses/materials/szolg%C3%A1ltat%C3%A1sintegr%C3%A1ci%C3%B3/2014-tavasz/1-gyakorlat-bpmn-bonita

Page 27: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

27

DÖNTÉSEK ÜZLETI FOLYAMATOKBAN

Page 28: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

28

Flowchart

http://xkcd.com/518/

Page 29: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

29

Flowchart

Flowchart / döntési diagram

o Döntéshozatali gondolatmenetet ír le

o Konklúzióhoz vezet

o Nem fejez ki időbeli szekvenciát

Speciális eset: döntési faValós feladatnál a döntési

pontok és sorrendjükmeghatározása nehéz(pl. adatok alapján?

Ld. Később: adatelemzés)

Page 30: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

30

Példa: rossz döntési struktúra

(Gyalog galopp, ábra: graphjam.com)

• Inkonzisztens döntésipontok

• Egymást nem kizáróalternatívák

• Döntési ágak nem fedik le az összes lehetőséget..

Page 31: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

31

Döntések vs tevékenységek?

http://www.cardboardrepublic.com/cr_reviews/munchkin

Bár érthető, de nem precíz…Mi a döntés, mi az egyéb tevékenység?Mi az állapot, mi az akció/esemény?Hiányos modell…

Page 32: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

32

Döntések folyamatokban?

Elemi lépés “belseje” (ld. később: üzleti szabályok)

Pl. Decision Model Notation (omg.org)

Page 33: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

33

ADATFOLYAMHÁLÓK

Data Flow Network, DFN

Page 34: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

34

Adatfolyamhálók célja

Csomópontok és kommunikáció modellezése

o Pl. BPMN folyamatok leképzése (speciális eset)

Csomópont is lehet egy modell…

o Nem emlékezet/állapotmentes

o Állapotgép

o Folyamatmodell?

o Maga is egy adatfolyamháló

Későbbi előadásban

o Hierarchia modellezése

o Finomítási lépések

Page 35: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

35

Komponensek kommunikációja

Lazán csatolás nem azonnali lépés

Csatorna

o FIFO vagy random access (mi alapján olvasunk belőle?)

o Kapacitással rendelkeznek (mennyi token lehet rajta?)

o Adatmodell rendelhető hozzá (pl. tokenhalmaz)

Mögöttes technológia

o Pl. üzenetsor alapú megoldások

o MQ, JMS, MQTT, ..

Page 36: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

36

Adatfolyam modellezés

Nem determinisztikus DFN formalizmus

o [Jonsson, Cannata]

Struktúra

o Adatfolyam gráf (DFG)

• csomópontok

• irányított élek (FIFO csatornák)

Viselkedés

o Tüzelési szabályok: <s0; in=c0; s1; out=2; >

Adatok

o Tokenek

Page 37: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

37

Adatfolyam modellezés

Nem determinisztikus DFN formalizmus

o [Jonsson, Cannata]

Struktúra

o Adatfolyam gráf (DFG)

• csomópontok

• irányított élek (FIFO csatornák)

Viselkedés

o Tüzelési szabályok: <s0; in=c0; s1; out=c2; >

Adatok

o Tokenek

Page 38: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

38

Adatfolyam modellezés

Nem determinisztikus DFN formalizmus

o [Jonsson, Cannata]

Struktúra

o Adatfolyam gráf (DFG)

• csomópontok

• irányított élek (FIFO csatornák)

Viselkedés

o Tüzelési szabályok: <s0; in=c0; s1; out=c2; >

Adatok

o Tokenek

Kiinduló állapot

Page 39: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

39

Adatfolyam modellezés

Nem determinisztikus DFN formalizmus

o [Jonsson, Cannata]

Struktúra

o Adatfolyam gráf (DFG)

• csomópontok

• irányított élek (FIFO csatornák)

Viselkedés

o Tüzelési szabályok: <s0; in=c0; s1; out=c2; >

Adatok

o Tokenek

Kiinduló állapot

Bemeneti csatorna

Page 40: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

40

Adatfolyam modellezés

Nem determinisztikus DFN formalizmus

o [Jonsson, Cannata]

Struktúra

o Adatfolyam gráf (DFG)

• csomópontok

• irányított élek (FIFO csatornák)

Viselkedés

o Tüzelési szabályok: <s0; in=c0; s1; out=c2; >

Adatok

o Tokenek

Kiinduló állapot

Bemeneti csatorna

Bemeneti csatornáról elvett token

Page 41: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

41

Adatfolyam modellezés

Nem determinisztikus DFN formalizmus

o [Jonsson, Cannata]

Struktúra

o Adatfolyam gráf (DFG)

• csomópontok

• irányított élek (FIFO csatornák)

Viselkedés

o Tüzelési szabályok: <s0; in=c0; s1; out=c2; >

Adatok

o Tokenek

Kiinduló állapot

Bemeneti csatorna

Bemeneti csatornáról elvett token

Célállapot

Page 42: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

42

Adatfolyam modellezés

Nem determinisztikus DFN formalizmus

o [Jonsson, Cannata]

Struktúra

o Adatfolyam gráf (DFG)

• csomópontok

• irányított élek (FIFO csatornák)

Viselkedés

o Tüzelési szabályok: <s0; in=c0; s1; out=c2; >

Adatok

o Tokenek

Kiinduló állapot

Bemeneti csatorna

Bemeneti csatornáról elvett token

Célállapot

Kimeneti csatorna

Page 43: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

43

Adatfolyam modellezés

Nem determinisztikus DFN formalizmus

o [Jonsson, Cannata]

Struktúra

o Adatfolyam gráf (DFG)

• csomópontok

• irányított élek (FIFO csatornák)

Viselkedés

o Tüzelési szabályok: <s0; in=c0; s1; out=c2; >

Adatok

o Tokenek

Kiinduló állapot

Bemeneti csatorna

Bemeneti csatornáról elvett token

Célállapot

Kimeneti csatorna

Kimeneti csatornára kitett token

Page 44: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

44

Adatfolyam modellezés

Nem determinisztikus DFN formalizmus

o [Jonsson, Cannata]

Struktúra

o Adatfolyam gráf (DFG)

• csomópontok

• irányított élek (FIFO csatornák)

Viselkedés

o Tüzelési szabályok: <s0; in=c0; s1; out=c2; >

Adatok

o Tokenek

Kiinduló állapot

Bemeneti csatorna

Bemeneti csatornáról elvett token

Célállapot

Kimeneti csatorna

Kimeneti csatornára kitett token

Prioritás

Page 45: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

45

Nem determinisztikus adatfolyam

A rendszer determinisztikus:

o Egy adott állapotban bekövetkező feltételek szerint hajt végre akciókat.

A rendszer nem determinisztikus:

o Példa1: Az eddigi feltételek helyett az akciók végrehajtásának valószínűsége adott (randomizált modell).

o Példa2: nem tudjuk/nem modellezük a döntések belsejét (ld később: predikátumabsztrakció, példa: “x<8” helyett “A”)

o A randomizált modell nem feltétlenül ,,ekvivalens’’ a determinisztikus modellel.

o Egymást kizáró alternatívák is lehetségesek

A kapotteredményt

értelmezni kell

Page 46: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

46

A módszer előnyei

Tulajdonság Alkalmas

Grafikus, moduláris, kompakt, hierarchikus

Egyszerűen áttekinthető modell

Fekete és átlátszó doboz modell Modellezés korai fázisban

Finomítási szabályok Többszintű modellezés

Információáramlás direkt leírása Hibaterjedés modellezése

Elosztott modell mind finom, mind durva pontossággal

Aszinkron, konkurens események

Adatvezérelt működés Eseményvezérelt real-time rendszerek

Hívási átlátszóság, atomitulajdonság, információrejtés

Hibatűrő alkalmazások

Matematikai formalizmus Formális módszerek

Transzformáció: TTPN, PA Validáció, időbeli analízis

Page 47: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

47

Adatfolyam hálózat formális leírása

Adatfolyam hálózat: egy hármas (N, C, S )

o N : csomópontok halmaza

o C : csatornák halmaza• I: bemenő csatornák

• O: kimenő csatornák

• IN: belső (csomópontok közötti) csatornák

o S : állapotok halmaza

Adatfolyam csatorna:

o végtelen kapacitású FIFO csatorna,

o egy bemeneti és egy kimeneti csomóponthoz kötve

o állapota: Sc = Mc tokenszekvencia

kapcsolat a külvilággal

Page 48: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

48

Adatfolyam csomópont formális leírásaAdatfolyam csomópont: n = (In,On,Sn,sn

0,Rn,Mn), ahol

In – bemenő csatornák halmaza

On – kimenő csatornák halmaza

Sn – csomópont állapotok halmaza

sn0 – csomópont kezdőállapota, sn

0 Sn

Mn – tokenek halmaza

Rn – tüzelések halmaza, rn Rn egy ötös (sn, Xin, s’n, Xout, )

sn – tüzelés előtti és utáni állapotok, s’n S

Xin – bemenő leképzés, Xin : In Mn

Xout – kimenő leképzés, Xout : On Mn

– tüzelés prioritása, N

Page 49: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

49

Egy példa

Egy token kapacitású csatornák

Hálózat:

o DFN = ({n}, {in, out}, {(s,0,0), (s,ok,0), (s,0,ok), (s,ok,ok)})

Csomópontok:

o n = ({in}, {out}, {s}, s, {ok,0}, {r1})

Tüzelések:

o r1=<s; in=ok; s; out=ok; 0>

nin out

Page 50: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

50

Egy példa

Egy token kapacitású csatornák

Hálózat:

o DFN = ({n}, {in, out}, {(s,0,0), (s,ok,0), (s,0,ok), (s,ok,ok)})

Csomópontok:

o n = ({in}, {out}, {s}, s, {ok,0}, {r1})

Tüzelések:

o r1=<s; in=ok; s; out=ok; 0>

nin out

Csomópontok halmaza

Page 51: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

51

Egy példa

Egy token kapacitású csatornák

Hálózat:

o DFN = ({n}, {in, out}, {(s,0,0), (s,ok,0), (s,0,ok), (s,ok,ok)})

Csomópontok:

o n = ({in}, {out}, {s}, s, {ok,0}, {r1})

Tüzelések:

o r1=<s; in=ok; s; out=ok; 0>

nin out

Csomópontok halmaza Csatornák

halmaza

Page 52: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

52

Egy példa

Egy token kapacitású csatornák

Hálózat:

o DFN = ({n}, {in, out}, {(s,0,0), (s,ok,0), (s,0,ok), (s,ok,ok)})

Csomópontok:

o n = ({in}, {out}, {s}, s, {ok,0}, {r1})

Tüzelések:

o r1=<s; in=ok; s; out=ok; 0>

nin out

Csomópontok halmaza Csatornák

halmaza

Állapotok halmaza

Page 53: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

53

Egy példa

Egy token kapacitású csatornák

Hálózat:

o DFN = ({n}, {in, out}, {(s,0,0), (s,ok,0), (s,0,ok), (s,ok,ok)})

Csomópontok:

o n = ({in}, {out}, {s}, s, {ok,0}, {r1})

Tüzelések:

o r1=<s; in=ok; s; out=ok; 0>

nin out

Bemenő csatornák halmaza

Page 54: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

54

Egy példa

Egy token kapacitású csatornák

Hálózat:

o DFN = ({n}, {in, out}, {(s,0,0), (s,ok,0), (s,0,ok), (s,ok,ok)})

Csomópontok:

o n = ({in}, {out}, {s}, s, {ok,0}, {r1})

Tüzelések:

o r1=<s; in=ok; s; out=ok; 0>

nin out

Bemenő csatornák halmaza

Kimenő csatornák halmaza

Page 55: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

55

Egy példa

Egy token kapacitású csatornák

Hálózat:

o DFN = ({n}, {in, out}, {(s,0,0), (s,ok,0), (s,0,ok), (s,ok,ok)})

Csomópontok:

o n = ({in}, {out}, {s}, s, {ok,0}, {r1})

Tüzelések:

o r1=<s; in=ok; s; out=ok; 0>

nin out

Bemenő csatornák halmaza

Kimenő csatornák halmaza

Csomópont állapotok halmaza

Page 56: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

56

Egy példa

Egy token kapacitású csatornák

Hálózat:

o DFN = ({n}, {in, out}, {(s,0,0), (s,ok,0), (s,0,ok), (s,ok,ok)})

Csomópontok:

o n = ({in}, {out}, {s}, s, {ok,0}, {r1})

Tüzelések:

o r1=<s; in=ok; s; out=ok; 0>

nin out

Bemenő csatornák halmaza

Kimenő csatornák halmaza

Csomópont állapotok halmaza

Tokenekhalmaza

Page 57: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

57

Egy példa

Egy token kapacitású csatornák

Hálózat:

o DFN = ({n}, {in, out}, {(s,0,0), (s,ok,0), (s,0,ok), (s,ok,ok)})

Csomópontok:

o n = ({in}, {out}, {s}, s, {ok,0}, {r1})

Tüzelések:

o r1=<s; in=ok; s; out=ok; 0>

nin out

Bemenő csatornák halmaza

Kimenő csatornák halmaza

Csomópont állapotok halmaza

Tokenekhalmaza

Tüzelések halmaza

Page 58: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

58

Példa - Számláló

Készítsük el egy adatfolyam „Számláló” csomópontját,

amely számláló bemenetén ☺ és ☹ tokeneket kap,

majd a kimenetén a w00t token jelenik meg, amennyiben egymás után 3 db ☺ jelet olvas a bementről.

Page 59: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

59

Példa - Bíró

Készítsük el egy adatfolyam „Bíró” csomópontját. A csomópont két bemenetéről egyszerre olvassa be egy érme feldobásának eredményét és a játékos tippjét. Ha a dobás és a tipp megegyezik a kimeneten a ☺ jelet,

egyébként a ☹ jelet adja ki.

Page 60: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

60

Adatfolyam modellek kiértékelése

+ Interaktív szimuláció

Validáció, helyességbizonyítás (direkt/indirekt) Dinamikus tulajdonságok: elérhetőség, holtpontmentesség

+ Időbeli analízis (indirekt) Tüzelési szabályokban végrehajtási idő, mint valószínűségi változó

+ Hibaszimuláció (direkt, diszkrét esemény szimuláció) Működési modell kiegészítése hibamodellel, hibahatások elemzése

+ Teszttervezés (indirekt) Tesztgenerálás, tesztelhetőségi analízis, tesztkészlet optimalizálás

Hibahatás analízis (direkt) FMEA: hibamód és hatás analízis, hibafa és eseményfa generálás

(Megbízhatósági analízis) (indirekt) Klasszikus mértékek: megbízhatóság, rendelkezésre állás, MTBF, …

Page 61: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

61

ESETTANULMÁNY: STORM

Adatfeldolgozás Apache Storm használatával

(Nádudvari Tamás: Nagyméretű adathalmazok elemzésének streamprocessing alapú támogatása)

Page 62: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

62

Alkalmazás adatfolyam

A lementett hálózati adatokat tartalmazó rekordokat fájlból kiolvassuk

Egy rekordban szerepel

a forrás és cél IP cím,

időpont

forgalmazott csomagszám

adatmennység

Page 63: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

63

Alkalmazás adatfolyam

A hálózati rekordokat egy adatbázisba küldjük

Page 64: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

64

Alkalmazás adatfolyam

A Storm alkalmazás első komponense kiolvassa a beküldött rekordokat

Page 65: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

65

Alkalmazás adatfolyam

Az alkalmazás szempontjából lényegtelen adatokat levágja a rekordokból

Page 66: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

66

Alkalmazás adatfolyam

Csak az időpontot és a cél IP címet tartalmazó értékpárok lesznek továbbküldve

Page 67: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

67

Alkalmazás adatfolyam

Egy külső web szolgáltatás segítségével az IP címekhez megkeresi a hozzátartozó országot

Page 68: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

68

Alkalmazás adatfolyam

(időpont, ország) értékpárok

Page 69: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

69

Alkalmazás adatfolyam

Az adatokat idő alapján aggregálja 3 perces blokkokba

Országok szerint összegez

Adatbázisba ment

Page 70: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

70

Alkalmazás adatfolyam

A csúszó ablakból kieső adatok törlésért felel

Page 71: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

71

Alkalmazás adatfolyam

Nem a beérkező rekordok hatására( percenként)

Page 72: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

72

Alkalmazás adatfolyam

Megjelenítés:

egyszerű webszolgáltatásés weblap

Megjelenítés:

egyszerű webszolgáltatásés weblap

Ország név és gyakoriság értékpárok

Page 73: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

73

Alkalmazás adatfolyam

Page 74: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

74

Szöveges “folyamat” (topológia)

TopologyBuilder builder = new TopologyBuilder();

builder.setSpout("redis_spout", new RedisSpout(), 1);builder.setBolt("gatherer", new Gatherer(), 5)

.shuffleGrouping("redis_spout");builder.setBolt("locator", new GeoTagger(), 10)

.shuffleGrouping("gatherer");builder.setBolt("aggregator", new Aggregator(), 10)

.fieldsGrouping("locator", new Fields("date"));builder.setSpout("timer_spout", new TimerSpout(), 1);builder.setBolt("sweeper", new Sweeper(), 5)

.shuffleGrouping("timer_spout");

Page 75: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

75

Kimenet

Page 76: Folyamatmodellezés (BPMN), adatfolyamhálók · Asszociáció Adat, szöveg stb. hozzárendelés. 8 Tagolás Pool Résztvevő jelölése Sáv Tevékenységek csoportosítása. 9

76

Miért/hogyan folyamat?

Adatáramlás explicit megjelenik

o “Először szűr, aztán összesít”

Implicit függőségek (DB)

Folyamat sablon ~ topológia

o Saját definíció, nem szabvány

Nem általános célú

o Kifejezetten adatfeldolgozás

o (Eredetileg: állapotfrissítések)