Szoftvermodellezés támogatása

A szoftverfejlesztési paradigmák közül egyre nagyobb népszerűségnek örvend a szoftvermodellezés. A szoftvermodellezés során a programfejlesztést igyekszünk magasabb absztrakciós szintre emelni. Természetesen ennek több szintje elképzelhető. Jelenleg a korszerű fejlesztési metodikák többsége alkalmazza az UML (Unified Modeling Language) formális leíró képességét, ami tekinthető egyfajta szoftverfejlesztési eszköznek. Azonban előfordulhatnak olyan komplex problémák, amelyek során az UML részben vagy egyáltalán nem használható, mert hiányos az eszköztára, avagy egyszerűen túl kényelmetlen. Ilyenkor célszerű a modellezést ismét egy magasabb szintre emelni, mégpedig a metamodellezés szintjére.

A metamodellezés során létrehozunk egy metamodellt, ami tekinthető különféle szabályok, kényszerek egy halmazának. Ezeket a szabályokat, illetve kényszereket a modellezési környezetnek a példánymodelleken folyamatosan érvényben kell tartania.

Amennyiben a modelleket címkézett gráfokként kezeljük, azok feldolgozását, módosítását gráf újraírás alapú modell-transzformációnak nevezzük. A módszer előnye, hogy alkalmazása során hatékonyan felhasználhatóak a gráf újraírás területen elért matematikai módszerek.

Kutatásunk során a gráf újraírás alapú modell-transzformációs algoritmusokat elemeztük. Ezen algoritmusok egyik, mind komplexitásban, mind teljesítményben meghatározó eleme az izomorf részgráfok meghatározása a forrás gráfban. Az elmúlt évtizedekben számos algoritmus készült a probléma megoldására. Az egyik ilyen, nagy népszerűségnek örvendő algoritmus a VF2. A kutatásaink során célunk, hogy a VF2 algoritmus teljesítményét tovább növeljük akár az algoritmus módosításával, akár új heurisztikák megfogalmazásával. Célunk továbbá, hogy kihasználva a manapság már széles körben elérhető, nagy kapacitású felhő alapú szolgáltatásokat, kidolgozzunk egy olyan algoritmust, mely alkalmazható részgráf izomorfizmus megtalálására, ugyanakkor alkalmas a nagyfokú párhuzamosíthatóságra is. Ezáltal a rendszerint nagy számítási igényű folyamatot hatékonyabban lehet megvalósítani.

 

Szerzők (Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar, Automatizálási és Alkalmazott Informatikai Tanszék):

 

  1. Hudák Péter, hudakpe@gmail.com
  2. Zseleznov Jaroszláv, zseleznov@gmail.com
  3. Ilsinszki Balázs, ilsinszkibal@gmail.com
  4. Szita Csongor András, szita.csongor@gmail.com
  5. Fehér Péter, feher.peter@aut.bme.hu