Kódgenerálás

Az UML alkotói a jelölésrendszert szoftver-intenzív rendszerek vizualizálására, specifikálására, konstruálására és dokumentálására készítették. Az Ameos, mint UML modellező eszköz lehetővé teszi, hogy kihasználjuk az UML konstruálási képességeit és a modell alapján különböző fajtájú forráskódot és egyéb, szöveges információt állítsunk elő.

A követhetőség és visszavezethetőség a modell és kód között is jelentkezik. Ennek megvalósítására számos módszer született, ilyen például a Round-trip engineering a modell-kód szinkronizálás és Ameos-hez kötődő Architektúra-komponens fejlesztés (ACD, Architecture Component Development) technológia is. Az ACD, bár jóval korábban jött létre, az MDA elveknek megfelelő megoldás. A technológia lényege, hogy a külső vagy belső szakértők tudását (megoldási minták, konvenciók) transzformáció leíró mintákba foglalja, amelyek egyszerűen készíthetőek a technikai, illetve architektúra prototípusok, valamint meglévő, korábbi megoldások alapján. Ezek a minták könnyedén és automatizáltan használhatóak a projektben és újrafelhasználhatóak a projekten túl is.

A transzformációs leírás segítségével a nagyon egyszerű mintáktól (például aggregáció, kompozíció kezelése egy adott nyelven, tervezési minták) egészen a komplex, akár a többnyelvű, teljes vertikális prototípust (például, middleware réteg, perzisztens tárolás, keresés, entitás alapján teszt GUI, stb.) lefedő mintákig leírható. A módszer alkalmazásának előnye, hogy a modell egyszerűbb, kompaktabb, magasabb absztrakciós szintű lesz, valamint a platform-specifikus implementációs részleteket nem tartalmaz. Az ACD segítségével ugyanazon modellből, konzisztensen állíthatjuk elő a különböző nyelvekhez (Java, SQL, IDL, stb.) a forráskódot, valamint akár a kapcsolódó szöveges fájlokat (EJB deployment descriptor, Make fájl, stb.) is, továbbá nemcsak az osztály diagramokon megadott statikus leírásból indulhatunk ki, hanem felhasználható az állapot diagram is. Az Ameos gyári kódgenerátorai két különböző megvalósítást is bemutatnak az állapotgép megvalósítására.

Az automatizált forráskód előállítás jelentősen növeli a termelékenységet a szakértők tudásának újrafelhasználásával, a kód jelentős, kritikus részeinek generálásával. A technológia kihatással van a termék minőségére is, hiszen kevesebb manuálisan készített kódban, kevesebb hiba fordulhat elő. A megoldás további előnye, hogy olyan szoftver jön létre, amely megfelel a szervezeti szabványoknak és konvencióknak, mert pontosan azt és olyan formában állítja elő, amit a szeretnénk.

Az ACD alkalmazásával a fejlesztés jól szegmentálható, mert az elemzők, tervezők az üzleti modellre koncentrálhatnak, míg az architektúra szakértők, programozók mentesülnek a modell teljes körű megismerése alól. Mindez a párhuzamos munkát nagymértékben elősegíti, ami hatékonyabb erőforrás- és költség felhasználáshoz vezet. Az üzleti modell és az architekturális, platformfüggő elemek szétválasztása, függetlenítése a karbantarthatóságot is növeli, hiszen az egyikben bekövetkező változás nem érinti a másikat, valamint az újragenerálás után a kód jelentős része, már az új, megváltozott állapotot fogja tükrözni.

Az ACD a transzformációs leírás (minta alapú kódgenerátor) segítségével számos, elégedett felhasználó generálta az elkészített szoftver forráskódjának 30-90%-át, amellyel az Ameos az automatizálást az elméleti síkról a megvalósításba ültette át a szoftveriparban.

Az ACD technológia lehetővé teszi, az inkrementális fejlesztést is. A generálások fordítással összemérhető sebessége lehetővé teszi, hogy akár naponta többször is újrageneráljuk a kódot. A generátor megkülönbözteti a generált részeket és a programozó által módosítható részeket, és ez utóbbiakat megmenti, míg a modellből származó, generált részeket az új modell vagy új transzformáció leírás alapján felülírja.

Előző Következő