Ellenőrző kódrészletek illesztése C programokhoz
Beágyazott számítógépes rendszerekben a működés közben előforduló véletlen hibák detektálásának egy megvalósítása a futásidőbeli verifikáció, azaz a működés precíz ellenőrzése futásidőben a rendszer tervezése során megállapított és formalizált követelmények alapján. A követelmények kapcsolódhatnak az egyes komponensek interfészeihez, megfogalmazva a használat előfeltételeit és az elvárt működés tulajdonságait. A futásidőbeli ellenőrzés megvalósítását nagyban segíti, ha a kapcsolódó kódrészleteket magas szintű követelményleírás (pl. logikai kifejezések, idődiagramok) alapján automatikusan lehet generálni, valamint ezeket modulárisan, a kapcsolódási pontok kijelölése alapján lehet az eredeti forráskódhoz illeszteni.
A hallgató feladata technológiai javaslat kidolgozása az ellenőrző kódrészletek generálására és illesztésére C program komponensekhez, valamint a megoldás demonstrálása egy mintaalkalmazás keretein belül.
Kapcsolódó részfeladatok a következők:
- Tekintse át az aspektus-orientált programozás és a monitor-orientált programozás módszerét. Vizsgáljon meg erre épülő jellegzetes keretrendszereket (pl. JavaMOP).
- Ismerje meg a GCC fordítóhoz készült program felműszerezési lehetőségeket.
- Vizsgálja meg a hívási paraméterekre, a hívási szekvenciákra és ezek időzítésére vonatkozó követelmények leírásának lehetőségeit. Javasoljon követelményleíró nyelvet a programkomponensek interfészein történő ellenőrzéshez, és adjon kódgenerálási szabályokat az ellenőrzés megvalósításához.
- A kódgenerálási szabályok alapján (kézi) kódgenerálással valósítson meg ellenőrző kódrészleteket, és a megismert technológiák alkalmazásával demonstrálja ezek illesztését egy C alkalmazás forráskódjához.