Informatikai rendszertervezés

Hasonló dokumentumok
Informatikai rendszertervezés

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

Nagy bonyolultságú rendszerek fejlesztőeszközei

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

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

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

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

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

Modellek fejlesztése

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

Modellek fejlesztése

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

Modellezési alapismeretek

ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZÖK FEJLESZTÉSE - PEMS V&V

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V. Nagy Katinka

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

Modellezési alapismeretek

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

Modell alapú tesztelés mobil környezetben

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

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

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

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

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

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

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

Digitális technika VIMIAA01 9. hét

Gyakorlat és házi feladat tájékoztató

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

Rendszertervezés ágazat

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

A cloud szolgáltatási modell a közigazgatásban

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

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

Szoftver karbantartás

Digitális eszközök típusai

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

Rendszermodellezés: házi feladat bemutatás

Informatikai rendszertervezés (VIMIAC01) VIZSGA MINTA Név: NEPTUN:

UML (Unified Modelling Language)

Szoftverminőségbiztosítás

Modellek ellenőrzése és tesztelése

Biztonsági folyamatirányító. rendszerek szoftvere

01. gyakorlat - Projektalapítás

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

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Szoftverminőségbiztosítás

Modellezési alapismeretek

S01-7 Komponens alapú szoftverfejlesztés 1

Szoftverminőségbiztosítás

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

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

Biztonságkritikus rendszerek Gyakorlat: Architektúrák

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

Részletes szoftver tervek ellenőrzése

MÉRŐ AUTOMATA RENDSZEREK

Mikrorendszerek tervezése

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

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

Folyamatmodellezés (BPMN) és alkalmazásai

Formális módszerek GM_IN003_1 Bevezetés

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

Tesztelési szintek Tesztautomatizálás

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

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

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

A szoftverfejlesztés eszközei

A TANTÁRGY ADATLAPJA

Projectvezetők képességei

Rendszer-modellezés, modellezési technikák

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

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

Részletes tervek ellenőrzése

Laborinformációs menedzsment rendszerek. validálása. Molnár Piroska Rikker Tamás (Dr. Vékes Erika NAH)

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

A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS

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

Verziókövető rendszerek használata a szoftverfejlesztésben

MEMS eszközök redukált rendű modellezése a Smart Systems Integration mesterképzésben Dr. Ender Ferenc

Információtartalom vázlata

Autóipari beágyazott rendszerek. Funkcionális biztonságossági koncepció

Felhők teljesítményelemzése felhő alapokon

Autóipari vezérlőegységek aktív környezetállósági tesztelésének módszerei

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

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

Gyakorlat és házi feladat tájékoztató

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

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

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

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

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

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Digitális technika (VIMIAA02) Laboratórium 1

Takács Árpád K+F irányok

Programozási technológia II 7. előadás. Verifikáció és validáció Giachetta Roberto

Mesterséges intelligencia alapú regressziós tesztelés

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

Szoftver architektúra tervek ellenőrzése

Digitális technika (VIMIAA02) Laboratórium 1

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

Átírás:

Informatikai rendszertervezés Dr. Varró Dániel 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

A tárgy kontextusa Előzmények Rendszermodellezés Rendszertervezés BSc specializáció Informatikai Rendszertervezés Ipari informatika MSc szakirány Modell alapú rendszertervezés Szoftver- és rendszerellenőrzés Kiber-fizikai rendszerek 2

Előadók o Dr. Horváth Ákos o Dr. Bergmann Gábor o Vörös András o Dr. Micskei Zoltán A tárgy oktatói Gyakorlat / házi feladat felelősök o Debreceni Csaba o Molnár Vince 3

Házi feladat: Tárgykövetelmények o Rendszertervezési feladat 3 fős csapatoknak o 30% o További pluszpontok szerezhetők o Formátum 6 részfeladat, két blokkban, két határidőre Előhatáridő a leadott feladatokra előzetes visszajelzés Kötelező részvétel gyakorlatokon Írásbeli vizsga 4

