Biztonság-vezérelt automatikus architektúra szintézis Balogh András abalogh@mit.bme.hu
Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 2
Célkitűzés Fejlesztőeszköz készítése modell-alapú folyamathoz Meglevő eszközök felhasználásával Fejlesztési kultúra nem veszik el Az egyes eszközök integrációjával Teljes fejlesztési folyamat fedése Nyílt, bővíthető architektúrával Adaptálható, továbbfejleszthető Értékek a felhasználónak Újrafelhasználhatóság Növekvő produktivitás Létező 3
Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 4
PIM modellezés - Cél Szoftver architektúra megadása Funkcionális Nem-funkcionális jellemzők Grafikus modellező környezet UML nem hatékony Domain-specifikus nyelvek 5
Alkalmazásmodellezés PIM készítés Funkcionális Nem-funkcionális megbízhatósági teljesítmény követelmények 6
PIM fejlesztési folyamat 7
PIM szerkesztése grafikusan Modell elemek, diagrammok Diagramm editor eszköztárral 8
PIM példa 9
Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 10
Alkalmazás-modellezés Az egyes szoftver komponensek működését írja le Többféle módszer támogatása Matlab/Simulink SCADE UML állapottérképek Meglévő forrás/bináris kód beszúrása Egyéb modellező és kódgeneráló eszközök integrálása Modell integráció Modell könyvtárak Marked PIM XML RationalRose (UML editor) UML modellek XMI UML-SCADE GW SCADE (modellezés) SCADE modell.vsw Matlab / Simulink Simulink modellek.m Simulink-SCADE GW 11
SCADE modellezés 1 job 1 SCADE csomópont PIM UML Gateway Interfész adaptáció SCADE Simulink Gateway 12
PIM példa UML SCADE Simulink C/C++ 13
Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 14
Platform architektúra Partíciók Terepbuszok (pl. CAN) Szenzorok/beavatkozók DECOS Hálózat Biztonságkritikus job... Nem biztonságkritikus job Nem biztonságkritikus job Virtuális átjárók Kommunikációs Layered TTP - LTTP vezérlő (L-Flexray)... HFTL * átjárók... HW Csomagolás Fault-Tolerance I/O Fizikai összehasonlítás Layer - HFTL OS támogató réteg OS támogató réteg OS tám. Core Operating System (COS) OS tám. Védett osztott memória Alap operációs rendszer (COS) FPGA kártya (Xilinx Virtex4) Végrehajtó környezet EEE támogató réteg: oftl + SIL Partíciónként: - memória védelem (optimalizált hibatűrő réteg + Rendszer interfész réteg) - végrehajtási időszelet időbeli és térbeli elválasztás * Hardver FTL 15
Hardver platform 32 bites mikrokontroller Infineon TriCore CAN, TT-CAN Hardver hibatűrő interfész Kommunikációs szolgáltatások TT kontroller vezérlés Szavazás Kommunikációs vezérlő TTP/C FlexRay 16
Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 17
Hardver modellezés Elemei Csomópontok Processzor típus Memória (kód, adat) Perifériák (szenzor/beavatkozó) Kommunikációs interfészek Hálózatok TT alap hálózat Terepbuszok 18
Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 19
Feladat Szoftver komponensek replikálása és elosztása hardver csomópontokon Főbb lépések 1. Replikálás (job példányok) 2. Adattípus-leképzés (pl. sebesség -> valós) 3. Job és üzenet típus megadása (pl. CAN, LIN) 4. Alkalmazásközi kommunikációs struktúra 5. Logikai-fizikai szenzor/beavatkozó leképezés (pl. motorvezérlő - PWM) 6. Job kompatibilitás megadása 7. Automatikus job hardver csomópont allokáció 8. Üzenet és job ütemezés 20
PIM metamodel UML PIM metamodel UML Job kód Inform. XML Hardver-szoftver integráció folyamata PIM PIM XML PIM XML XML Replikálás Allokáció CRD XML PIM-PSM típus leképzés Job típus def. Üzenet protokol def. Átjáró def. Diagnosztika def. VIATRA (PIM-PSM leképzés) PSM XML HSM UML Jelölt PIM XML Iteratív, interaktív megközelítés A mechanikus lépések automatikusak A döntés a tervező kezében Lehetőség van a modellek kiegészítésére Nem-formális kényszerek is figyelembe vehetőek (pl. fizikai elhelyezkedés, költség, meglevő komponensek újrafelhasználása) Visszajelzés a tervezés minőségéről (pl. költség számítás) Tervezési adatbázis is illeszthető (felhasználható komponensek paramétereinek átvétele) 21
PIM metamodel UML PIM metamodel UML Job kód Inform. XML Hardver-szoftver integráció folyamata PIM PIM XML PIM XML XML Replikálás Allokáció CRD XML PIM-PSM típus leképzés Job típus def. Üzenet protokol def. Átjáró def. Diagnosztika def. VIATRA (PIM-PSM leképzés) Platform modell Job és erőforrás replikáció HSM UML Jelölt PIM XML Alkalmazás modellek Adattípus-leképzés Logikai->platform Job típus leképzés, külső job-ok allokációja Üzenet protokoll definíció Alkalmazások közötti kommunikáció konfigurálása Diagnosztikai alrendszer konfigurálása PSM XML Job kód információ pontos WCET (mért) memóriaigény Job-csomópont allokáció 22
Folyamatos modell ellenőrzés Minden lépés után ellenőrzés Szintaktikai és szemantikai Funkcionális és nemfunkcionális jellemzőkre Erőforrás-korlátok Időbeliség megbízhatóság Az ellenőrző eszközök kiegészíthetőek Új aspektusok Új ellenőrzések 23
Integráció eredménye 24
PIM-PSM szerkesztő 25
Integráció emelt fokon: Automatikus allokáció + ütemezés Szoftver komponensek elhelyezése hardver node-okon Funkcionális és nem-funkcionális kényszerek Ütemezés kommunikáció job Tervezési tér felderítése Optimalizálás Mindezt egy lépésben! 26
Kiterjeszthetőség Nem-funkcionális tulajdonságok és kényszerek Csomópontok száma (költség) Átvitel/teljes rendszer késleltetés (reakcióidő) Kiterjeszthetőség max. CPU idő tartalék (új nagy feladat) egyenletes CPU idő tartalék (új elosztott alkalmazás) Robosztusság adott hibaszám esetén minél kevesebb funkció essen ki Új szempontokkal bővíthető ELLENTMONDÓ SZEMPONTOK A tervező dönt 27
Tervezési tér feltérképezése robustness Max free capacity Throughput No. of nodes Avg. Node utilization A tervezési tér képét radar diagramm szemlélteti Határesetek vizsgálata Az optimális megoldás Egy-egy célfüggvény szerint Az egyes tervek megjeleníthetőek Vizuális összehasonlítás lehetősége Tervek értékelése 28
Skálázhatóság A keresési tér levágása Heurisztikus keresés (Shariful, Suri, et al.) Az eredmény, mint kiindulási alap felhasználása Ennél rosszabb megoldásokat nem keresünk Nagy mennyiségű kényszer Segít Erőteljes megoldó motor ILog CPLEX Heurisztikus megoldás 29
Eszköz támogatás Meglevő eszközökkel való integráció GUI (Eclipse) A felhasználó választja ki A felhasználandó kritériumokat (bővíthető) súlyozott A minimumkövetelményeket Meglévő tervek kiértékelésére is használható Akár a keretrendszertől függetlenül is 30
Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 31
Implementáció (tanúsított kódgenerálás) Job kód (viselkedés) Burkoló kód (interfész) 32
Implementáció (konfiguráció és kódgenerálás) ütemezés terítés 33
Az integrált eszközkészlet 34
Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció 35
Összefoglalás Domain-specifikus modellezőeszközök PIM, platform Modell létrehozás, szerkesztés, validálás Hardver-szoftver integrációs folyamat Interaktív, a felhasználó felügyeli Újrafelhasználható, testre szabható Architektúra-optimalizálás Több aspektusú A meglevő tudás/tervek újrafelhasználása A tervezés termelékenysége ÉS minősége javítható 36
PIM Szerkesztő DECOS PIM Domain Specifikus szerkesztő Modell elemek listája Projekt PIM modellel Tulajdonságok nézet 37
Alkalmazásfejlesztés A job-ok működésének specifikálása Szintén modell-alapú Matlab/Simulink SCADE UML állapot-térképek Interfész információ a PIM-ből 38
Bemenő modell Alkalmazás (funkciók) Jobok WCET Periódus Replikáció foka Üzenetek Átviteli idő periódus Platform Rendelkezésre álló csomópontok Hálózat paraméterei Manuális elő-allokáció illetve kompatibilitás megadása 39
Platform architektúra 40
Virtuális hálózatok 41
Hardver-szoftver integráció Iteratív, interaktív megközelítés Több lépés A tervező irányítja az integrációt A mechanikus lépések automatikusak Lehetőség van a modellek kiegészítésére Nem-formális kényszerek is figyelembe vehetőek 42
Eredmény Szofver-hardver allokációs térkép Ütemezés a kommunikációs hálózathoz (konfigurációs fájl) Ütemezés az egyes node-okhoz (OS konfiguráció) Vizualizálva 43
Kiterjeszthetőség Nem-funkcionális tulajdonságok és kényszerek Hardver költség Robosztusság Ha a redundancia foka n, hány funkció esik ki n hiba esetén? Kiterjeszthetőség Maximum CPU idő tartalék Egyenletes CPU idő tartalék Átvitel A végrehajtási utak mentén számított teljes késleltetés alapján 44
Valós protokollok támogatása A legtöbb protokoll/vezérlő speciális kényszereket ír elő Példa (Flexray): cycletime<=16ms Új változók (konfigurációs paraméterek) jelennek meg A kényszereket újabb MILP egyenlőtlenségekké lehet alakítani Ezeket protokoll specifikus csomagok -ká lehet szervezni Különböző protokollok/verziók támogatása 45