EMF-modell készítése XML-séma (XSD) segítségével

Utolsó frissítés: 2004. június 29.

Ez az ismertető részletesen leírja EMF-modellek XML-sémából történő létrehozásának és egyszerű modellszerkesztők előállításának folyamatát. Az ismertető demonstrálja, hogy az EMF segítségével milyen könnyű eljutni egy egyszerű modelldefiníciótól a modell teljesen funkcionális szerkesztőjéig.

A képernyőfelvételek az Eclipse SDK 3.0 verziója és az EMF 2.0 verziója alapján készültek.

Az ismertetőben használt XML-séma fájl itt található: library.xsd. Mentse ezt a fájlt a munkaállomásán későbbi használatra.

Az XML-séma Ecore-formátumra történő leképezésének alapvető szabályai a következők:

Modellezési nézőpontból az XML-séma nem olyan kifejező, mint az Ecore. Nem csak a hivatkozási cél típusát nem tudja megadni, hanem kétirányú hivatkozásokat sem tud meghatározni (habár az EMF ezeket a korlátozásokat a saját módján kiküszöböli).


Tartalom

0. lépés: Előfeltételek
1. lépés: A modell importálása XML-sémából
2. lépés: Az EMF-modell kódjának előállítása
3. lépés: A modell szerkesztőjének előállítása
4. lépés: Az előállított szerkesztő futtatása


 tartalom

0. lépés: Előfeltételek

Az ismertetőhöz szüksége lesz az EMF futtatócsomagra (mely az EMF-generátort és a kapcsolódó bedolgozókat tartalmazza) és az XML Schema Infoset Model (XSD) futtatócsomagra. Az utóbbi csomag tartalmazza az XML-séma EMF-modelljét, melyre az EMF a sémák beolvasásánál támaszkodik. Az egyszerűség kedvéért az egyesített EMF és XSD SDK csomag is rendelkezésre áll. A csomag(ok) telepítését követően bizonyosodjon meg arról, hogy ezek az Eclipse környezetben rendelkezésre állnak:

Az ismertetőhöz a fent nem kiemelt EMF és XSD bedolgozók nem szükségesek. További bedolgozók megjelenhetnek a listán attól függően, hogy mely csomagokat telepítette.


 tartalom

1. lépés: A modell importálása XML-sémából

Hozzon létre egy új EMF-projektet a munkaterületen:


 tartalom

2. lépés: Az EMF-modell kódjának előállítása

A generátormodell főobjektuma az egész modellt képviseli. A modell utódai a csomagokat képviselik, melynek leszármazottai az osztályozók (osztályok ás adattípusok, beleértve a felsorolási típusokat is).Az osztályok utódai az osztályattribútumok, hivatkozások és műveletek; a felsorolási típusok leszármazottai az "enum" literálok.

A legtöbb esetben a tulajdonságok alapértékeit nem kell módosítani, de ez a lehetőség nagyfokú szabadságot biztosít a kód előállítása tekintetében. Jelöljön ki különféle generátormodell objektumokat és vizsgálja meg azok tulajdonságait.

A kód előállítását a generátormodellben lehet kezdeményezni. Ezt a modell bármely objektumán jobb egérgombbal történő kattintásával lehet elérni.

Az előállítást követően a rendszer létrehozza az osztályfelületeket és az "enum" osztályt, és készít egy új felületpárt a csomaghoz és a gyárhoz. Ezen túlmenően még két új csomag is létesül ("impl" és "util" utótaggal), melyek a felületek és kiegészítő segédprogramok megvalósítását tartalmazzák, valamint a "plugin.xml" leírófájl a modell bedolgozójához.

Ha módosítja a modellt, akkor azt ismételten elő lehet állítani, és a módosításokat a rendszer összefésüli az kódban esetlegesen megtett változtatásokkal. Arra is van lehetőség, hogy a modellkódnak egy részhalmazát állítsa elő: kattintson a jobb egérgombbal a csomagra, osztályra vagy "enum" objektumra, majd válassza az előugró menü "Modellkód előállítása" menüpontját.


 tartalom

3. lépés: A modell szerkesztőjének előállítása

Bármelyik modellből elő lehet állítani egy teljesen funkcionális Eclipse szerkesztőt. Alapértelmezésben a szerkesztő két bedolgozóból áll: a "szerkesztés" bedolgozó tartalmazza azokat az illesztőket, amelyek biztosítják a strukturált nézetet és végrehajtják a parancsalapú szerkesztést; a "szerkesztő" bedolgozó pedig a felhasználói felületet biztosítja a szerkesztő és a varázsló számára.

Amennyiben a modellt, valamint a szerkesztés és szerkesztő bedolgozókat egyetlen lépésben szeretné előállítani, ezt általában az előugró menü "Valamennyi előállítása" menüpontjának kiválasztásával érheti el.

A kódot a rendszer az előállítást követően automatikusan fordítja és - változás esetén - újrafordítja. Ha az automatikus felépítést a munkaterület beállításaiban letiltotta, a fordítást saját kezűleg is elindíthatja:


 tartalom

4. lépés: Az előállított szerkesztő futtatása

Az új bedolgozók teszteléséhez az Eclipse egy második példányát, az úgynevezett futtató munkaterületét kell elindítani. A bedolgozók ezen a munkaterületen fognak futni.

A könyvtár modell varázslója segítségével most létre lehet hozni a modell új példányát.

A szerkesztőben a főobjektum a "My.library" erőforrásnak felel meg. Alatta egyetlen könyvtár található: a varázslóban modellobjektumként kijelölt objektum.


tartalom