Upřesnění informací o balíku v Rose

Pokud se jako zdroj pro generování modelu EMF používá schéma třídy Rational Rose, existuje jistý objem informací o každém balíku, které nejsou vyjádřeny v UML a vyžadují generátor, který je odvodí z názvu balíku. Namísto toho je vhodnější ukládat je přímo v modelu Rose jako vlastnosti modelu.

Pro znázornění postupu bude použita lehce upravená verze modelu knihovny z výukového programu Vygenerování modelu EMF: library.mdl.

Modelové prvky musí patřit do balíku. Pokud je model převeden na Ecore v případě, že existují prvky, které nejsou obsaženy v balíku, bude pro ně vytvořen balík a jeho vlastnosti budou odvozeny z názvu modelu.

Vlastnosti dodatečného modelu Rose v Ecore jsou definovány v souboru vlastností "ecore.pty". Před jejich nastavením je nutné je přidat do slovníku Rose.

Nyní je možno editovat vlastnosti balíku Ecore.

Vlastnosti, které je možno nastavit, se dělí do dvou skupin: vlastnosti samotného modelu Ecore a vlastnosti modelu GenModel, který řídí generování kódu.

Vlastnosti Ecore jsou následující:

packageName Název balíku Ecore, pokud je odlišný od názvu Rose/UML. Pokud není nastaven, použije se název balíku Rose, převedený na malá písmena.
nsPrefix Předpona oboru názvů pro obor názvů XML balíku, který se používá v kvalifikovaném názvu k výběru oboru názvů balíku. Pokud není nastavena, použije se hodnota packageName, kvalifikovaná v hodnotě basePackage níže.
nsURI Jedinečný odkaz URI, který určuje obor názvů XML balíku. Pokud není nastaven, použije se hodnota nsPrefix s předřazeným řetězcem "http:///", připojeným řetězcem ".ecore" a všemi "/" převedenými na ".".
anotace Jakékoli anotace, které se mají připojit k balíku. Anotace poskytují flexibilní mechanizmus pro připojování dalších informací k modelovým prvkům Ecore. Anotace se označuje pomocí zdroje, jedinečného řetězce, obvykle identifikátoru URI a obsahuje jako podrobnosti páry řetězců klíč/hodnota. Uvádí se následujícím způsobem:

http://www.example.org/sourceURI key1='value1' key2='value2' ...

Vlastnosti modelu GenModel jsou následující:

prefix Předpona, která se používá v názvech tříd generovaných balíků, továren, spínačů, továren na adaptéry (atd.) pro tento balík. Pokud není nastavena, použije se hodnota packageName s velkým počátečním písmenem.
basePackage Balík Java, ke které má být vygenerovaný balík dílčím balíkem. To umožňuje snadné vygenerování kódu s globálně jedinečnými názvy balíků (bez modelování prázdných vnořených základních balíků). Pokud není nastavena, nepoužije se výchozí hodnota.

Kromě těchto vlastností balíku soubor vlastností Ecore definuje vlastnosti pro třídy, atributy, vztahy a operace, přičemž všechny lze nalézt na kartách "Ecore" jejich příslušných dialogových oken Specifikace.