Modellezési alapismeretek

Hasonló dokumentumok
Modellezési alapismeretek

Modellezési alapismeretek

Modellezési alapismeretek

Modellezési alapismeretek

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

A konkréttól az absztraktig és vissza -a modellvezérelt tervezés az informatikában

Szoftverminőségbiztosítás

A fejlesztési szabványok szerepe a szoftverellenőrzésben

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

Részletes szoftver tervek ellenőrzése

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

Nagy bonyolultságú rendszerek fejlesztőeszközei

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

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

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

Modellezés és metamodellezés

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Modellezés és metamodellezés

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Szoftvertechnológia ellenőrző kérdések 2005

Formális módszerek GM_IN003_1 Bevezetés

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

KOMPUTER-ALGEBRA RENDSZEREK VERIFIKÁCIÓJA

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

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

Autóipari beágyazott rendszerek. Kockázatelemzés

Rendszermodellezés: házi feladat bemutatás

Szoftver újrafelhasználás

A szoftverfejlesztés eszközei

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Informatikai technológiák szakirány Rendszertervezés ágazat

Modellek fejlesztése

Modellek fejlesztése

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

Programfejlesztési Modellek

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

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

Folyamatmodellezés (BPMN) és alkalmazásai

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

Modell alapú tesztelés: célok és lehetőségek

Informatikai rendszertervezés

Részletes tervek ellenőrzése

Metamodellezés. Simon Balázs BME IIT, 2011.

Informatikai rendszertervezés

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

Szoftver karbantartás

Software Engineering

30 MB INFORMATIKAI PROJEKTELLENŐR

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

A TANTÁRGY ADATLAPJA

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

UML (Unified Modelling Language)

A BIZTONSÁGINTEGRITÁS ÉS A BIZTONSÁGORIENTÁLT ALKALMAZÁSI FELTÉTELEK TELJESÍTÉSE A VASÚTI BIZTOSÍTÓBERENDEZÉSEK TERVEZÉSE ÉS LÉTREHOZÁSA SORÁN

VIR alapfogalmai. Előadásvázlat. dr. Kovács László

Autóipari beágyazott rendszerek Dr. Balogh, András

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

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

Kogníció, koncepciók, modellek

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

A szoftverfejlesztés eszközei

Modellek dokumentálása

Miért is transzformáljunk modelleket? Varró Dániel

Modellek végrehajtása, kódgenerálás

Specifikáció alapú teszttervezési módszerek

PTE PMMIK, SzKK Smart City Technologies, BimSolutions.hu 1

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

Specifikáció alapú teszttervezési módszerek

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

S01-8 Komponens alapú szoftverfejlesztés 2

IRÁNYÍTÓ RENDSZER IRÁNYÍTANDÓ FOLYAMAT. Biztonsági funkciók Biztonsági integritás. Normál működés. Hibák elleni védettség Saját (belső) biztonság

Név: Neptun kód: Pontszám:

DW 9. előadás DW tervezése, DW-projekt

Ráth István. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

S01-7 Komponens alapú szoftverfejlesztés 1

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

TARTÓSZERKEZETEK TERVEZÉSE ÉS TŰZGÁTLÓ MEGOLDÁSOK BIM ALAPÚ PROJEKTEKNÉL

Kvantitatív módszerek

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus

Célkitűzés Megoldandó feladatok A tesztkörnyezet komponensei V&V folyamatok Eszközintegrációs szintek. Megfelelőség tanúsítása modell alapon

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

Projectvezetők képességei

Digitális technika (VIMIAA02) Laboratórium 5.5

Utolsó módosítás:

Bevezetés a programozásba

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Rendszertervezés ágazat

A szoftverellenőrzés szerepe

SZOLGÁLTATÁS-VALIDÁCIÓ ITU-T AJÁNLÁSOK ALAPJÁN

Történet John Little (1970) (Management Science cikk)

Információs rendszerek Információsrendszer-fejlesztés

Programok értelmezése

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

Mérés és modellezés 1

Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 2

TOGAF elemei a gyakorlatban

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

Elosztott adatbázis-kezelő formális elemzése

Átírás:

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

Motiváció Stunts autóverseny, 1990. o Distinctive Games/Brøderbund Software o https://en.wikipedia.org/wiki/stunts_(video_game) Versenyzés + pályaszerkesztés (!) o Tkp. egy szakterület specifikus modell 2

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? Milyen elemek kombinálhatóak? Milyen pályák állíthatóak elő? Valósághű -e egy pálya? Alkalmas-e versenyzésre? Szeretnék új típusú pályaelemet, mi kell ehhez? Kép: http://www.abandonia.com/games/73/stunts.htm 3

