Metamodeling v nástroji Enterprise Architect

Metamodeling
Metamodeling je softwarová technika pro popis modelů. Zahrnuje vytváření pravidel, omezení a modelů, které charakterizují vlastní doménový model. Tak jako model je abstrakcí a popisem reálného světa, metamodel je abstrakcí a popisem vlastností samotného modelu. Model by tak měl vždy odpovídat požadavkům, resp. specifikaci, které jsou definovány metamodelem.

Metamodely jsou důležitou součástí modelem řízené architektury konsorcia OMG (Object Management Group). Hlavní myšlenkou je především důsledné oddělení aplikační a business logiky od zvolené technologické platformy. Modelem řízená architektura tak rozděluje architekturu na čtyři úrovně: model nezávislý na počítačovém zpracování (CIM), model nezávislý na platformě (PIM), model specifický na konkrétní platformě (PSM) a zdrojový kód aplikace.

Modelem řízená architektura je založena na použití jazyka pro psaní metamodelů takzvaného Meta Object Facility (MOF). Meta Object Facility je standardem konsorcia OMG pro modelem řízené softwarové inženýrství, jednoduše řečeno je standardem pro psaní metamodelů, který podporuje také Enterprise Architect.

Metamodeling v EA
Enterprise Architect podporuje metamodeling na několika úrovních. V Toolboxu nazvaném Metamodel jsou k dispozici elementy pro vytváření diagramů metamodelu včetně podpory diagramů Meta Object Facility. V podnabídce Metamodel je k dispozici element Package, Class, Enumeration a Primitive, který podporuje specifikaci MOF, nyní je však ve stavu Deprecated a místo něj se doporučuje element UML Primitive v nabídce Class. V podnabídce Metamodel Relationships jsou pak k použití vztahy Generalize, Associate, Compose a Aggregate.

MOF diagramy
Enterprise Architect podporuje export balíčků do XMI (standard XML Metadata Interchange pro výměnu metadat) pod standardem Meta Object Facility 1.3 a 1.4. Metamodely MOF lze v EA jednoduše vytvořit přiřazením stereotypu Metamodel k běžnému balíčku. MOF je navrženo jako 4-vrstvá architektura, jak popisuje následující diagram:

Metamodely MOF jsou velmi podobné modelům UML a obvykle jsou vytvořeny jako UML Class diagramy. Druhou možností je pak využití výše zmíněné nabídky Metamodel v Toolboxu pro vytvoření jednotlivých MOF elementů a konektorů. Příbuzným standardem k MOF je OCL (Object Constraint Language), který popisuje formální jazyk pro definování omezení v modelu prostřednictvím predikátové logiky.

Vytvoření MOF diagramu v EA
MOF diagramy jsou běžné Class diagramy, které jsou umístěné v balíčku se stereotypem metamodel. V EA je tedy nutné nejprve vytvořit příslušný balíček a dvojitým kliknutím myši na jeho jméně si vyvolat dialog Properties. Tady stačí v poli Stereotype změnit hodnotu na metamodel a potvrdit tlačítkem Ok. Dále je třeba pravým stiskem myši na balíčku v okně Project Browser vyvolat kontextovou nabídku a zvolit Add | Add Diagram. Pak stačí vytvořit běžný Class diagram a potřebné elementy a jejich vazby do něj vložit z Metamodel Toolboxu, který lze vyvolat z hlavního menu More tools | Metamodel.

Export MOF diagramu do XMI
Export MOF diagramu do XMI lze provést pravým kliknutím myši na balíčku v okně Project Browseru a výběrem Import/Export | Export Package to XMI File. V otevřeném dialogovém okně je třeba zvolit jméno XMI souboru v poli Filename, zrušit zaškrtnutí Enable full EA Roundtrip a vybrat standard MOF 1.3 nebo MOF 1.4 v poli XMI Type. Pak stačí jen zmáčknout Export a čekat na vytvoření souboru. Jakmile je vytvořen, lze si jej prohlédnout stiskem tlačítka View XMI.