Határidők, fontosabb dátumok HF csapatalakítás: most, első héten! Beadási határidők, 1. blokk o HF1 előhatáridő: 3. hét, 09.24. vasárnap o HF2 előhatáridő: 5. hét, 10.08. vasárnap o HF1+2+3 határidő: 7. hét, 10.22. vasárnap Beadási határidők, 2. blokk o HF4 előhatáridő: 10. hét, 11.12. vasárnap o HF5 előhatáridő: 12.hét, 11.26. vasárnap o HF4+5+6 határidő: 14. hét, 12.10. vasárnap Pótlás: pótlási hét péntek (12.15.) 5

MOTIVÁCIÓ 6

Egy mai modern autóban Drive-by-wire: Nincs mechanikus kapcsolat Kormánykerék kormányzott kerék Fékpedál fékbetétek Gázpedál motor Van viszont helyette 50-100 vezérlőegység (ECU) 5-7 busz 100 millió sornyi forráskód 17 millió autó/év (EUR) Kép forrás: aa1car.com 7

és a jövő autójában Kép forrás: GSMA 2013 Kiber-fizikai rendszerek 8

Változó fizikai környezet és a jövő autójában Hálózatba kapcsolt Dinamikus nyílt rendszer Biztonságos működés? Monitor (Felügyelet) Execute (Végrehajtás) Analyze (Felismerés) Plan (Döntés) 9

MODELLEK A RENDSZERTERVEZÉSBEN 10

Különböző absztrakciós szinteken Rendszer Architektúra Komponens 11

Különböző tervezési fázisokban Követeleményanalízis Telepítés, karbantartás Tervezés Ellenőrzés Implementáció 12

Többféle nézőpontból Rendelkezésre állás Biztonságosság (Safety) Adatbiztonság (Security) Megbízhatóság Ütemezés Teljesítmény Rendszermodell Válaszidő 13

Többféle célból Statikus modellezés Dinamikus modellezés Tervezési folyamat Tervezésitérbejárás, Optimalizáció Architektúratervezés Platformmodellezés Allokáció, Telepítés Tesztelés, V&V Szimuláció Kódgenerálás Dokumentációgenerálás Fizikai és mérnöki modellek 14

A RENDSZERTERVEZÉSI FOLYAMATA 15

V-modell: Kritikus rendszerek Követelmények Rendszer validáció Funkcionális specifikáció Rendszerverifikáció Architektúra terv Integrációs tesztelés Komponens terv Komponens verifikáció Jellegzetességek: Top-down Sok résztvevő/aspektus Tanúsítványozás Implementáció 16

A rendszertervezés feladata Követelmények Funkcionális specifikáció Architektúra terv Követelmények Funkciók Architektúra Integrációs tesztelés Rendszer validáció Rendszerverifikáció Komponens (SW/HW) Komponens terv Komponens verifikáció Implementáció 17 Rendszertervezés kimenet: Komponens specifikációk (beszállítók számára) Teljes architektúra terv

Rendszertervezés vs. -verifikáció Követelmények Rendszer validáció Funkcionális specifikáció Rendszerverifikáció Architektúra terv Integrációs tesztelés Komponens terv Komponens verifikáció Implementáció Rendszertervezés 18 Verifikáció és validáció (V&V)

Tervezőeszköz vs. verifikációs eszköz Követelmények Rendszer validáció Funkcionális specifikáció Rendszerverifikáció Architektúra terv Integrációs tesztelés Komponens terv Tervezőeszköz input output determinisztikus új hibát ad a rendszerbe Rendszertervezés Implementáció 19 Komponens verifikáció Verifikációs eszköz input ok/hiba nem talál meg egy rendszerben lévő hibát Verifikáció és validáció (V&V)

