Csomaginformációk megadása a Rose modellező eszközben

Ha az EMF-modell Rational Rose osztálydiagram segítségével készült, akkor minden egyes csomag számos, az UML nyelvben nem található információt tartalmaz, mely információkat a generátornak ezáltal a csomag nevéből kell kikövetkeztetnie. Az ilyen információkat ajánlatos inkább közvetlenül a Rose-modellben modelltulajdonságokként tárolni.

Illusztrációképpen az EMF-modell készítése című ismertető library.mdl könyvtármodelljének egy némileg módosított változatát fogjuk használni.

A modell elemeinek tartozniuk kell egy csomaghoz. Ha a modell Ecore-modellé történő átalakításakor vannak olyan elemek, amelyek nem egy csomag részei, akkor ezek számára egy külön csomag készül, melynek tulajdonságait a rendszer a modell nevéből fogja kikövetkeztetni.

Az Ecore kiegészítő Rose-modell tulajdonságainak meghatározása az "ecore.pty" tulajdonságfájlban történik. Mielőtt ezeket a tulajdonságokat be lehetne állítani, fel kell venni őket a Rose szótárába.

Az Ecore csomagtulajdonságok ekkor szerkeszthetők.

A beállítható tulajdonságok két csoportra oszthatók: ez Ecore modell tulajdonságaira és a kódkészítés mögött álló GenModel tulajdonságaira.

Az Ecore tulajdonságai az alábbiak:

packageName Az Ecore csomag neve, amennyiben eltér a Rose/UML névtől. Ha nincs beállítva, akkor név a Rose-csomag neve lesz, de kisbetűs formátumúvá alakítva.
nsPrefix A csomag XML névtartományának névtartomány előtagja, mely minősített névben a csomag névtartományának kiválasztására használatos. Ha nincs beállítva, akkor a rendszer a lenti basePackage által minősített packageName nevet használja.
nsURI Egyedi URI hivatkozás, mely azonosítja a csomag névtartományát. Ha nincs beállítva, akkor a rendszer az nsPrefix értéket használja úgy, hogy eléteszi a "http://" előtagot, hozzátűzi az ".ecore" utótagot, és az összes perjelet ("/") pontra (".") alakítja át.
annotation A csomaghoz csatolandó bárminemű jegyzet. A jegyzetek az Ecore elemeihez történő kiegészítő információk csatolásának rugalmas mechanizmusa. A jegyzet - melyet a forrás és egy egyedi karaktersorozat (tipikusan URI) azonosít - kulcs/érték karaktersorozat-párokat tartalmaz. A jegyzet meghatározása a következőképpen fest:

http://www.example.org/sourceURI kulcs1='érték1' kulcs2='érték2' ...

A GenModel tulajdonságai az alábbiak:

prefix Az az előtag, mely a csomag előállított csomag, gyár, kapcsoló, illesztőgyár (és egyéb) típusú osztályainak neveiben használatos. Ha nincs beállítva, akkor a rendszer a packageName értékét használja azzal, hogy annak első betűjét nagybetűvé alakítja át.
basePackage A Java csomag, melynek az előállított csomag az alcsomagja lesz. Ez lehetővé teszi a globálisan egyedi csomagnevekkel rendelkező kód újbóli előállítását (az üres, egymásba ágyazott alapcsomagok modellezése nélkül). Ha nincs beállítva, akkor alapértelmezést nem kap.

A fenti csomagtulajdonságokon túlmenően az Ecore tulajdonságfájl meghatározza az osztályok, attribútumok, viszonyulások és műveletek tulajdonságait, melyek a megfelelő Meghatározás párbeszédablak "Ecore" lapján találhatók.