Import MOF diagramu z XMI
Enterprise Architect podporuje import MOF diagramů ve standardu MOF 1.3 (XMI 1.1) a MOF 1.4 (XMI 1.2). Samotný import lze provést dvěma způsoby:

  1. pravým kliknutím myši vyvolat kontextové menu cílového balíčku v okně Project Browseru a výběrem položky Import/Export | Import Package From XMI nebo
  2. vybrat cílový balíček v okně Project Browser a z hlavního menu zvolit Extensions | Import | Project | Model Import/Export | Import Package From XMI File.

Otevře se dialogové okno pro import, kde je vhodné zaškrtnout možnost Strip GUIDs, což odstraní univerzální identifikátor z importovaného souboru a umožní tak import jednoho balíčku dvakrát do stejného modelu. Dále se doporučuje zvolit vytvoření logovacího souboru Write log file, který se uloží do adresáře importovaného souboru. Po potvrzení importu tlačítkem Import se vymaže obsah zvoleného cílového balíčku a naimportuje se do něj soubor XMI.

Ontologie
Ontologie je v informatice výslovný (explicitní) a formalizovaný popis určité problematiky.

Další možností tvorby metamodelů (resp. ontologií) v EA je využití tzv. ODM (Ontology Definition Model). ODM nabízí pokročilé modelování ontologií uvnitř aplikace Enterprise Architect od verze 9.2. Velmi snadno tak můžete vyvíjet rozsáhlé ontologie pro svou projektovou doménu uvnitř plně integrovaného modelovacího prostředí. Pomocí ontologií lze definovat společný slovník pro sdílení informací o doméně. Ontologie nabízejí standardizované, strojově interpretovatelné definice základních konceptů uvnitř domény a popis jejich vztahů. Pomocí formálně definovaných ontologií lze lépe sdílet informace, explicitně je stanovit, separovat znalosti o doméně, efektivněji je analyzovat a snadněji je opakovaně využívat.

Ontology Definition Model
Ontology Definition Model je standardem konsorcia OMG pro tvorbu ontologií. Je klíčovou součástí modelem řízené architektury pro formalizovanou reprezentaci business sémantiky a taxonomií. ODM definuje dvě rozšíření jazyka UML (Unified Modeling Language) pro popis ontologií:

  • Resource Decription Framework (RDF) pro reprezentaci dat, properties a formální sémantiku informací na webu a
  • Web Ontology Language (OWL) pro reprezentaci pojmů ve slovníku a jejich vzájemné vztahy.

MDG Technology for ODM
MDG Technology for ODM je rozšířením aplikace Enterprise Architect, které implementuje Ontology Definition Model konsorcia OMG. Prostřednictvím rozšíření MDG Technology for ODM lze využít následující funkcionality EA:

  • UML Profile for the Resource Decription Framework (RDF),
  • UML Profile for Web Ontology Language (OWL),
  • Toolbox nabídky a diagramy s elementy a vztahy pro vytváření ontologií,
  • modelové šablony Model Templates pro co nejrychlejší modelování ontologií a
  • příkazy pro import a export RDF a OWL souborů a definování nových jmenných prostorů pro ODM balíčky a štítků (labels) pro OWL a RDF elementy.

Zapnout či vypnout rozšíření MDG Technology for ODM lze v EA pomocí dialogové nabídky Settings | MDG Technologies z hlavního menu.

ODM v EA
Ontology Definition Model je v Enterprise Architectu k dispozici především prostřednictvím Toolboxů, konkrétně se jedná o dvě skupiny Toolbox nabídek:

  • Toolbox Web Ontology Language (OWL) pro diagramy typu Ontology Definition a Ontology Facts a
  • Toolbox Resource Description Framework (RDF) pro diagramy typu Resource Definition.