Nyomonkövethetőség Platform-alapú rendszertervezés Verifikáció és validáció Követelmények HW könyvtár Funkcionális modell HW/SW allokáció Platformmodell Hibatűrési technikák Komponens viselk. modell Forráskód kódgenerálás Architektúra modell Fordító, Linker Konfiguráció modell kódgenerálás Konfig. fájl Bináris kód 20

Követelmények Jellegzetességek: Magasszintű (vevő) vs alacsonyszintű (szoftver) Nyomonkövethetőség Követelmény Forráskód Példa A vezető kézzel kikapcsolhatja a tempomatot A tempomat nem aktiválható, ha fékpedál le van nyomva 21 REMO: o Követelmények modellezése o Funkcionális / nemfunkcionális o Finomítás / Konfliktus RETE (UML / SysML): o Requirements diagram o Use case diagram Kép forrás: A.V. Varadarajan et al: Development and Validation of Functional Model of a Cruise Control System. Proc. FESCA 2016, pp. 45-58

Nyomonkövethetőség Platform-alapú rendszertervezés Verifikáció és validáció Követelmények HW könyvtár Funkcionális modell HW/SW allokáció Platformmodell Hibatűrési technikák Komponens viselk. modell Forráskód kódgenerálás Architektúra modell Fordító, Linker Konfiguráció modell kódgenerálás Konfig. fájl Bináris kód 22

Funkcionális specifikáció Electronic Braking Adaptive Cruise Control Kép forrás: aa1car.com 23

Példa: Funkcionális specifikáció Tempomat bemenete: o Aktuális sebesség o Elvárt sebesség o Fékpedál állapota o Vezetői parancsa o Energia Tempomat kimenete: o Vezérlőjel o Tempomat ki/be REMO: o Funkcionális dekompozíció o Strukturális modellek (pl. példány- és típusgráf) RETE (SysML/UML): o Osztály diagram o Komponens diagram o (Internal) Block diagram 24 Kép forrás: A.V. Varadarajan et al: Development and Validation of Functional Model of a Cruise Control System. Proc. FESCA 2016, pp. 45-58

Nyomonkövethetőség Platform-alapú rendszertervezés Verifikáció és validáció Követelmények HW könyvtár Funkcionális modell HW/SW allokáció Platformmodell Hibatűrési technikák Komponens viselk. modell Forráskód kódgenerálás Architektúra modell Fordító, Linker Konfiguráció modell kódgenerálás Konfig. fájl Bináris kód 25

Komponens terv Kérdések: Komponens belső viselkedése? Időzítések? Üzenetküldés http://www.ni.com/white-paper/6163/en/ 26

Példa: Komponens belső viselkedés CC_Engaged állapotban Driver_CC_ON üzenet hatására Actuator Signal_On akció CC_On állapotba lépés 27 REMO: Állapotgép (Statechart) Folyamatmodell (Activity) RETE (UML/SysML) Statechart, Activity diagram Sequence diagram

Nyomonkövethetőség Platform-alapú rendszertervezés Verifikáció és validáció Követelmények HW könyvtár Funkcionális modell HW/SW allokáció Platformmodell Hibatűrési technikák Komponens viselk. modell Forráskód kódgenerálás Architektúra modell Fordító, Linker Konfiguráció modell kódgenerálás Konfig. fájl Bináris kód 28

Biztonságra tervezés / Hibatűrés Kérdések: Mi történik hiba esetén? Hány példányban fut egy funkció? Meddig terjedhet egy hiba? Tempomat-kimenet monitorozása Összehasonlítás tárolt adatokkal Jelentős eltérés esetén hibajelzés Hibajelzés esetén deaktiválás 29 REMO: csak példákban RETE: o Biztonság alapfogalmai o Hibatűrési technikák o Kockázatanalízis

Nyomonkövethetőség Platform-alapú rendszertervezés Verifikáció és validáció Követelmények HW könyvtár Funkcionális modell HW/SW allokáció Platformmodell Hibatűrési technikák Komponens viselk. modell Forráskód kódgenerálás Architektúra modell Fordító, Linker Konfiguráció modell kódgenerálás Konfig. fájl Bináris kód 30

