Ellenőrzés és tesztelés
Ellenőrzés és tesztelés
Kritikus rendszerek (pl. járművek, robotok, irányítórendszerek szoftvere) esetén egy-egy hibának akár katasztrofális következményei is lehetnek. Így nem engedhető meg, hogy a hibákat csak a használat során vegyük észre, és utólag próbáljuk javítani. A fejlesztés minden fázisában szükség van olyan precíz tesztelési és ellenőrzési technikákra, amelyek hatékonyan biztosítják a fejlesztett rendszer helyes és biztonságos működését.
A specifikáció és a tervek készítésének fázisában az ellenőrzéshez hátteret adnak a precíz, modell alapú tervezési és verifikációs módszerek. A forráskód készítés során az ellenőrzés statikus analízis eszközökkel történhet. A teszttervezés is hatékonyan támogatható ezekkel a technikákkal. A hibavédelem utolsó bástyái pedig a futásidőbeli monitorok, amelyek véletlen hardver hibák esetén is képesek a biztonsági problémákat felismerni és beavatkozást indítani. Ezeken a területeken jelentős kihívásokat támasztanak az intelligens algoritmusokat alkalmazó korszerű rendszerek (pl. önvezető járművek, autonóm robotok, tanuló és adaptív rendszerek): hogyan tudjuk ezek helyességét és biztonságos működését ellenőrizni?
A témacsoport keretében tehát - a tervezők és fejlesztők számára egyre inkább nélkülözhetetlen - tesztelési és ellenőrzési eszközökkel és módszerekkel lehet megismerkedni, valamint ilyenek alkalmazásába lehet bekapcsolódni.
A lehetséges témalaboratórium és önálló laboratórium feladatok keretében hallgatóink foglalkozhatnak például eszközfejlesztéssel (akár csatlakozva már meglévő fejlesztői csapatokhoz, pl. Gamma, Theta, PetriDotNet), az ellenőrzéshez szükséges hatékony algoritmusokkal, demo rendszereinkkel (pl. MODES3) vagy éppen (ipari partnereink által javasolt) konkrét modellezési és ellenőrzési feladatokkal.
A feladatcsoport tipikus témái:
- Biztonságkritikus szoftverek (autó, repülő, vasúti alkalmazások) fejlesztésének megismerése,
- Tervek és modellek helyességének ellenőrzése,
- Szoftverek (forráskód) hibáinak felderítése,
- Ellenőrző eszközök fejlesztése, ezekhez új algoritmusok és technikák kitalálása, megvalósítása,
- Monitorok fejlesztése autonóm működésű rendszerekhez,
- Adaptív és dinamikus architektúrájú rendszerek analízise.
- Követelmények precíz leírása (forgatókönyvek, LSC, MSC, temporális logikák) és követelménykezelés (DOORS)
- Modell alapú tervezés: Petri-hálók, időzített automaták, állapottérképek (PetriDotNet, UPPAAL eszközök)
- Modellek automatikus ellenőrzése (PetriDotNet, nuSMV, SAL, SCADE)
- Tervezési minták hibatűréshez (redundancia, átkonfigurálás)
- Forráskód ellenőrzés (PMD, FindBugs)
- Futásidejű monitorozás (MOP, Eagle, RuleR)
- Biztonságkritikus rendszerek fejlesztési szabványai (vasúti és autóipari alkalmazások)
- Ellenőrzési eszközláncok, verifikációs és validációs folyamatok tervezése (SPEM, BPMN)