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.
Témacsoport: 
Ellenőrzés és tesztelés
Jelleg: 
Gyakorlati
Konzulens: 
Majzik István
TDK lehetőség: 
Nem
Megismerhető technológiák: 
Aspektus-orientált programozás, C forráskód generálás, GCC plug-in, formális követelmény leírás
Előismeretek: 
C
Állapot: 
Folyamatban