Platform modellezés Példa Mikrovezérlő Kapcsolat szabványos interfészekkel (CAN, LIN) Watchdog processzor folyamatos ellenőrzésre DIGIT (REMO: Néhány példa) RETE: o Internal block diagram o Hibatűrési technikák 31

Nyomonkövethetőség Platform-alapú rendszertervezés Verifikáció és validáció Követelmények HW könyvtár Funkcionális modell HW/SW allokáció Platformmodell Hibatűrési technikák Komponens viselk. modell Forráskód kódgenerálás Architektúra modell Fordító, Linker Konfiguráció modell kódgenerálás Konfig. fájl Bináris kód 32

Architektúra terv (aka. Rendszermodell) Kérdések: A funkciók példányai Hol / mikor futnak? Mikor kommunikálnak? Melyik buszon? Mivel áll kapcsolatban? Kép forrás: aa1car.com 33 audi-technology-portal.de

Példa: Architektúra terv (Rendszermodell) Funkcionális modell HW/SW allokáció Platform-modell REMO o Nemfunkcionális követelmények o Teljesítménymodellezés RETE o Nemfunkcionális követelmények analízise Ütemezés Rendelkezésre állás o Allokáció és telepítés 34

Nyomonkövethetőség Platform-alapú rendszertervezés Verifikáció és validáció Architektúra tervezés (HW/SW allokáció): Meet-in-the-middle Követelmények HW könyvtár Funkcionális modell HW/SW allokáció Platformmodell Hibatűrési technikák Komponens viselk. modell Forráskód kódgenerálás Funkcionális tervezés:top-down Funkcionális dekompozíció Követelmények nyomonkövethetősége Architektúra modell Fordító, Linker Bináris kód 35 Konfiguráció modell kódgenerálás Konfig. fájl Platform tervezés: Bottom-up Bevett HW+SW megoldások Tömegtermelés (minél olcsóbb hardver)

VERIFIKÁCIÓ ÉS VALIDÁCIÓ A RENDSZERTERVEZÉSBEN 36

Motiváció Követelmények Hibás terv Probléma felfedezése Rendszer validáció Funkcionális specifikáció Architektúra terv sok mérnökhónapnyi fejlesztés és tesztelés fölöslegesen legyártott hardver Integrációs tesztelés Rendszerverifikáció Komponens terv Komponens verifikáció Implementáció Rendszertervezés 37 Verifikáció és validáció (V&V)

REMO V&V technikák a képzésben o Szimuláció Követelmények (folyamat) o Tesztelés (orákulum / fedettség / öntesztelés) o Modellellenőrzés Funkcionális alapok specifikáció o Követelmény alapú tesztelés o Modell alapú Architektúra tesztelés terv RETE Ipari Informatika o HIL / SIL o Szimuláció Szoftver- és Komponens terv rendszerellenőrzés (MSc) o Számos további módszer Implementáció Integrációs tesztelés Komponens verifikáció Rendszer validáció Rendszerverifikáció 38 Verifikáció és validáció (V&V)

Szimuláció/tesztelés alapú verifikáció és validáció Fókusz Hol fut? Időzítés: Komponens Szerver Valós Vezérlőrendszer Teszt hardver Valós idő Teljes rendszer (környezettel) Valós hardver Szimulált idő 39

Környezeti modell (fizikai) Fizikai változó Logikai jel Komponens verifikáció Vezérelt rendszer Software-in-the-loop Rendszer o Szimulált (nem valósidejű) o Integrálandó komponens Modell / Lefordított kód o Más komponens szimulált Modell / Telepített szoftver Fizikai környezet o Szimulált (nem valósidejű) Ellenőrzés: o Jellegzetes futási utak (szcenáriók) vizsgálata o Modell alapú tesztelés 40

