Java alapú fejlesztői csővezeték tervezése

OData támogatás
Konzulens:
Dr. Ekler Péter
Automatizálási és Alkalmazott Informatikai Tanszék

A szoftverfejlesztési folyamatok során, kis- és nagy projektek esetén is előfordulhat olyan probléma, melyre a hatékony megoldást a fordítási lépéseken való módosítás vagy optimalizálás adhatja. Ilyen esetben olyan fordítói rendszerre van szüksége a fejlesztőnek, mely ezt könnyen konfigurálható módon teszi lehetővé, míg mellette ugyanazokat a szolgáltatásokat is nyújtja, amiket a jelenleg piacon fellelhető elterjedt fordítói eszközök is. A dolgozat egy általam készített, erre a problémára nyújtott modulárisan kiterjeszthető fordító rendszer tervezését, felépítését, megvalósítását és használatát mutatja be.

A dolgozatban bemutatott megoldásom fő tulajdonsága, hogy a fordítás során elvégzendő lépéseket, a jelenleg elterjedt függőség alapú leírásoktól eltérően, szekvenciálisan van mód megadni. Ez egyrészt a programozó számára könnyebb áttekinthetőséget biztosít, mivel minden folyamatnak meghatározott lefutási sorrendje van, másrészt különböző rendszerekkel ellentétben, nem határoz meg a fejlesztőnek egy kötelezően követendő projektstruktúrát.

A kiterjeszthetőség biztosításával lehetőség van a fejlesztő által létrehozott komplex lépések definiálására, mely során tetszőleges feladatok elvégezhetőek fordítási időben. A rendszer ehhez igazodva egy olyan lazán csatolt szerkezet alapján működik, melyben dinamikusan van lehetőség különböző modulok betöltésére. Ennek megoldására a környezet a Java nyelv és virtuális gép lehetőséget használja ki, mely kiválóan támogatja kódok futásidejű betöltését.

A fejlesztők támogatásának érdekében a rendszer rendelkezik Eclipse integrált fejlesztői környezethez tartozó kiterjesztéssel, mely támogatja az általam kidolgozott nyelv alapján történő fordítást. A fordítás után a kiterjesztés a rendelkezésre álló információk alapján úgy módosítja a lefordított projekt tulajdonságait, hogy a fejlesztőnek lehetősége legyen a beépített funkciók használatára (pl.: Content Assist).

Jelen dolgozat összehasonlítja az általam kidolgozott fordítás támogató rendszert a piacon lévő kész megoldásokkal, és taglalja a tervezés során felmerülő kérdéseket. Részletesen bemutatja a rendszer tervezését, felépítését, használatát, és ismerteti a moduláris kiterjeszthetőség módszereit. Zárásként mérési eredmények bizonyítják az elkészült rendszer gyorsaságát és skálázhatóságát.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.