Regisztráció és bejelentkezés

Forráskód modernizációja modell alapú megközelítéssel

Az elavult szoftverek modern környezetbe történő átültetése mindig bonyolult feladat. Sok ilyen szoftver még mindig használatban van és a korszerűtlen tervezési megfontolások és elavult technológiai megoldások miatt karbantartásuk költséges, és a lecserélésük nehéz. Ezeket a szoftvereket úgy kívánatos modern környezetbe átültetni, hogy a korszerű szoftvertervezési konvenciókat kövessék, tehát jól olvasható és karbantartható kódjuk legyen, és a kompatibilitást is teljesen megőrizzék. A rendelkezésre állási követelmények miatt általában nem lehet az eredeti rendszert leállítani, és az új verziót éles környezetben tesztelni.

Ezeket a nehézségeket könnyítik meg a különböző kódmodernizációs eszközök, melyek elavult szemléletben és nyelven íródott forráskódot ültetnek át korszerű és előnyös környezetbe. Ennek legcélszerűbb módja a jellemzően procedurális kód átalakítása objektumorientált paradigmákat követő szoftverré. Ezért az elavult kódbázis egyszerű átültetése egy modern nyelvre nem elégséges megoldás. A probléma egyik legnagyobb nehézsége egy előnyös objektumorientált szerkezet kialakítása úgy, hogy az eredeti alkalmazás szemantikája ne változzon meg. További nehézség, hogy mindezt automatikusan kell megoldani. Bár a szoftvermodernizáció szakértői szerint a teljeskörű, helyes kimenetet generáló automatizálás megoldhatatlan feladat, törekedni kell a minél nagyobb fokú automatizálás kialakítására. A kódmodernizáció harmadik jelentős kihívása az eszközök teljesítménye, vagyis hogy milyen jellemző memóriaigénnyel és mennyi idő alatt képesek modernizálni komplex, többszázezer sorból álló alkalmazásokat.

Az általam javasolt megoldásban ismertetek egy általános módszertant, amely procedurális szemléletben íródott szoftvereket képez le ekvivalens szemantikával rendelkező objektumorientált szerkezetre. A megoldásom újszerűségét a modell-alapú megközelítése adja. A modell-vezérelt módszerek és eszközök terén az utóbbi években nagy fejlődést tapasztalhattunk, ezért újszerű megoldás a problémakör modell-vezérelt szemléletű vizsgálata. Ennek egyik szembetűnő előnye, hogy a transzformáció jelentős része nyelvfüggetlen módon fog tudni működni, ami megkönnyíti a transzformátor különböző forrásnyelvekre és célnyelvekre való megvalósítását.

A kidolgozott módszertan mellett bemutatok egy általam készített transpilert is, mely a módszertant valósítja meg a gyakorlatban. Ennek segítségével szemléltetem a módszerem működőképességét. Mivel a teljesítmény kritikus kérdés a kódmodernizáció területén, ezért komplex nyílt-forráskódú szoftverek modernizálásának esettanulmányán keresztül bizonyítom a módszertan és az elkészített eszköz hatékonyságát is.

szerző

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

konzulens

  • Kövesdán Gábor
    tanársegéd, Automatizálási és Alkalmazott Informatikai Tanszék