Hatékony inkrementális lekérdezés-kiértékelő algoritmusok

Napjainkban a deklaratív nyelvek (pl. SQL, SPARQL, DRL) kiemelten fontos szerepet játszanak az informatikai alkalmazások széles skáláján, a beágyazott rendszerektől a hagyományos desktop alkalmazásokon át egészen a nagyvállalati, sőt a cloud infrastruktúrán futó alkalmazásokig. Különösen a nagy rendszerekre jellemző, hogy a rugalmas belső architektúrát ún. szabályalapú szakértői rendszerek (rule-based systems) segítségével alakítják ki, hogy az üzleti logika gyorsan követhesse a valós üzleti folyamatok változásait (pl. tőzsdei és banki döntéstámogató rendszerekben).

Az ilyen alkalmazások hatékonyságát nagymértékben befolyásolja a sokszor igen nagyméretű adat- és objektumstruktúrákon értelmezett lekérdezések kiértékelésének gyorsasága. Az inkrementális elv régóta alkalmazott a szakértői rendszerek algoritmusaiban (pl. RETE hálók), és ma már sok egyéb területen is alkalmazzák ezeket. A feladatban a hallgató megismerkedig ezen algoritmusokkal, létező implementációkat vizsgál valódi környezetből származó esettanulmányok segítéségével és a tanszéki kutatásba bekapcsolódva részt vesz a mi nyílt forráskódú technológiánk továbbfejlesztésében.

A feladat során az első cél, hogy összehasonlítsuk a JBoss Drools szakértői rendszer és az EMF-IncQuery keretrendszer RETE implementációját. Az összehasonlítás elemzése után megtervezendő egy hibrid rendszer, amely a kétféle megvalósítás előnyeit kombinálja. A feladat távlati célja, hogy az így javított inkrementális mintaillesztő algoritmust kiegészítsük ismert és kevésbé ismert technikákkal, melyekkel a mintaillesztő memóriaigénye számottevően csökkenthető. Színvonalas megvalósítás esetén a hallgató által írt kód nyílt forrású hozzájárulásként hozzáadható az IncQuery és/vagy a Drools projektekhez.

A témát a kutatás iránt érdeklődő hallgatóknak ajánljuk!

Jelleg: 
Elméleti és gyakorlati
Konzulens: 
Bergmann Gábor
Konzulens: 
Ráth István Zoltán
TDK lehetőség: 
TDK lehetőség
Megismerhető technológiák: 
JBoss Drools, szakértői rendszerek, Eclipse Modeling Framework, EMF-IncQuery
Előismeretek: 
Java, algoritmusok
Állapot: 
Korábbi