Kutatás témája

A txtUML név egy mozaikszó, jelentése textual, executable, translatable – vagyis szövegalapú, végrehajtható és fordítható – UML. Az eszköz egy nyílt forráskódú szoftver, melynek célja a modellvezérelt alkalmazásfejlesztés támogatása.

Szöveges (ld. forráskód) és grafikus (ld. UML diagramok) modellezési módszerek előnyeit egyesíti. Közvetlenül végrehajtható, diagramokon megjeleníthető és debuggolható, valamint más programozási nyelvekre fordítható UML modelleket lehet definiálni segítségével. A modellezés jól használható a szoftverfejlesztés korai, prototipizálási szakaszában. A támogatott nyelvek esetén az elkészült modellek akár eredeti formájukban is beágyazhatók meglévő rendszerekbe. Ilyen módon az alapul vett paradigmát akár a szoftverfejlesztés következő, általános célú programozási nyelvek feletti absztrakciós szintjeként is értelmezhetjük.

Rövid bemutató videó az eszközről.

Csoport működése

2018 őszén 10-en dolgoztunk együtt a csoportunkban. A kutatási feladataink témáinak megfelelően négy kisebb csapatba rendeződtünk a hatékonyabb munka érdekében:

  • nyelvi front-end: Az eredeti, Java-ba ágyazott modellezőnyelvhez egy egyszerűbb, tömörebb, de a kiinduló nyelvre forduló, alternatív szintaxis, valamint az ezt támogató funkciók fejlesztése. Eszközök, módszerek, technológiák: nyelvtervezés, statikus elemzés, kódgenerálás, formális nyelvtanok, Xtext.
  • megjelenítés: A szabványos UML modelleket felhasználó által tetszőleges részletességgel megszorított diagramokon, érthetőségre optimalizáltan kirajzoló modulok fejlesztése. Eszközök, módszerek, technológiák: gráfalgoritmusok, mesterséges intelligencia, Papyrus, JointJS.
  • C++ export: A leírt modellek szabványos UML formátumban történő kinyerését, majd futtatható C++ kóddá alakítását szálkezelés szempontjából konfigurálhatóan végző komponensek fejlesztése. Eszközök, módszerek, technológiák: kódgenerálás, szálkezelés C++-ban, UML2, Xtend.
  • modelltesztelés: A definiált modellekhez készített tesztek szöveges szekvenciadiagramok formájában való leírhatóságáért, grafikus megjelenítéséért, majd a tesztesetek modellfuttatással párhuzamosan történő kiértékeléséért felelős modulok fejlesztése. Eszközök, módszerek, technológiák: szálkezelés Java-ban, nyelvtervezés, PlantUML.

Heti rendszerességgel találkoztunk. Ezek az alkalmak lehetőségek voltak arra, hogy elhárítsuk az akadályokat, közösen keressünk megoldásokat, átadjuk egymásnak a tapasztalatokat, információkat. A találkozások hatékonysága érdekében Scrum(szerű) szoftverfejlesztési módszertant alkalmaztunk.

A találkozók közötti időszakban mindenki a saját feladatán dolgozott, de bátran kérhetett online segítséget a kollégáktól, tapasztaltabb alcsoport-vezetőktől. A félévet sikeres bemutatóval zártuk, majd közösen ünnepeltük meg az elmúlt időszak eredményeit.

Jó nekünk, mert ...

  • kutatási feladatunk témájában mély(ebb) tudásra teszünk szert
  • megtanuljuk, hogyan lehet eligazodni egy nagy kódbázisban
  • tapasztalatot szerzünk a verziókezelők gördülékeny használata kapcsán
  • rálátást kapunk a kutatómunka jellegére
  • büszkék lehetünk kutatócsoportunk kapcsán született 7+ publikációra, 3+ TDK dolgozatra, 8+ diplomamunkára/szakdolgozatra
  • rendszeres szereplői vagyunk az ELTE IK Nyílt Napnak, Kutatók Éjszakájának
  • csoport részeként dolgozunk, így mindig van kitől tanulnunk, segítséget kérnünk
  • csoportunk gondos szervezettséggel működik a hatékonyság, jó hangulat érdekében
  • ebben a csoportban fontos szakmai kapcsolatokra és barátságokra teszünk szert
  • jó hangulatban tudunk együtt dolgozni és lazítani is :)