Környezeti modell (fizikai) Fizikai változó elektromos jel Fizikai változó Logikai jel Vezérelt rendszer Integrációs tesztelés I/O tesztkörnyezet Hardver/fizikai kapcsolat Hardware-in-the-loop Rendszer: o Valós idejű szimuláció o Integrálandó komponens: valós hardverre telepített o Egyéb komponens: szimulált (modell) / fordított szoftver Fizikai környezet: Valós idejű, szimulált o Környezeti modellből számított o Korábbi mérési adatok (benchmark) Ellenőrzés: o Hardveres integráció helyessége 41

Rendszerverifikáció Környezeti modell (fizikai) Fizikai változó elektromos jel I/O tesztkörnyezet Hardver/fizikai kapcsolat Component-in-the-loop Rendszer: Integrált Valós hardverre telepített komponensek Elektromos integráció (vezérlőjelek, tápellátás) Valós működés Fizikai környezet: o Valós idejű, szimulált Ellenőrzés: o Korábbi mérési adatok (benchmark) o Virtuális törésteszt, stb. 42

Rendszervalidáció Rendszer: o Valós hardverre telepített komponensek o Teljeskörű integráció (mechanika, stb.) Fizikai környezet: valós o Közút o Tesztpálya Ellenőrzés: o Tesztvezetés: Pl. hirtelen fékező autó o Törésteszt o Valós mérési adatok 43

Modellek felhasználási célja Rendszerkövetelmények Tervezés kódgenerálás Tervezési modellek tesztgenerálás Verifikációs modellek Verifikáció Forráskód Telepítési leírók Teszteset Hibafa Dokumentáció Szimulátor Miért nem közös modellből generálunk? Biztosítani kell a tervezés és ellenőrzés függetlenségét! 44

Modellek felhasználási célja Rendszerkövetelmények Tervezés kódgenerálás Tervezési modellek tesztgenerálás Verifikációs modellek Verifikáció Forráskód Telepítési leírók Teszteset Hibafa Dokumentáció Szimulátor Példák tervezési modellekre Állapotgépek (hierarchikus) Aktivitás diagramok Osztály diagram, Komponens diagram Telepítési modellek Példák verifikációs modellekre Állapotgépek (gyakran lapos) Szekvencia diagramok Petri hálók, Adatfolyam hálók Sorbanállási + ütemezési modellek 45

KITEKINTÉS 46

A modell alapú tervezés előnyei Jellegzetességek: o Tervezés: 30-40%-kal több idő/költség o Ellenőrzés: Átlagosan 40%-kal kevesebb o Kódgenerálás: >90% a részvevők 40%-nál! 40-50%-os megtakarítás o 3 éves megtérülés Miért? o Tervezési hibák 60%-a korai fázisban felderíthető o Virtuális prototípusok Felmérés: autóipari szereplők 180 ember (14 országból) menedzserek, fejlesztők, R&D 47 M. Broy et. al: What is the benefit of a model-based design of embedded software systems in the car industry? In: Emerging Technologies for the Evolution and Maintenance of Software Models. IGI Global, 2010.

Informatikai rendszertervezés (áttekintés) Követelmények rögzítése Használati esetek Funkcionális dekompozíció Komponens + Interfészek Állapotgépek Adatfolyam Jellegzetes futási utak (szekvencia) Biztonság (safety) alapok Hibatűrő rendszerarchitektúrák Követelmény analízis Komponens tervezés Viselkedés modellezés Biztonságra tervezés Platform modellezés Nemfunkcionális analízis Allokáció Architektúra tervezés Specifikáció alapú, modell alapú tesztelés Tesztfedettség Szimuláció Verifikáció és validáció Modelltranszformáció Kódgenerálás Automatizálási módszerek 49

Nyomonkövethetőség Összegzés: Informatikai rendszertervezés Verifikáció és validáció Követelmények Funkcionális modell HW/SW allokáció Platformmodell Hibatűrési technikák Komponens viselk. modell Architektúra modell Konfiguráció modell Forráskód Konfig. fájl 50