Kritikus Rendszerek Kutatócsoport témalaborok

A csoport témalabor kiírásai az alábbiak:

Blockchain rendszerek és technológiák

A “blokkláncok” jellemzően peer-to-peer, modern elosztott rendszerek: a rendszerben részt vevő számítógépek mind egy egymás között megosztott adatbázis egy másolatának fenntartására törekednek, úgy, hogy a módosításokról egy konszenzus-protokollal állapodnak meg. A csomópontok egymásban külön-külön nem, de a többségben bíznak; amíg elég sok csomópont viselkedik “őszintén”, addig a rendszer működésében nem csak a hibás, de még a rosszindulatú csomópontok sem okoznak fennakadást.

A blokklánc technológia megalapozói természetesen a kriptopénz-hálózatok voltak (adatbázis -> “kinek mennyi Bitcoinja/Ether-e/Dogecoinja /… van”), de alkalmazásaik ma már messze szélesebb körűek. Az NFT-ken, tokenizáción és DeFi-n túl…

  • … a szervezetközi együttműködésekben alkalmasak (jogi) vitákba torkolló helyzetek megszüntetésére (hol az áru, ki, mikor, kinek kell fizessen) és az átláthatóság növelésére (pl. a beszállítói láncokban és az eszközkövetésben)
  • … az Európai Unió egy blokkláncot épít határokon átnyúló közügyek támogatására (pl. személyazonosság-ellenőrzés, a diplomák és a társadalombiztosítás hordozása)
  • …a Digitális Jegybankpénz (CBDC) is megvalósítható blokklánc alapon, vagy blokklánchoz hasonlóan – az MNB úttörő ezen a területen

Federált AI tanulás? Zero-Knowledge Machine Learning? Lesz benne blokklánc. Metaverzum? Ha lesz, akkor blokklánc alapú lesz.

Mit adunk mi?
Felkészítünk egy önlabtéma sikeres művelésére, ami lehet fejlesztés-orientált, de elméleti mélységű is. (A 2023-as OTDK-ra három hallgatónk is kijutott.) A közös alapozás után a hallgatókkal közösen alakítjuk ki a konkrét témát, ami kérdésfelvetésében jellemzően kapcsolódik fejlesztési és kutatási projektjeinkhez. Néhány tématerületünk – amikben szükség esetén kooperálunk is a tanszék többi laborjával:

  • Okosszerződések modell alapú fejlesztése, forráskódjuk auditja, verifikációja és validációja
  • Zero-Knowledge Proof-ok alkalmazása titkosságmegőrzésre (csatlakozófélben: FHE)
  • Felhők közötti, blokklánccal vezérelt adatmegosztás
  • Vállalatközi blokkláncok teljesítmény- és megbízhatóság-növelése
  • Blokkláncok integrálása egymással és a külvilággal
  • Alkalmazási témák: „Software Bill of Materials” blokklánc alapon, digitális jegybankpénz, energiafogyasztás követése, IP kezelés, NFT-k, …

Megismerhető technológiák
A szükséges közös alapokon túl (pl. git, Docker, mikroszolgáltatások) főként a Hyperledger és az Ethereum ökoszisztémák. Több témánk művelhető Polkadot alapokon (Rust ismeretek előnyösek). Ezeket egészítik ki a konkrét témák igényei (pusztán példaként: „Blockchain as a Service” - pl. AWS Managed Blockchain, Eclipse Dataspace Connector, ZoKrates/Circom).

Végül…
Ha bizonytalan vagy, vagy további kérdésed van, nyugodtan keresd a labor szenior oktatóit (Kocsis Imre és Gönczy László) Teams-en.

Felelős: Dr. Kocsis Imre

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.

Megismerhető technológiák: 
  • 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)
  • 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)

Felelős: Dr. Molnár Vince

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. Lehet, hogy valami hasonlóról már hallottal IoT (Internet of Things) néven. Mik is ezek az a kütyük? Lehet mondjuk egy "okos-autó", vagy akár a telefonod. A lényeg az, hogy kapcsolódjon a hálózatra, valamilyen érzékelőkkel tudjon a külvilágról adatot gyűjteni, a környezetre hatni (pl. egy lámpát bekapcsolni) és rendelkezzen valamilyen intelligenciával.

A CPS rendeszek jellemzően beleesnek az ipari internet (Industrial Internet, Industrial IoT, https://www.iiconsortium.org) kategóriájába, amely a tradicionális intelligens megoldásokon kívül újszerű tervezési, implementációs és futásidejű megoldásokat igényel. Emellett megjelennek a Fog Computing (https://www.openfogconsortium.org/) és az Edge computing (https://www.cloudwards.net/what-is-edge-computing/) fogalmai, amelyek a hierarchikus felépítésüknél fogva hatékony megoldást nyújtanak a különböző funkcionális, teljesítménybeli és megbízhatósági problémákra.

Miben igényel más gondolkodásmódot egy CPS rendszer?

  • olyan számításigényes adatelemzést is el tudunk végezni, ami egy mobil eszközben nem volna lehetséges,
  • más rendszerekkel való interakció: ahol a szolgáltatók állandóan változnak, nem akarunk szoftvert frissíteni minden percben, mert valamelyik szolgáltatás, amitől adatot kér a rendszer megváltozik,
  • nagy megbízhatóság szükséges: nem csak a szoftver szintjén, hanem a már az alkalmazást úgy kell megtervezni, hogy helyes viselkedjen, ha nem elérhetö a hálózati kapcsolat vagy hibás adatokat küld a szolgáltató,
  • adatvédelem: ez egy bonyolult kérdés, mert minél több adatot osztunk meg annál hatékonyabb rendszert tudunk készíteni, de annál sebezhetőbbet is.
Megismerhető technológiák: 
  • Intelligens szenzoradat feldolgozó rendszerrel kapcsolatos fejlesztések. Például: DDS alapú (ha még nem tudod, h mi az, nem kell aggódni) adatgyűjtő alkalmazás generálása Androidra; vagy Bluetooth/BLE használata Android és Linux környezetben.
  • Modellvezérelt fejelsztés CPS környezetben. Például: vizuális programozási eszközök fejlesztése Node-Redhez; vagy kódgenerálás Lego robotokra.
  • Clouddal kapcsolatos fejlesztések CPS rendszerekhez IBM IoT platformon. Például: robosztus algoritumsok elosztott rendszerek tervezéséhez; vagy automatikus konfiguráció generálás; mesterséges intelligencia integrálása és alkalmazása ipari problémák megoldására.

Felelős: Prof Pataricza András

Modern fejlesztőrendszerek é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.

Napjainkban a modellalapú tesztelés egyik kihívása a biztonságkritikus autonóm járművek (autók, vonatok, villamosok) önvezető funkcióinak helyességbiztosítása. Ez egy rendkívül nehéz feladat, amelynek szisztematikus ellenőrzése csupán tesztvezetésekkel kivitelezhetetlen. Ennek köszönhetően a fizikai tesztelrendezések automatikus előállítása a modell-alapú tesztelés egy kiemelten kutatott területévé vált, amit kollégáimmal mi is vizsgáltunk. 

Megismerhető technológiák:

  • Gráfadatbázisok, gráffeldolgozó rendszerek, gráfgenerátorok
  • Grafikus és szöveges modellezőeszközök, saját programozási vagy modellezési nyelv készítése
  • Fejlesztőeszközök kiegészítése új funkciókkal
  • Kódgenerátor eszközök
  • Fizikai szimulátorok önvezető járművek teszteléséhez

Felelős: Dr. Semeráth Oszkár

© 2010-2024 BME MIT | Hibajelentés | Használati útmutató