Feladatcsoportok

Automatikus tesztelés

Manapság a szoftverek ellenőrzésének az egyik legáltalánosabban használt módszere a tesztelés. Tesztelés alatt azonban ne az "írjunk kódot, aztán adjuk ki diákoknak, hogy kattintgassák végig a szoftvert" megközelítést értsük, hanem a készülő termékek folyamatos, rendszerezett és automatizált ellenőrzését, ami biztosítja, hogy jó minőségű kódot készítsünk (quality engineering). A teszteléssel kapcsolatos feladatok a teljes szoftverfejlesztési életciklus során megjelennek (a teszteket a követelmények alapján megtervezik, a fejlesztők unit teszteket írnak, tesztmeghajtókat és csonkokat készítenek, integrációs és rendszerteszteket hajtanak végre stb.), a minőség így mindenkinek a felelőssége.

Azonban a tesztek manuális elkészítése és kézi végrehajtása helyett egyre inkább előtérbe kerül az iparban is a tesztesetek automatikus generálása és végrehajtása. Az automatikus végrehajtásra vannak elterjedt keretrendszerek (pl. xUnit, CI kiszolgálók), azonban a tesztesetek automatikus kiválasztása jelenleg is aktív kutatási terület. Az automatikus tesztgenerálás történhet modell vagy kód alapján. Tovább »

Blockchain rendszerek és technológiák

A Blockchain technológiák és eszközök alkalmazásai ma már messze túlléptek a "kriptopénzen", bár a "blockchain forradalmat" kétségkívül a Bitcoin indította el. Ma már nem csak, hogy adott üzleti célra "programozhatóak" a nyílt Blockchain platformok (lásd pl.

Modern fejlesztőrendszerek, fejlesztői csoportmunka és modell alapú technológiák

Olyan modern és nagy jövő előtt álló kérdésekkel foglalkozunk, mint a tervezők és fejlesztők közti csoportmunka támogatása, az elkészült tervek és modellek automatikus vizsgálata vagy feltételeknek megfelelő automatikus előállítása, ill. a kész terveknek és modelleknek megfelelő szoftverkód automatikus generálása. Ezen technikák a fejlesztők és tervezők hatékonyságát növelik, és jobb minőségű rendszerek elkészítését teszik lehetővé.

Az ehhez a témacsokorhoz tartozó témalaboratórium és önálló laboratórium feladatok igen széles spektrumot ölelnek fel a szoftver- és rendszertervezést, hatékony fejlesztőmunkát támogató nyelvek és eszközök területéről, ahol a hallgatók igényeik és elképzeléseik szerint a fejlesztésorientált munkáktól a teljesen elméleti problámákig mindenféle feladatot találhatnak. Tovább »

Kiberfizikai rendszerek

Kiberfizikai Rendszereknek (Cyber Physical Systems, CPS) nevezzük az életünkben egyre fontosabb szerepet betöltő rendszereket, amelyek internethez kapcsolódó "kütyükből" és cloudban futó programokból állnak össze, valamint képesek alkalmazkodni a dinamikusan változó környezethez.

Ellenőrzési módszerek

Biztonságkritikus rendszerek (pl. járművek, robotok, irányítórendszerek) szoftverere 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 ellenőrzési technikákra, amelyek hatékonyan képesek az adott fázisban fellépő hibák detektálására és a javítás támogatására: A specifikáció és a tervek készítésének fázisában az ellenőrzéséhez 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.

A témacsoport keretében ezekkel - a tervezők és fejlesztők számára egyre inkább nélkülözhetetlen - eszközökkel és módszerekkel lehet megismerkedni, valamint ilyenek alkalmazásába és fejlesztésébe lehet bekapcsolódni. Tovább »

Mérés alapú modellalkotás és vizualizáció

Érdekel, hogyan lesz az adatból információ? Mire jó egy dashboard, mit lehet mondani néhány ezer féle mért adat kapcsolatáról, hogyan találjuk meg a tűt a szénakazalban, mi okoz mi? Hogyan lehet érdekes összefüggéseket megtalálni akár a saját szoftvered működésével kapcsolatban?

Manapság a hűtőgéptől az autóig, az okos épületektől a városüzemeltetésen keresztül a sokgépes szerverparkokig mindenütt gyűjtenek adatokat, azonban sok esetben a gyűjtött adatot soha senki nem használja hasznos célokra. Ennek oka, hogy az adatokat értelmezni és tisztítani kell, a gyakori vagy éppen ritka mintákat és összefüggéseket pedig validálni kell a valós, mért adatok alapján.

Automatizált módszerekkel számos összefüggés kinyerhető, de ezeket átlátni és a tapasztalatokat levonni pusztán számok alapján nehéz. Ezt támogatja az adatvizualizáció, mely, akárcsak a matematikai statisztika, napjaink természet- és társadalomtudományainak és mérnöki gyakorlatának alapvető eszköze. 

Komplex informatikai rendszerek tervezésénél elsődleges fontosságú a rendszer viselkedésére vonatkozó feltételek korai kiértékelése, ideértve a rendszer dinamikus, időbeli viselkedésére vonatkozó elvárásokat. Másfelől, már működő rendszerek újratervezésénél, értelmezésénél fontos feladat a rendszer alapvető tulajdonságainak megértése, melyhez sokszor a megfigyelésekből származó mérési eredmények jelentik a legjobb támpontot.