62
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 Méréstechnika és Információs Rendszerek Tanszék Modellezési alapismeretek Rendszermodellezés

Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

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

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

Modellezési alapismeretek

Rendszermodellezés

Page 2: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

2

“Motiváció”

▪ Stunts autóverseny, 1990.o Distinctive Games/Brøderbund Softwareo https://en.wikipedia.org/wiki/Stunts_(video_game)

▪ Versenyzés + pályaszerkesztés (!)o Tkp. egy “szakterület specifikus modell”

Page 3: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

3

Kép: http://www.abandonia.com/games/73/Stunts.htm

“Motiváció”: mire jó egy modell?

Végig lehet-e menni egy pályán?Ha igen, melyik kocsival?Egyértelmű-e a pálya meghatározása?

Járható-e egy pálya fordított irányban is?

“Valósághű”-e egy pálya?Alkalmas-e versenyzésre?

Milyen elemek kombinálhatóak?Milyen pályák állíthatóak elő?

Szeretnék új típusú pályaelemet, mi kell ehhez?

Page 4: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

4

Tartalom

Modell és modellezés

Mire használunk modelleket?

Alapfogalmak

Page 5: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

5

Mi a modell?

▪ "The sciences o do not try to explain,

o they hardly even try to interpret,

o they mainly make models.

▪ By a model is meant o a mathematical construct which,

o with the addition of certain verbal interpretations,

o describes observed phenomena.

▪ The justification of such a mathematical construct

is solely and precisely that it is expected to work.„

Neumann János

Page 6: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

6

Page 7: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

7

Tudományos és mérnöki modellek▪ Tudományos modell - deskriptív (leíró)

o Newton törvénye nem illeszkedik fekete lyukra→ rossz modell

▪ Mérnöki (tervezési) modell - preskriptívo Nem illeszkedik → "valóság" rossz

Page 8: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

8

Mi a modell?

▪ Egy valós vagy hipotetikus világ (a „rendszer”) o egy részének

o egyszerűsített képe, amely

o a rendszert helyettesíti bizonyos megfontolásokban

▪ Döntések:o A világ mely része?

o Mit hanyagol el?

o Hogy feleltethető meg a világnak?

▪ Hasznao kisebb (véges)

o áttekinthetőbb

Mikor lehetés érdemesfelhasználni?

Page 9: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

9

Mi NEM a modell?

▪ A modell nem a valóság!

▪ A modell nem a diagram.o az csak egy nézet…

Page 10: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

10

Modell vs. valóság: értelmezhetőség?

Modell-analízis

Modell-analízis

Page 11: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

11

Matematikai modell vs. valóság

▪ Minden modell: zárt világo Hatások, faktoroko Paraméterek o Érvényesség

▪ A modell bizonytalan működésű ezen a világon kívül

▪ Nem minden fejezhető ki előreo Emberi döntéso Generált modellek

▪ Megoldás validációja

▪ Normál működéso Peremfeltételek:• Gyár, ahol mindig van elég

anyag• Minden rendelés elkészül

határidőre

o Célfüggvény:• Költségminimum

▪ Rendkívüli eseto Peremfeltétel• Anyaghiány

o Célfüggvény:1. Minél több rendelés

határidőre2. Költségminimum

Page 12: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

12

Matematikai modell vs. valóság

▪ Minden modell: zárt világo Hatások, faktoroko Paraméterek o Érvényesség

▪ A modell bizonytalan működésű ezen a világon kívül

▪ Nem minden fejezhető ki előreo Emberi döntéso Generált modellek

▪ Megoldás validációja

▪ Normál működéso Peremfeltételek:• Gyár, ahol mindig van elég

anyag• Minden rendelés elkészül

határidőre

o Célfüggvény:• Költségminimum

▪ Rendkívüli eseto Peremfeltétel• Anyaghiány

o Célfüggvény:1. Minél több rendelés

határidőre2. Költségminimum

Page 13: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

13

Példa: biztonságkritikus SW

▪ Repülőgép fékezése: kerékfék + sugárfordító

Page 14: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

14

1993 Varsó: Lufthansa 2904

▪ (SW) védelem:(mindkét főfutó terhelt)

OR(egy kerék gyorsan forog)→ (gép a leszállópályán)→ (PILÓTA FÉKEZHET)

Kerék a levegőben

Kerék csúszik

Page 15: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

15

Modell minősége

▪ A valóság: nyílt világ→A modell: zárt világ▪ Valósághűség:o Valószínű + kritikus