Tartalom Modell és modellezés Mire használunk modelleket? Alapfogalmak 4

Modellezés alapfogalmai Modell és modellezés Mire használunk modelleket? Alapfogalmak 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 6

7

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? Haszna o kisebb (véges) o áttekinthetőbb 8 Mikor lehet és érdemes felhasználni?

Mi NEM a modell? A modell nem a valóság! A modell nem a diagram. o az csak egy nézet René Magritte: A képek árulása 9

Modell vs. valóság Maurits Cornelis Escher: Vízesés 10

Matematikai modell vs. valóság Minden modell: zárt világ o Hatások, faktorok o 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őre o Emberi döntés o Generált modellek Megoldás validációja Normál működés o Peremfeltételek: Van elég anyag Minden rendelés határidőre o Célfüggvény: Költségminimum Rendkívüli eset o Peremfeltétel Anyaghiány o Célfüggvény: 1. Minél több rendelés határidőre 2. Költségminimum 11

Matematikai modell vs. valóság Minden modell: zárt világ o Hatások, faktorok o 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őre o Emberi döntés o Generált modellek Megoldás validációja Normál működés o Peremfeltételek: Van elég anyag Minden rendelés határidőre o Célfüggvény: Költségminimum Rendkívüli eset o Peremfeltétel Anyaghiány o Célfüggvény: 1. Minél több rendelés határidőre 2. Költségminimum 12

Példa: biztonságkritikus SW Repülőgép fékezése: kerékfék + sugárfordító 13

1993 Varsó: Lufthansa 2904 (SW) védelem: Kerék a levegőben (mindkét főfutó terhelt) OR Kerék csúszik (egy kerék gyorsan forog) (gép a leszállópályán) (PILÓTA FÉKEZHET) 14

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

Páncélozás? Wald Abraham 17

Páncélozás? Wald Abraham 18

Tartalom Modell és modellezés Mire használunk modelleket? Alapfogalmak Illusztratív példák 19

Modellezés a gyakorlati életben? Pl.: [svéd cég] webes konyhatervezője 20

Modellezés a gyakorlati életben? Pl.: [svéd cég] webes konyhatervezője 21

Ez is modellezési nyelv! Verilog szakterület specifikus, hardver leíró 22

Ez is modellezési nyelv! Verilog szakterület specifikus, hardver leíró 23

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 24

A cél a kommunikáció Modellezési nyelvek o Modell megértése szükséges o Modellezési nyelvek Szintaxis: hogyan írom le a modellt? pl. SystemC o Matematikai struktúra : absztrakt szintaxis o 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ág o Tervezési konvenciók (csapatonként változhat) 25

A modell modellje 26

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, amelyeket mindenki ismer o Egyed-kapcsolat (ER) modell o UML objektum diagram osztálydiagram o Adatbázis tábla relációs adatbázisséma o XML dokumentum XML séma (vagy DTD) o 27

Alapfogalmak - Metamodellezés Modellezési nyelv: milyen típusú elemei vannak? Neptun-kód o és milyen kapcsolatban állhatnak ezek az elemek? o és ezeknek a típusoknak mik a viszonya egymáshoz? Diák Átlag hallgat Terem Kurzus Metamodell = egy modellezési nyelv modellje Illusztrációk, amelyeket mindenki ismer o Egyed-kapcsolat (ER) modell o UML objektum diagram osztálydiagram o Adatbázis tábla relációs adatbázisséma o XML dokumentum XML séma (vagy DTD) o Kód 28

Modell és modellezés Mire használunk modelleket? Alapfogalmak 29

Rendszertervezési folyamat Menedzsment Beszerzés, ellátás Tervezés, vezetés, értékelés ANSI/EIA 632 szabványból Rendszer tervezés Követelmények definiálása Megoldás definiálása Mérnöki feladatok Termék Elkészítése Implementáció Használhatóság Ezeket tipikus modellekkel támogatni Kiértékelés Rendszer analízis Követelmény validáció Rendszer verifikáció Végtermék validáció

Felhasználás Dokumentáció A modell egyszerűbb o könnyebben elmondható, mint a teljes valóság o fokozatosan finomítható (ld. később) Kommunikáció, szemléltetés o demonstráció (ld. később) o érthető szöveges nyelv o szemléletes diagram Gondolkodás, tervezés támogatása o hasonlóak a szempontok o kommunikáció magunkkal 31