Oba Toolboxy lze otevřít z hlavního menu příkazem View | Diagram Toolbox: More Tools | ODM | Web Ontology Language a View | Diagram Toolbox: More Tools | ODM | Resource Decription Framework. K dispozici jsou zde speciální elementy, properties, vztahy mezi elementy a sémantické vztahy.

Výsledný OWL definiční diagram pak může vypadat například takto:

ODM příkazy
Kromě Toolboxů nabízí MDG Technology for ODM také čtyři příkazy pro správu a údržbu ODM modelů. Jsou dostupné z hlavního menu Extensions | ODM | Extensions | Import | OWL/RDF nebo Extensions | Publish | OWL/RDF a jedná se o:

Provádí se obdobným způsobem jako export. Stačí si vybrat balíček RDF dokumentu nebo OWL ontologie, do kterého má být soubor importován a příkazem Extensions | ODM | Import OWL/RDF nebo Extensions | Import | OWL/RDF z hlavního menu otevřít dialogové okno pro výběr souboru k importu.

  1. Export OWL/RDF modelů jako .RDF nebo .XML soubor:
    Provádí se výběrem RDF dokumentu nebo balíčku OWL ontologie v okně Project Browseru a příkazem Extensions | ODM | Export OWL/RDF nebo Extensions | Publish | OWL/RDF z hlavního menu. Objeví se dialogové okno, kde si lze vybrat umístění souboru pro export a jeho název.
  2. Import OWL nebo RDF obsahu z .OWL a .RDF XML dokumentu a vytvoření ODM balíčku s modelem:
  3. Vytvoření nového jmenného prostoru pro balíček RDF dokumentu nebo OWL ontologie:
    Nejprve je třeba zkontrolovat dialog Tools | Options | Objects dostupný z hlavního menu a zaškrtnout možnost Show Duplicate Tags. Poté je třeba v okně Project Browseru vybrat RDF nebo OWL balíček, ve kterém má být alokován nový jmenný prostor a vybrat příkaz Extensions | ODM | Define New Namespace z hlavního menu. Teď již stačí dvojitým kliknutím myši na vybraném balíčku zobrazit jeho Properties dialog a vybrat stránku RDF. Tady je již vytvořen nový tag namespaceDefinition, u kterého lze nastavit hodnoty namespacePrefix a namespaceURI.
  4. Vytvoření nového štítku pro RDF nebo OWL element:
    Opět je třeba nejprve zaškrtnout Show Duplicate Tags v nabídce Tools | Options | Objects a v okně Project Browser vybrat RDF nebo OWL element, ke kterému má být vytvořen nový štítek. Poté stačí dvojitým kliknutím na zvoleném elementu otevřít jeho Properties dialog a na kartě RDF vybrat nově vytvořený štítek. U něj pak lze nastavit nové hodnoty pro language a value.

Závěr
Metamodeling je velmi užitečnou technikou pro popis modelů. V aplikaci Enterprise Architect je k dispozici podpora diagramů Meta Object Facility i ontologií ODM konsorcia OMG. Pro práci s ontologiemi lze využít rozšíření MDG Technology for ODM, které umožňuje práci s frameworkem RDF i jazykem OWL. Součástí MDG jsou toolboxové nabídky s elementy a vztahy, modelové šablony a příkazy pro pokročilou práci s ontologiemi.

Zaujaly vás možnosti práce s ontologiemi a metamodely? Rádi byste je použili ve své praxi? Chcete vědět víc? Využijte služeb certifikovaných školitelů společnosti Dataprojekt s.r.o. Nabídneme vám obecná školení systému Enterprise Architect i osobní konzultace nad konkrétními problémy z vaší praxe.

Leave a comment

Filtered HTML

  • Webové a e-mailové adresy jsou automaticky převedeny na odkazy.
  • Povolené HTML značky: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Řádky a odstavce se zalomí automaticky.

Plain text

  • Nejsou povoleny HTML značky.
  • Webové a e-mailové adresy jsou automaticky převedeny na odkazy.
  • Řádky a odstavce se zalomí automaticky.
Image CAPTCHA
Enter the characters shown in the image.