esetek

Page 16: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

16

Modell minősége

▪ A valóság: nyílt világ→A modell: zárt világ▪ Valósághűség:o Valószínű + kritikus

esetek

Page 17: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

17

Páncélozás? →Wald Abraham

Page 18: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

18

Páncélozás? →Wald Abraham

Page 19: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

19

Modell és modellezés

Mire használunk modelleket?

Alapfogalmak

Page 20: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

20

Modellezés a gyakorlati életben?

Pl.: [svéd cég] webes konyhatervezője

Page 21: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

21

Modellezés a gyakorlati életben?

Pl.: [svéd cég] webes konyhatervezője

Page 22: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

22

Ez is modellezési nyelv! ☺

▪ Verilog – szakterület specifikus, hardver leíró

Page 23: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

23

Ez is modellezési nyelv…

▪ Verilog – szakterület specifikus, hardver leíró

Page 24: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

24

Mi értelme van modellezni?

▪ Én szoftvert készítek. Kell-e modelleznem is?o Már így is ezt teszed!

• (A szoftver forráskódja is egyfajta modell…)• Ami fontosabb: mentális modellek

▪ Mikor kell kifejezetten lejegyezni a modelleket?o Szerepe: kommunikáció

• Ember → ember • Ember → gép • Gép → gép• Ember → saját maga, kicsivel később

– Pl. évekkel később emlékezni kéne mérnöki döntések indokaira…

Page 25: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

25

Modellezési nyelvek

▪ A cél a kommunikáció o Modell megértése szükségeso Modellezési nyelvek

▪ Szintaxis: hogyan írom le a modellt? “pl. C nyelven”o „Matematikai struktúra”: absztrakt szintaxiso Jelölés: konkrét szintaxis

• rajzjelek / szöveges formátum

▪ Szemantika: mit jelent a modell? “i++”▪ Kényszerfeltételek, korlátozások

o Szintaktikai helyesség, jólformáltságo Tervezési konvenciók (csapatonként változhat)

Biztos ez a legjobb?

Page 26: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

26

A modellezési nyelv modellje

Konkrét pálya: modellPálya elemei: metamodell

Page 27: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

27

Alapfogalmak - Metamodellezés

▪ Modellezési nyelv: milyen típusú elemei vannak?o …és milyen kapcsolatban állhatnak ezek az elemek?o…és ezeknek a típusoknak mik a viszonya egymáshoz?

▪ Metamodell = egy modellezési nyelv modellje▪ Illusztrációk

o Adatbázis táblao XML dokumentum o Relációs adatbázissémao C++ objektumoko C++ program

Page 28: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

28

Alapfogalmak - Metamodellezés

▪ Modellezési nyelv: milyen típusú elemei vannak?o …és milyen kapcsolatban állhatnak ezek az elemek?o…és ezeknek a típusoknak mik a viszonya egymáshoz?

▪ Metamodell = egy modellezési nyelv modellje▪ Illusztrációk

o Adatbázis tábla → relációs adatbázissémao XML dokumentum → XML séma (vagy DTD)o Relációs adatbázisséma → Egyed-kapcsolat (ER) modello C++ objektumok → C++ osztályoko C++ program → C++ programnyelv specifikáció

Page 29: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

29

Alapfogalmak - Metamodellezés

▪ Modellezési nyelv: milyen típusú elemei vannak?o …és milyen kapcsolatban állhatnak ezek az elemek?o…és ezeknek a típusoknak mik a viszonya egymáshoz?

▪ Metamodell = egy modellezési nyelv modellje▪ Illusztrációk

o Adatbázis tábla → relációs adatbázissémao XML dokumentum → XML séma (vagy DTD)o Relációs adatbázisséma → Egyed-kapcsolat (ER) modello C++ objektumok → C++ osztályoko C++ program → C++ programnyelv specifikáció

Diák Kurzushallgat

KódNeptun-kód

TeremÁtlag

Page 30: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

30

Alapfogalmak - Metamodellezés

▪ Modellezési nyelv: milyen típusú elemei vannak?o …és milyen kapcsolatban állhatnak ezek az elemek?o…és ezeknek a típusoknak mik a viszonya egymáshoz?

▪ Metamodell = egy modellezési nyelv modellje▪ Illusztrációk

