Autóipari beágyazott rendszerek és rendszer integráció 1
Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása Kimenet: VFB modell 2
Magas szintű fejlesztési folyamat SW architektúra modellezés Részletes tervezés belső viselkedés Modell (VFB) Részletes komponens tervezés belső viselkedés belső funkció lebontás implementáció meghatározása Nem-AutoSAR viselkedési modell (Simulink, UML, ) Kimenet: AutoSAR belső viselkedési modell + viselkedés leírás 3
Magas szintű fejlesztési folyamat SW architektúra modellezés Részletes tervezés belső viselkedés Modell (VFB) ECU HW modell Hardver modellezés Magas szintű HW modellezés ECU erőforrások CPU perifériák kommunikációs vezérlők topológia hálózatok kapcsolatok ECU példányok megtervezése Kimenet: ECU HW modell, rendszer topológia modell 4
Magas szintű fejlesztési folyamat SW architektúra modellezés Részletes tervezés belső viselkedés Modell (VFB) HW/SW integráció komponens allokáció kommunikáció összerendelés konfigurálás ütemezés Rendszermodell ECU HW modell Magas szintű HW modellezés Hardver-szoftver integráció összerendelés komponensek - ECUk adatelemek - jelek komponensek - implementációk konfigurálás jel PDU PDU - keret hálózati paraméterek ütemezés idővezérelt hálózatok ütemezése Kimenet: rendszer modell 5
Magas szintű fejlesztési folyamat SW architektúra modellezés Részletes tervezés belső viselkedés Modell (VFB) HW/SW integráció komponens allokáció kommunikáció összerendelés konfigurálás ütemezés ECU HW modell Magas szintű HW modellezés fejlesztés Impl. fájlok Rendszermodell fejlesztés a komponens implementálása C/C++ Simulink/TargetLink SCADE Kimenet: implementáció (*.c, *.h) 6
Magas szintű fejlesztési folyamat SW architektúra modellezés Részletes tervezés belső viselkedés Modell (VFB) ECU konfigurálás fejlesztés BSW modulok konfigurációjának elkészítése Impl. a rendszermodell alapján fájlok minden ECU-ra külön-külön HW/SW integráció komponens allokáció kommunikáció összerendelés konfigurálás ütemezés Rendszermodell ECU HW modell ECU konfigurálás Magas szintű HW modellezés Konfiguráció modell Kimenet: ECU konfigurációs modell 7
Magas szintű fejlesztési folyamat SW architektúra modellezés Részletes tervezés belső viselkedés Modell (VFB) HW/SW integráció komponens allokáció kommunikáció összerendelés konfigurálás ütemezés ECU konfiguráció generálás fejlesztés Rendszermodell BSW modulok konfigurációjának generálása a konfigurációs modell alapján Impl. fájlok Kimenet: ECU konfigurációs fájlok, generált implementációk (*.c, *.h) ECU HW modell ECU konfigurálás BSW konfigurációs fájlok Magas szintű HW modellezés Konfiguráció modell Kódgenerálás 8
Magas szintű fejlesztési folyamat SW architektúra modellezés Részletes tervezés Modell (VFB) ECU HW modell HW/SW integráció A szoftver lefordítása komponens allokáció a cél kontrollerre belső a komponens kommunikáció implementációk, viselkedés összerendelés a BSW modulok, konfigurálás és a generált konfiguráció ütemezés felhasználásával fejlesztés Kimenet: bináris fájl, Rendszer- ami letölthető a cél ECU-ra modell konfigurálás Impl. fájlok Fordítás Fordítás Szerkesztés Bináris BSW konfigurációs fájlok Magas szintű HW modellezés Konfiguráció modell Kódgenerálás 9
AutoSAR és UML modellezés Az AutoSAR modell Alkalmazási terület specifikus Precíz szintaktikájú Szintetizálható elemeket tartalmaz Közvetlen modell -> kód transzformáció Modell -> modell transzformáció Különböző absztrakciós szintek VFB-től a modul konfigurációig Eredmény A modellek elsődleges implementációs és tervezési elemek Precíz, teljes modellekre van szükség Nem bízhatunk a felhasználó intelligenciájában (gép) 10
ből futó rendszer Néhány runnable (C függvény) RTE API Néhány függvény BSW Modulok Alkalmazás specifikus konfigurációval Hogyan integráljuk? 11
A VFB-től az ECU-ig A VFB absztrakt komponens összeköttetést kínál Nincs szó taszkokról, ECU-król, kommunikációról A komponensek nem tudnak a fizikai elhelyezkedésről A szoftver architektúra csak eket Egy vagy több belső viselkedéssel Egy vagy több implementációval Kompozíciókat És kapcsolatokat tartalmaz 12
A VFB-től az ECU-ig A futtató platform (BSW) Taszkokat Partíciókat Memória és futásidő védelmi egységek Kommunikációt Jelek, PDUk, keretek, BSW modulokat ismer Nem tud a komponensekről, kapcsolatokról Ezeket le kell fordítani alacsony szintű elemekre 13
A VFB-től az ECU-ig Operációs rendszer konfiguráció A runnable-ket taszkokhoz kell rendelni Hogy optimalizáljuk a teljesítményt A kontextus váltások csökkentésére A konkurencia problémák mérséklésére Az aktivitások priorizálására Az ütemezés beállításához Prioritás alapú Statikus, ütemező tábla Az AutoSAR Os az OSEK Os specifikáción alapul Autóipari valós idejű operációs rendszer 14
A VFB-től az ECU-ig Os taszk Alapvető (basic) taszk Véges futási ideje van Nincs várakozó állapot Nincs várakozási pont! Magasabb prioritású feladatok megszakíthatják Kiterjesztett (extended) taszk Akár végtelen futású is lehet Tartalmaz várakozást Blokkoló hívásokat is hívhatunk benne 15
Runnable taszk hozzárendelés 1-es kategóriájú runnable Nincs blokkoló hívás benne Alapvető taszkokhoz rendeljük N:1 hozzárendelés Ha az aktiválási periódus különbözik Az integrációs kód lekezeli RTE int. kód CAT 1 RTE int. kód CAT 1 RTE int. kód Basic task 16
Runnable taszk hozzárendelés 1-es kategóriájú runnable Kiterjesztett taszkhoz is rendelhető Általában eseményvezérelt runnable-eket Esemény kiértékelés RTE int. kód RTE int. kód CAT 1 CAT 1 RTE int. kód Extended task RTE int. kód 17
Runnable taszk hozzárendelés 2-es kategóriájú runnable Kiterjesztett taszkhoz rendelhető Nem garantált a terminálás 1:1 hozzárendelés RTE int. kód CAT 2 Extended task 18
Memória védelem / partíciók Cél Különböző kritikusságú funkciók elválasztása Interferencia elkerülése Validáció egyszerűsítése Megoldás: memória védelem Megakadályozza az engedély nélküli memória hozzáférést Megakadályozza az engedély nélküli periféria hozzáférést Comp A Comp B Comp C 19
Memória védelem / partíciók Os támogatás OS Application Több taszk együttese Közös memória védelem konfiguráció Közös processzor szint RTE támogatás Partíció a teljes RTE Os alkalmazásonkénti darabja Mindegyik külön ECU-ként viselkedik A partíciók közötti kommunikáció hasonló az ECU-k közöttihez Hívják valós-idejű virtualizációnak is Több virtuális processzor 20
Kitekintés Jövő Egyre nagyobb szerepe van a védelemnek Idő Tárhely Többmagos processzorok Az AutoSAR Os szabvány már támogatja Integrált rendszerek Új megközelítés lehet szükséges A partícionálás megteremti az alapokat Az AutoSAR terjedése gyorsítja a fenti folyamatokat A komponensek könnyen mozgathatóak 21