Regisztráció és bejelentkezés

Szoftvermodellek szöveg alapú összehasonlítása

A szoftverfejlesztés területén egyre nagyobb szerepet kapnak a modellek. Korábban leginkább dokumentációs célokra használták őket, de ma már többek közt felhasználhatók követelmények formális leírására, ill. (fél-)automatizált kódgenerálásra is. A modellek szöveges formában is leírhatók valamilyen nyelvtan segítségével. Gyakran egyszerűbb a modell szöveges reprezentációját szerkeszteni, mint valamilyen grafikus felületen keresztül módosítani azt, különösen akkor, ha nagyméretű modellről van szó. Ez a szerkesztési mód azért is lehet kényelmesebb, mert nagyon hasonlít a hagyományos forráskód alapú fejlesztéshez. Ez persze csak akkor igaz, ha rendelkezésre áll egy jól olvasható, átlátható nyelvtan és egy hatékony szöveges fejlesztői környezet is.

A forráskód alapú fejlesztésnél a csapatmunkát különböző verziókezelő rendszerek támogatják. Ezek a rendszerek képesek a forráskód két eltérő verziója közötti különbségeket felderíteni, illetve ezeket a különbségeket feloldva előállítani az összefésült kimeneti fájlt. A folyamat általában fél-automatizált, vagyis a legtöbb esetben a felhasználó beavatkozása nélkül megy végbe, de előfordulhatnak olyan esetek is, amikor a felhasználót is be kell vonni a folyamatba.

A szöveg alapú összefésülés megvalósítható modellek szöveges reprezentációi esetén is. A különbség a forráskód összehasonlításhoz képest az, hogy modellek szöveges reprezentációitól elvárható, hogy azok helyesek legyenek, mivel nincs értelme hibás modelleket összehasonlítani. Forráskód esetén viszont a kód szemantikai ellenőrzése egy-egy forrásfájl alapján sokszor nem lehetséges, ezért tipikusan nem követelhetjük meg annak helyességét. Modellek esetén tehát, a szövegből felépített szintaxisfa jelentős többletinformációt rejt az összehasonlítás során. Ezáltal egy tisztán szöveg alapú, szintaktikai összehasonlítás helyett egy mélyebb, szemantikai összehasonlítást is el lehet végezni. Modellek szöveges reprezentációi esetén erre az összefésülésre még nem létezik általánosan alkalmazható megoldás.

A dolgozatban ismertetek egy általam kidolgozott megoldást szoftvermodellek szöveges reprezentációinak szintaxisfa alapú összehasonlítására. Módszerem független konkrét modellező környezetektől és – bizonyos megkötések mellett – a szöveges reprezentációt leíró nyelvtantól is. Dolgozatomban továbbá bemutatom az elméletben kidolgozott módszernek egy gyakorlati megvalósítását egy általam írt modell-összefésülő alkalmazás formájában.

szerző

  • Somogyi Ferenc Attila
    Mérnök informatikus szak, mesterképzés
    mesterképzés (MA/MSc)

konzulens

  • Dr. Asztalos Márk
    docens, Automatizálási és Alkalmazott Informatikai Tanszék