Valós idejű, beágyazott operációs rendszer konfigurációja

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.  Ekkora szoftvert több párhuzamosan futó alkalmazásba és taszkba kell szervezni, amelyek futását egy beágyazott valós idejű operációs rendszer felügyeli.  Az operációs rendszer API-ja megfelel az OSEK és AUTOSAR szabványoknak.  Biztonsági okokból az operációs rendszer konfigurációja (taszkok struktúrája, prioritások, kölcsönös kizárási viszonyok, stb.) fejlesztési időben dől el és az ettől függő funkciók forráskódját automatikus kódgenerátor állítja elő.  A konfiguráció megadására az OSEK egy programozási nyelvek szintaktikájára emlékeztető szöveges leírásmódot (OIL), az AUTOSAR egy XML sémát definiál.  Az operációs rendszernek támogatnia kell mindkét konfiguráció megadási módot.  Mivel az XML bemenet használata gyakoribb, célszerű a kódgenerátorokat erre alapozni; annak érdekében viszont, hogy szükség esetén OIL bemenetet is fel tudjunk dolgozni szükség van egy konverziós eszközre a két formátum között.

A hallgató feladata készíteni egy nyelvi elemzőt (parser) az OIL nyelvtanhoz és megírni a konverziós programot.  A nyelvi elemzőt az Eclipse XText technológiára célszerű alapozni, amelynek segítségével kényelmesen lehet készíteni content assist, syntax highlighting stb. funkciót nyújtó szövegszerkesztőt.  A feladat megoldása során a hallgató először megismeri a kapcsolódó technológiákat, megérti az operációs rendszer konfigurációs adatainak struktúráját, megfogalmazza a nyelvtan levezetési szabályait az XText formátumában, majd megírja a konverziós programot Java nyelven.  A feladat elkezdéséhez az említett technológiák ismerete nem követelmény, de előnyt jelenthet.  A munka során a hallgató folyamatosan segítséget kap a ThyssenKrupp Presta Hungary Kft. munkatársaitól, akik az operációs rendszert és a kódgenerátorokat fejlesztik.  A feladat egyéni érdeklődésnek megfelelően testre szabható és a jövőben további innovatív fejlesztések alapja is lehet (pl. operációs rendszer portolása új mikrovezérlőkre).

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 feladatot a formális nyelvek és kódgenerálás iránt érdeklődő kollégáknak ajánljuk. 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ó