Automatikus kódgenerálás autóipari modellek alapján

Tanszéki konzulens: 
A munkatárs fényképe
habilitált docens
Szoba: IE416
Tel.:
+36 1 463-4114
Email: sujbert (*) mit * bme * hu
Külső konzulens: 
Pintér Gergely, ThyssenKrupp Presta Hungary Kft.

A kiírás adatai

A téma státusza: 
Aktív (aktuális, lehet rá jelentkezni)
Kiírás éve: 
2016
A kiírás jellege: 
önálló labor, szakdolgozat/diplomaterv

Egy modern gépjármű biztonsági és komfortfunkcióit számos beágyazott vezérlőegység (ECU) támogatja.  Az ezen számítógépeken futó szoftver komplexitása gyakran összemérhető a desktop alkalmazásokéval, pl. egy elektronikus kormányrendszer kb. 150 szoftverkomponensből, több ezer kapcsolatból és félmillió kódsorból áll.  A szoftver modellezésére az AUTOSAR szabvány grafikus modellező nyelvét használják (ez az UML beágyazott, autóipari megfelelőjének tekinthető).  Az AUTOSAR modell egyúttal számos automatikus helyességellenőrző és kódgeneráló eszköz inputja.

Automatikus kódgenerátorokat használunk olyan esetekben, ahol valamilyen vizuális leírásmódból szisztematikusan elő lehet állítani az azt megvalósító forráskódot, ezzel jelentős mennyiségű mechanikus munkától óvva meg a fejlesztőket.  Így jön létre például az ECU memóriamanagement moduljának jelentős része, kommunikációs szoftverek konstans adatszerkezetei és a fedélzeti diagnosztikai funkciókat leíró adatstruktúrák.  Az így generált C forrásrészletek a build folyamat során összefordulnak a kézzel írt részekkel, hogy végül megkapjuk az ECU-n futó teljes alkalmazást.  A kódgenerátorokat egy Eclipse-alapú modellező eszköz plug-injaiként valósítjuk meg, tipikusan Javaban vagy egyszerűbb estekben egy template nyelven.  A kódgenerátorok egy XML-alapú leírásmódot (az adott modul konfigurációját) feldolgozva C forráskódot írnak ki (tipikusan inicializált konstans adatszerkezeteket).

A hallgató feladata, hogy fejlesszen egy kódgenerátort az általa választott modulhoz (memóriakezelés, kommunikáció, fedélzeti diagnosztika, stb.).  A munka keretében (i) megismeri a tesztelt modul specifikációját és konfigurációjának leírásmódját, (ii) feltérképezi a megvalósítás vagy teszt által használt C-nyelvű konfigurációs adatszerkezetet, valamint (iii) egy Eclipse-alapú autóipari modellező eszköz szolgáltatásaira építve megvalósítja a kódgenerátort Java nyelven.

A feladat megoldása során a hallgató betekintést nyer az autóipari szoftvermodulok fejlesztésének és tesztelésének folyamatába, megismeri az általa választott modul alapvető működését és konfigurációs lehetőségeit, illetve elsajátítja a modellfeldolgozás alapjait.  A feladat megoldásához az alapképzés során elsajátított alapvető C és Java programozási ismeretek szükségesek, amelyeket a hallgató a munka során tovább mélyíthet.  A hallgató folyamatosan segítséget kap a ThyssenKrupp Presta Hungary Kft. munkatársaitól, akik a beágyazott szoftvermodulokat, illetve a konfiguráció generáláshoz is használt modellező eszközt fejlesztik.  A feladatra többen is jelentkezhetnek.

A feladat megoldása során olyan keresett és piacképes tudás szerezhető, amely közvetlenül kamatoztatható Eclipse alapú fejlesztéseket végző cégeknél és természetesen a hazánkban dinamikusan bővülő autóipari szoftverfejlesztésben. A feladat ideális gyakorlati kiegészítése a AUTOSAR alapú autóipari szoftverrendszerek (VIMIAV15) című tárgyban oktatott modellezési ismereteknek.

© 2010-2018 BME MIT | Hibajelentés | Használati útmutató