Felhasználás Dokumentáció A modell egyszerűbb o könnyebben elmondható, mint a teljes valóság o fokozatosan finomítható (ld. később) Kommunikáció, szemléltetés o demonstráció (ld. később) o érthető szöveges nyelv o szemléletes diagram Gondolkodás, tervezés támogatása o hasonlóak a szempontok o kommunikáció magunkkal 32

Felhasználás - Analízis Emberi erővel vagy (részben) automatizáltan Módszer o Felületes, statikus elemzés o Dinamikus állapottér bejárással modellellenőrzés o Formális állítások bizonyításával Cél o Ellenőrzés, hibák keresése (best effort) o Szolgáltatásbiztonsági kritériumok igazolása (erősebb!) o Jellemzők számítása, tervezése (pl. ütemezés) 33

Felhasználás - Analízis Emberi erővel vagy (részben) automatizáltan Módszer o Felületes, statikus elemzés o Dinamikus állapottér bejárással modellellenőrzés o Formális állítások bizonyításával Cél o Ellenőrzés, hibák keresése (best effort) o Szolgáltatásbiztonsági kritériumok igazolása (erősebb!) o Jellemzők számítása, tervezése (pl. ütemezés) 34

Validáció Felhasználás: szimuláció o Jót építettem fel? Demonstráció o A kommunikáció eszközeként Kísérlet o Tulajdonságok elemzésére o Mérések o A valóságban költségesen kipróbálható o Elméleti úton előre meg nem határozható 35

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ása o másik modell finomítás, következő tervezési fázis részaspektus modellek integrációja Lehet tulajdonságmegőrző Pl: abszolútérték [n>=0] -/n n/- [n<0] -/n*(-1) int n; scanf("%d",&n); if (n>=0) { printf("%d",n); } else { n=n*(-1); printf( %n",a); } 36

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ása o másik modell finomítás, következő tervezési fázis részaspektus modellek integrációja Lehet tulajdonságmegőrző 37

Webalkalmazás fejlesztése 38

Okostelefon alkalmazás fejlesztése 39

Reverse engineering Modell visszafejtése a rendszer alapján 40

Vasúti szoftverek fejlesztése Megoldandó probléma: SIL-4 vasúti alkalmazás fejlesztési lépéseinek és ezek Üzemeltetés, eredményeinek ellenőrzése karbantartás Kihívások: Követelmények elemzése Rsz. validáció tervezés Rendszer validáció Szisztematikus felülvizsgálat Modellezés és formális verifikáció Rendszer specifikálás Architektúra tervezés Modul tervezés Rendszerteszt tervezés Integrációs teszt tervezés Modul teszt tervezés Rendszer verifikáció Rendszer integrálás Modul verifikáció Modul implementáció Folyamat modell minőségbiztosítás 41

Vasúti szoftverek fejlesztése Megoldandó probléma: SIL-4 vasúti alkalmazás fejlesztési lépéseinek és ezek Üzemeltetés, eredményeinek ellenőrzése karbantartás Kihívások: Követelmények elemzése Rsz. validáció tervezés Rendszer validáció Szisztematikus felülvizsgálat Modellezés és formális verifikáció Rendszer specifikálás Architektúra tervezés Modul tervezés Rendszerteszt tervezés Integrációs teszt tervezés Modul teszt tervezés Rendszer verifikáció Rendszer integrálás Modul verifikáció Modul implementáció Folyamat modell minőségbiztosítás 42

Yakindu:állapotdiagram 43

Yakindu:állapotdiagram 44

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 45

Modell és modellezés Mire használunk modelleket? Alapfogalmak

Alapfogalmak rendszer és külvilág Nem modellezzük Külvilág Rendszer Kölcsönhatás Fekete doboz Fehér doboz Interfész Specifikáció az több? 47

Alapfogalmak rendszer és külvilág Komponens Külvilág Komponens Kölcsönhatás Komponens 48

Alapfogalmak Finomítás/Absztrakció Finomítás: a modell gazdagítása részletekkel hogy az eredeti modell absztrakció maradjon Inverze: (vertikális) absztrakció Az előbbi dián egy hierarchikus finomítás volt o 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 49

Alapfogalmak finomítás 50

Alapfogalmak- finomítás 51

Halmazfinomítás Diszjunkt részhalmazok hozzárendelése elemekhez Jó a 2 3Rossz Gyors Biztonságos Szép Lassú Hibás Hiányos 52

Halmazfinomítás Diszjunkt részhalmazok hozzárendelése elemekhez a 1 a 2 B 1 a 3 B 3 B 2 a i, A, R(a i ) B úgy, hogy R(a i ) R(a j )= i, j 53

Modellezés a tárgyban 54

Modellezés a tárgyban 55