o Adatbázis tábla → relációs adatbázissémao XML dokumentum → XML séma (vagy DTD)o Relációs adatbázisséma → Egyed-kapcsolat (ER) modello C++ objektumok → C++ osztályoko C++ program → C++ programnyelv specifikáció

Page 31: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

31

Felhasználás – Dokumentáció

▪ A modell egyszerűbbo könnyebben elmondható,

mint a teljes valóságo fokozatosan finomítható (ld.

később)

▪ Kommunikáció, szemléltetéso demonstráció (ld. később)o érthető szöveges nyelvo szemléletes diagram

▪ Gondolkodás, tervezés támogatásao hasonlóak a szempontoko „kommunikáció

magunkkal”

Page 32: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

32

Felhasználás – Dokumentáció

▪ A modell egyszerűbbo könnyebben elmondható,

mint a teljes valóságo fokozatosan finomítható (ld.

később)

▪ Kommunikáció, szemléltetéso demonstráció (ld. később)o érthető szöveges nyelvo szemléletes diagram

▪ Gondolkodás, tervezés támogatásao hasonlóak a szempontoko „kommunikáció

magunkkal”

Page 33: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

33

„A kód dokumentáció is egyben”

Margaret Hamilton

Page 34: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

34

Felhasználás - Elemzés

▪ Emberi erővel vagy (részben) automatizáltan

▪ Módszero Statikus ellenőrzéso Tesztelés támogatásao Dinamikus modellellenőrzéso Formális állítások

bizonyításával

▪ Céloko Megengedett és elvárt

viselkedés vizsgálata→Modell helyes legyeno Jellemzők számítása

(pl. ütemezés)→ Rendszer követelményei

Page 35: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

35

Felhasználás - Elemzés

▪ Emberi erővel vagy (részben) automatizáltan

▪ Módszero Statikus ellenőrzéso Tesztelés támogatásao Dinamikus modellellenőrzéso Formális állítások

bizonyításával

▪ Céloko Megengedett és elvárt

viselkedés vizsgálata→Modell helyes legyeno Jellemzők számítása

(pl. ütemezés)→ Rendszer követelményei

Page 36: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

36

Felhasználás: szimuláció

▪ Validációo „Jót építettem fel?”

▪ Demonstrációo A kommunikáció

eszközeként

▪ Kísérleto Tulajdonságok elemzéséreo Méréseko A valóságban költségesen kipróbálhatóo Elméleti úton előre meg nem határozható

Page 37: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

37

Felhasználás - Származtatás

▪ Emberi erővel vagy (részben) automatizáltan▪ Eredmény

o programkód, analizálható nyelv, stb. generálásao másik modell

• finomítás, következő tervezési fázis• részaspektus• modellek integrációja

o lehet tulajdonságmegőrző

▪ Pl: abszolútérték

n/-

[n>=0] -/n

[n<0] -/n*(-1)

int n;

scanf("%d",&n);

if (n>=0) {

printf("%d",n);

} else {

n=n*(-1);

printf(„%n",a);

}

Page 38: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

38

Felhasználás - Származtatás

▪ Emberi erővel vagy (részben) automatizáltan▪ Eredmény

o programkód, analizálható nyelv, stb. generálásao másik modell

• finomítás, következő tervezési fázis• részaspektus• modellek integrációja

o Lehet tulajdonságmegőrző

▪ Pl: abszolútérték

n/-

[n>=0] -/n

[n<0] -/n*(-1)

int n;

scanf("%d",&n);

if (n>=0) {

printf("%d",n);

} else {

n=n*(-1);

printf(„%n",a);

}

Page 39: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

39

Webalkalmazás fejlesztése

Page 40: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

40

Okostelefon alkalmazás fejlesztése

Page 41: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

41

Reverse engineering

▪ Modell visszafejtése a rendszer alapján

Page 42: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

42

Vasúti rendszerek fejlesztése

Megoldandó probléma: SIL-4 vasúti alkalmazás fejlesztési lépéseinek és ezek eredményeinek ellenőrzése

Kihívások:• Szisztematikusfelülvizsgálat• Modellezés és

formális verifikáció

Követelmények

elemzése

Rendszer

specifikálás

Architektúra

tervezés

Modul

tervezés

Modul

implementáció

Modul teszt

tervezés

Integrációs

teszt tervezés

Rendszerteszt

tervezés

Rsz. validáció

tervezés

Modul

verifikáció

Rendszer

integrálás

Rendszer

verifikáció

Rendszer

validáció

Üzemeltetés,

karbantartás

Követelmények

elemzése

Rendszer

specifikálás

Architektúra

tervezés

Modul

tervezés

Modul

implementáció

Modul teszt

tervezés

Integrációs

teszt tervezés

Rendszerteszt

tervezés

Rsz. validáció

tervezés

Modul

verifikáció

Rendszer

integrálás

Rendszer

verifikáció

Rendszer

validáció

Üzemeltetés,

karbantartás

Folyamat →modell →minőségbiztosítás

Page 43: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

43

Vasúti rendszerek fejlesztése

Megoldandó probléma: SIL-4 vasúti alkalmazás fejlesztési lépéseinek és ezek eredményeinek ellenőrzése

Kihívások:• Szisztematikusfelülvizsgálat• Modellezés és

formális verifikáció

Követelmények

elemzése

Rendszer

specifikálás

Architektúra

tervezés

Modul

tervezés

Modul

implementáció

Modul teszt

tervezés

Integrációs

teszt tervezés

Rendszerteszt

tervezés

Rsz. validáció

tervezés

Modul

verifikáció

Rendszer

integrálás

Rendszer

verifikáció

Rendszer

validáció

Üzemeltetés,

karbantartás

Követelmények

elemzése

Rendszer

specifikálás

Architektúra

tervezés

Modul

tervezés

Modul

implementáció

Modul teszt

tervezés

Integrációs

teszt tervezés

Rendszerteszt

tervezés

Rsz. validáció

tervezés

Modul

verifikáció

Rendszer

integrálás

Rendszer

verifikáció

Rendszer

validáció

Üzemeltetés,

karbantartás

Folyamat →modell →minőségbiztosítás

Page 44: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

44

Yakindu:állapotdiagram

Page 45: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

45

Yakindu:állapotdiagram

Page 46: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

46

Yakindu→3D szimulációJárműkövető/távolságtartó rendszer interaktív 3D szimulációja

Interactive 3D Visualization and Simulation with State Machines, Benjamin Bolte, 2017.https://blogs.itemis.com/en/interactive-3d-visualization-and-simulation-with-state-machines

Page 47: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

47

Modell és modellezés

Mire használunk modelleket?

Alapfogalmak

Page 48: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

48

Alapfogalmak – rendszer és külvilág

Rendszer Kölcsönhatás

Külvilág

Nem modellezzük teljesen→forgatókönyvek,interakciók

•Interfész•Specifikáció

• Szintén modell

•Fekete doboz•Fehér doboz

Page 49: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

49

Alapfogalmak – rendszer és külvilág

Kölcsönhatás

KülvilágAlrendszer

Alrendszer

Alrendszer

Page 50: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

50

Alapfogalmak – Finomítás/Absztrakció

▪ Finomítás: a modell gazdagítása részletekkel…Pl. rendszer felbontása alrendszerekre

▪ …hogy az eredeti modell absztrakció maradjonPl. az alrendszerekre együtt ugyanazokat az elvárásokat teljesítik

▪ Inverze: absztrakcióPl. alrendszerek összevonása

▪ Az előbbi dián egy hierarchikus finomítás volto „dobozok kibontása”

▪ Finomítható más is...o Pl. Halmazfinomítás: változók értékkészlete

• Jó / rossz helyett• Gyors / átlagos / lassú / hiányos / veszélyes

Page 51: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

51

Modellezés a képzésben

Page 52: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

52

IMSC KITEKINTÉS: ABSZTRAKCIÓ PONTOSABBAN

Page 53: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

53

Absztrakció

(Több definíció lehetséges.)

▪ Az absztrakció helyes, ha az eredeti rendszer minden eleméhez hozzárendelhető az absztrakt rendszer egy eleme.

▪ Az absztrakció teljes a vizsgált tulajdonságra nézve, ha a rendszer összes jellemzője megjelenik, amely a vizsgált tulajdonságot befolyásolja.

Page 54: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

54

Galois kapcsolat

▪ Galois kapcsolat (𝑟)o 𝐴,⊆ , (𝐵, ⊆) részben rendezett halmazoko 𝑓: 𝐴 → 𝐵, 𝑔: 𝐵 → 𝐴o 𝑓 𝑎 ⊆ 𝑏 ↔ 𝑎 ⊆ 𝑔 𝑏 ↔ 𝑟 𝑎, 𝑏

▪ Absztrakcióo⊆ − tartalmazáso Befoglaló rész visszavetítve

tartalmazza az eredetit

Fedő modell:

Absztrakt

tartomány

Konkrét

tartomány

Konkrét modell

Visszavetített:

Absztrakt modell:

Page 55: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

55

Galois kapcsolat - példa

▪ Jogosultsági szintek (több szint is elképzelhető)Olvasás: Teljes jogosultság > Részleges jogosultság > Nincs jogosultság

Írás: Teljes jogosultság > … > Nincs jogosultság

▪ Mely jogosultságok kompatibilisek egymással?o Ha egy mezőt tudunk írni, olvasni is tudnunk kell!o X mezőt írnám → Részleges olvasási jog kell (de teljes is jó)o Részleges olvasási jogom van → Legfeljebb részleges írási jogom

lehet (vagy semmi)

▪ Kompatibilitás: Galois reláció

Bizonyos attribútumok (pl. ID) elrejtése

Page 56: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

56

Refactor példa

▪ Számok rendezéseo Növekvő sorban: 18,23,131,247,1925o Csökkenő sorban: 1925,247,131,23,18o ABC rendben: 131,18,1925,23,247

▪ Kód (minimumkiválasztás):

void rendezes_novekvo(int* tomb, int meret){

int i, j;

for(i = 0; i<meret; i++){

int minimumhely = i;

for(j= i + 1; j<meret; j++){

if(tomb[j] < tomb[minimumhely])

minimumhely= j;

}

int tmp = *i;

*i = *minimumhely;

*minimumhely = tmp;

}

}

Miben különbözik a másik két sorrendhez

tatozó kód?

Page 57: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

57

Refactor példa

▪ Számok rendezéseo Növekvő sorban: 18,23,131,247,1925o Csökkenő sorban: 1925,247,131,23,18o ABC rendben: 131,18,1925,23,247

▪ Kód (minimumkiválasztás):

void rendezes_novekvo(int* tomb, int meret){

int i, j;

for(i = 0; i<meret; i++){

int minimumhely = i;

for(j= i + 1; j<meret; j++){

if(tomb[j] < tomb[minimumhely])

minimumhely= j;

}

int tmp = *i;

*i = *minimumhely;

*minimumhely = tmp;

}

}

Miben különbözik a másik két sorrendhez

tatozó kód?

Page 58: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

58

Refactor példa

▪ Ötlet: Az összehasonlítást tegyük külön függvénybe

Kódduplikáció elkerülése

void rendezes(int* tomb, int size, bool (*hasonlit)(int,int)){

int i, j;

for(i = 0; i<meret; i++){

int minimumhely = i;

for(j= i + 1; j<meret; j++){

if( (*hasonlit)(tomb[j],tomb[minimumhely]) )

minimumhely= j;

}

int tmp = *i;

*i = *minimumhely;

*minimumhely = tmp;

}

}

Mit lehet még újrafelhasználni ebből

a kódból?

Page 59: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

59

Refactor példa

▪ Ötlet: Az összehasonlítást tegyük külön függvénybe

Kódduplikáció elkerülése

void rendezes(int* tomb, int size, bool (*hasonlit)(int,int)){

int i, j;

for(i = 0; i<meret; i++){

int minimumhely = i;

for(j= i + 1; j<meret; j++){

if( (*hasonlit)(tomb[j],tomb[minimumhely]) )

minimumhely= j;

}

int tmp = *i;

*i = *minimumhely;

*minimumhely = tmp;

}

}

Mit lehet még újrafelhasználni ebből

a kódból?

Page 60: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

60

Absztrakció szerepe a kódolásban

▪ Észrevétel: o Kiválasztásos rendezőalgoritmus: absztrakcióo Különböző hasonlító függvények ( → sorrendek):

konkretizálás

▪ Jó kód:o Algoritmusok paramétereseno Különböző célok → külön példányosításo Pl. ez az algoritmus használható szavak sorrendezésére

Page 61: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

61

Absztrakciófinomítás

Multihalmaz(Bag)

Lista Halmaz

Sorrend FINO

MÍTÁ

S

Rendezett halmaz

Az elemek csak egyszer

szerepelhetnek.

Page 62: Rendszermodellezés - inf.mit.bme.hu · 7 Tudományos és mérnöki modellek Tudományos modell - deskriptív (leíró) oNewton törvénye nem illeszkedik fekete lyukra →rossz modell

62

FCA-k, hálók

http://www.upriss.org.uk/fca/examples

▪ Háló (lattice)▪ FCA (Formal Concept Analysis)