Nástroje meta-CASE

Transkript

Nástroje meta-CASE
Vysoká škola ekonomická v Praze
Fakulta informatiky a statistiky
Katedra informačních technologií
Nástroje meta-CASE
(charakteristika, historie, vývoj, srovnání)
Vedoucí práce: doc. Ing. Václav Řepa, CSc.
Autoři: Bc. Tomáš Feige, Bc. Marek Jansa, Bc. Tomáš Kořínek
Obsah
Obsah....................................................................................................................................................... 2
1
Úvod ................................................................................................................................................ 3
2
Co je to meta-CASE.......................................................................................................................... 3
2.1
Definice meta-CASE................................................................................................................. 3
2.2
Historie a vývoj meta-CASE ..................................................................................................... 4
3
Domain Specific Modeling (DSM).................................................................................................... 7
4
UML a metamodelování .................................................................................................................. 8
5
4.1
Meta-Object Facility (MOF) a vrstevná architektura............................................................... 8
4.2
GOPRR ................................................................................................................................... 10
Nástroje meta-CASE ...................................................................................................................... 10
5.1
5.1.1
ConceptBase, MetaEdit+ a CA Erwin Model Manager .................................................. 11
5.1.2
MOFLON ........................................................................................................................ 11
5.1.3
Microsoft Visual Studio 2010 Visualization & Modeling SDK (VsVmSdk)...................... 12
5.2
Eclipse GEMS pod drobnohledem ......................................................................................... 12
5.2.1
Stažení / Potřebné moduly............................................................................................ 12
5.2.2
Instalace......................................................................................................................... 13
5.2.3
Práce se samotným programem ................................................................................... 13
5.3
6
Aktuální přehled dostupných meta-CASE nástrojů ............................................................... 10
Shrnutí a porovnání............................................................................................................... 15
Závěr.............................................................................................................................................. 15
Bibliografie ............................................................................................................................................ 16
7. 1. 2011
2
1 Úvod
Cílem této práce je poskytnout čtenáři základní charakteristiku oblasti CASE (Computer Aided Systems
Engineering) a vývojových nástrojů označovaných jako meta-CASE, aby tak získal rámcovou představu
o aktuálních vývojových trendech a celkové situaci na trhu.
K tomu je nejprve nutno definovat samotnou oblast meta-CASE, popsat její vazbu na nástroje CASE a
stručně přiblížit i její historický vývoj.
V další části práce jsou pak blíže popsány principy DSM (Domain Specific Modeling), meta-modelovací
techniky a jejich vazba na modelovací jazyk UML (Unified Modeling Language).
Závěrečná část je potom věnována samotné charakteristice trhu s nástroji meta-CASE a popisu jeho
aktuálního stavu, přičemž se podrobněji zabýváme především opensource nástrojem Eclipse GEMS.
2 Co je to meta-CASE
Aby bylo možné dále hovořit o konkrétních meta-modelovacích technikách a nástrojích, je třeba
nejprve charakterizovat oblast meta-CASE obecně a definovat základní pojmy. Na to především se
soustředí právě tato část práce.
2.1 Definice meta-CASE
Obdobně jako v případě dat (zapsané a uložené informace) a meta-dat (data o konkrétních datech
obsahující charakteristiku těchto dat), modelů (účelový zjednodušený obraz zkoumané části reality) a
meta-modelů (model konkrétního modelu popisující jeho vlastnosti, vazby a strukturu) a dalších, platí
i v případě dvojice CASE a meta-CASE obdobný hierarchický vztah.
Samotných definic nástrojů CASE a meta-CASE můžeme nalézt celou řadu. Pro ilustraci uvádíme
pouze vybrané tři:
„A CASE tool is a software component supporting a specific task in the software-production process.“
(Fugetta, 1993)
„Meta-CASE tools are software tools that support the design and generation of CASE tools.“
(Wikipedia, 2010)
7. 1. 2011
3
„A term sometimes used for software packages which allow users to develop or customise their own
CASE tools.“ (Dictionary, 2010)
S ohledem na výše zmíněné tedy můžeme zjednodušeně říct, že zatímco nástroje CASE mají za úkol
podporovat vývoj konkrétního produktu (software / systému), nástroje meta-CASE představují takový
software (nebo skupinu software), který je zaměřen na podporu tvorby a vývoje samotných nástrojů
CASE (jsou tedy „nástrojem k popisu a tvorbě nástrojů“).
2.2 Historie a vývoj meta-CASE
Počátky rozvoje nástrojů meta-CASE můžeme s ohledem na první komerční produkty datovat
přibližně do první poloviny devadesátých let 20. století, ačkoliv jejich kořeny sahají zřejmě ještě o
něco dále. Samotná myšlenka meta-modelování a meta-dat obecně, spojená s nástroji podporujícími
kastomizaci (customization tools), totiž není nikterak nová a již v té době nalezla své uplatnění v řadě
jiných oblastí ICT – např. u podnikových ERP (Enterprise Resource Planning) systémů.
Její aplikace i v oblasti CASE však byla oproti jiným odvětvím zpožděna vlivem relativně vysokých
nákladů na vývoj tohoto druhu software. (Metacase, 2004) Nikomu se zkrátka nevyplatilo do toho
investovat svůj čas a peníze.
Teprve až vlivem dalšího rapidního rozvoje ICT a Internetu se začaly výrazněji projevovat nedostatky
jednotlivých nástrojů CASE, které se kvůli jejich „uzavřenosti“ nestíhaly přizpůsobovat neustále se
měnícím požadavkům trhu.
Každý nástroj CASE v zásadě podporoval pouze určitou konkrétní oblast vývoje nového software
(potažmo systému – záleží na interpretaci zkratky) a to přesně danými metodami. Tyto metody pak
byly napevno ukotveny přímo v kódu příslušného nástroje CASE (hard-coded) a staly se tak jeho
hlavní zbraní a zároveň i jeho největší slabinou a omezením. Jakákoliv změna a úprava totiž musela
být provedena nejprve na straně dodavatele nástroje CASE a poté dopravena uživateli – firmě
v podobě záplaty, vylepšení či nové verze produktu.
Princip metaCASE opustil tento dvouvrstvý rámec meta-model -> model SW / IS a přidal třetí vrstvu metamodelovací jazyk, která de facto plní roli meta-meta-modelu a zajišťuje tak výsledným
nástrojům CASE univerzalitu a tím odstraňuje jejich zmiňovanou slabinu (viz. Obrázek 1).
7. 1. 2011
4
Obrázek 1 - Srovnání CASE a meta-CASE (Metacase, 2004) upraveno (Balcar, a další, 2009)
Zcela zásadním mezi jednotlivými vrstvami meta-modelů a modelů je vztah „is-instance-of“ (je
instancí), kdy každý element na úrovni M je instancí právě jednoho elementu na úrovni M+1
(Henderson-Sellers, et al., 2003). Tento princip blíže ilustruje Obrázek 2, přičemž vše je detailněji
rozebráno dále v práci v kapitole 4.1.
Obrázek 2 - Schéma vyobrazující princip "is-instance-of" (Henderson-Sellers, a další, 2003)
7. 1. 2011
5
Samotný nástroj meta-CASE pak lze ještě dále vnitřně rozdělit na další vrstvy (viz. Obrázek 3).
Přiložený obrázek je sice 15 let starý, principielně však platí dodnes.
•
Na nejvyšší úrovni probíhá samotné meta-modelování – tedy zde jsou vytvářeny určité
repositáře meta-elementů (meta-tříd, meta-atributů) a definovány pravidla pro jejich užití.
•
V části prostředí (environment level) jsou následně z dostupných meta-tříd, meta-atributů a
metod vytvořeny jednotlivé systémové konfigurace představující vývojové prostředí pro
uživatele
•
a na nejnižší úrovni pak operuje samotný uživatel.
Pozn.: Je nutné zdůraznit, že uživatelem je v tomto případě myšlen vývojář CASE nástroje, nikoliv
koncový zákazník.
Obrázek 3 - Vnitřní struktura metaCASE nástroje Metaview (Metaview, 1996)
7. 1. 2011
6
3 Domain Specific Modeling (DSM)
Domain Specific Modeling je přístup umožňující modelování konkrétních oddělení podniku. Jak již
napovídá tento anglický název, jedná se o soubor přístupů pro využití modelování přímo ve
specifických oborech, které se v dnešních podnicích vyskytují. Vychází z předpokladu, že vývojář,
který chce ve specializované společnosti nasadit jistý informační systém, musí mít velice hlubokou
znalost dané problematiky (Kelly, a další, 2010). Je tomu tak proto, že počáteční požadavky na
informační systém vždy pocházejí od lidí z daných odvětví. Zmiňovaný vývojář musí zároveň znát svět
programového kódu. Tyto dva světy jsou však diametrálně odlišné, ať už se jedná o myšlenkové
koncepty, způsoby vyjadřování nebo jiné aspekty. Z tohoto pohledu by bylo vhodné, aby existovala
metodika, která se nějakým vhodným způsobem postará o hladký a bezproblémový převod informací
ze strany businessu na stranu informatiky. A právě v tomto momentě se na scéně objevuje DSM.
DSM si dává za cíl zkrátit cestu transformace informací mezi businessem a IT. Vychází z předpokladu,
že pokud se zaměstnanci v daném odvětví naučí danou modelovací techniku, budou schopni své
potřeby abstrahovat a vyjádřit je s dostatečnou přesností pomocí vizuálního modelu (Luoma, a další,
2010). DSM nadále umožňuje použití modelů přímo pro vygenerování funkčního kódu, který bude
použit v následném zpracování namodelovaných požadavků (Laušman, a další, 2009). Tímto
způsobem se dá abstraktně vyjádřený plán exaktně přetransformovat přímo do funkcí v reálném
systému, přičemž se minimalizuje, či eliminuje, množství potenciálních chyb, které by vznikly při
manuální implementaci.
Pro lepší pochopení problematiky uvádíme příklad. Lze si představit výrobní halu společnosti, jejíž
vedení se rozhodne změnit procesy produkce. Takováto změna se dá realizovat v zásadě dvěma
způsoby. Buďto management připraví specifikaci změn a předá zadávací dokument skupince
programátorů, kteří budou mít za úkol změny v systému implementovat. Nebo může vedení
potřebné změny namodelovat v meta-CASE nástroji a následně automaticky vygenerovat funkční kód
který bude nově vyžíván v produkčních strojích. Jak je vidět, druhý způsob je značně jednodušší a
eliminuje chyby, které by mohly vzniknout neporozuměním požadavkům. Tento příklad je
samozřejmě velmi zjednodušen, aby byly výhody DSM na první pohled vidět.
Při zavádění DSM do fungování podniku je nutné mít se na pozoru před několika domněnkami, které
mohou způsobit neúspěšnost celého projektu. Existuje několik myšlenkových konstruktů, které
mohou mít katastrofální důsledky pro nově vyvíjený DSM jazyk. Jedná se především o následující
problémy (Balcar, a další, 2009):
• podcenění množství znalostí z oboru, v němž se tvůrci jazyka pohybují
7. 1. 2011
7
•
•
•
•
omezování úkolu tvorby DSM jazyka na omezenou skupinu lidí
nedostatek zkušeností s tvorbou komplexních systémů
nedostatečně abstraktní pohled tvůrce
kladení důrazu na teorii více než na praxi
4 UML a metamodelování
UML (Unified Modeling Language) představuje sadu principů pro grafické vyjádření objektově
orientovaných systémů (UML, 2010). Již delší dobu je pod správou Object Management Group a
spadá do konceptu Model Driven Architecture, který byl vytvořen rovněž pod hlavičkou OMG v roce
2001 (OMG, 2010). Obecně vzato je UML jazyk popisující strukturu značného množství modelů pro
návrh a popis informačních systémů, čili meta-jazyk (Balcar, a další, 2009).
UML se dá poměrně elegantně využít i u již zmiňovaného DSM. Před jistou dobou totiž skupina OMG
představila koncept UML Profiles. Jak se UML postupně rozvíjelo, začala OMG cítit potřebu
specifikovat nějaký jazyk, který by byl nadřazen jejímu standardu UML. Mezi hlavní motivace k jeho
vytvoření patří dle (OMG, 2010):
• nastavení omezení, pomocí kterých lze specifikovat pravidla pro validitu jednotlivých
modelů
• standardizace omezení potřebných pro definici meta modelů
• standardizace ostatních prvků jazyka (stereotypes, tags...)
• definování sémantiky, která se „nad“ UML modelech dosud vyskytovala pouze ve
formě přirozeného jazyka
UML Profiles se tedy dají chápat jako profily, které se dají aplikovat na jednotlivé UML typy modelů.
Pomocí nich pak lze dosáhnout jisté úrovně customizace v případě, že by daná společnost
potřebovala nastavit entitám svoje vlastní parametry atd. UML Profiles jsou široce podporovány,
avšak oproti skutečným meta-CASE jazykům neumožňují osobní nastavení komplexního generování
kódu ani implementaci validací.
4.1 Meta-Object Facility (MOF) a vrstevná architektura
Mluvíme-li o UML jako o meta-jazyku, nemůžeme opominout zmínit, že existují také různé úrovně
meta-jazyků. UML je z hlediska meta-modelování poskládáno do 4 vrstev (Wikipedia, 2010). Tyto
vrstvy se znázorňují od nejabstraktnější (nejvyšší číslo – M3) po nejkonkrétnější (nejnižší číslo – M0).
Doteď jsme psali o UML standardu v jeho původní variantě, která se v této vrstevné architektuře
nazývá vrstvou M2. Vrstvě M2 je meta modelem vrstva M3, která obsahuje elementy používané
v Meta-Object Facility (MOF). Jedná se o další standard z produkce OMG a jeho hlavní smysl vidí jeho
7. 1. 2011
8
tvůrci ve snadné možnosti definice elementů UML. Pro připomenutí, MOF jakožto vrstva M3, může
definovat a modifikovat elementy, které budou následně součástí meta modelu UML, popř. jiných
meta-modelů.
Další vrstvou modelu je vrstva M1, která obsahuje již samotné vytvořené modely, ať už se jedná o
UML nebo ERD diagramy.
Vrstva M0 je potom označení pro objekty reálného světa.
Situaci přibližuje Obrázek 4:
Obrázek 4 - Představení 4-vrstvé architektury (převzato z http://www.jot.fm/issues/issue_2006_11/article4/)
MOF je tedy koncept používaný k popisu a klasifikaci entit z úrovně M2. Celou tuto notaci tvoří
značné množství tříd, které se při modelování dají použít. Uvedeme zde jen ty nejdůležitější. Dle
(Poernomo, 2006) se jedná se především o:
• MetaClassifier - obecná nadtřída pro všechny klasifikátory
• MetaClass – třída pro entity, které nemají základní datový typ
• DataType – třída pro stanovení datového typu
• Atribute – pro atributy, které mohou být přiřazené entitám meta-modelu
• Association – pro vztahy mezi třídami
7. 1. 2011
9
Existují však také další modelovací notace (např. GOPRR, COMMA, atd.). Nyní se pokusím stručně
charakterizovat jednu z nich – GOPRR.
4.2 GOPRR
GOPRR je zkratka od Graphs, Objects, Properties, Roles and Relationships. Základní myšlenkou je
vytvářet grafické modely, které budou zobrazovat objekty a vazby mezi nimi (Poernomo, 2006).
GOPRR umožňuje znovupoužití nadefinovaných rolí a navázání objektů jak na sebe navzájem, tak na
jejich role. Sémantika jednotlivých typů objektů je podobná jako v ostatních meta-meta jazycích. S
ohledem na zadání úkolu, který je třeba namodelovat, lze zjednodušeně napsat, že Objects zastupují
podstatná jména, Relationships slovesa, Properties jsou vlastnosti objektů, Role popisují účastníky
atd. GOPRR má také širokou množinu datových typů, které podporuje. Kromě tradičních typů, jako je
number, string nebo text existují dále například VectorGraphics nebo Non-Property (pro specifikaci
atributů, které jsou samy o sobě objekty, a tudíž nemohou být typu Property (Laušman, a další,
2009).
5 Nástroje meta-CASE
(Laušman, a další, 2009) přináší celkem jasný a ucelený přehled o dostupných meta-CASE nástrojích,
proto jsme se rozhodli, že podobnému výčtu budeme věnovat jen nutné minimum a pokusíme se
raději zaměřit na jeden z nich. Jedná se o nástroj z projektové dílny Eclipse jménem GEMS
(TheGenericEclipse Modeling System) a zvolili jsme ho z toho důvodu, že je mezi posledními dvěma
nástroji (společně s CA Erwin), které jsou ještě relativně aktuální a nebyly doposud podrobně
popsány v předchozích pracích.
5.1 Aktuální přehled dostupných meta-CASE nástrojů
(Laušman, a další, 2009) velice hezky vystihují situaci na trhu s nástroji meta-CASE slovy „[…]je patrný
úbytek komerčních nástrojů a stagnace (co do počtu produktů) na poli akademických nástrojů.
Zároveň je třeba si povšimnout nulového vývoje za poslední rok celkově u všech produktů.“ Situace se
od té doby výrazně nezměnila, došlo k několika aktualizacím u komerčních produktů, ovšem
akademické projekty se zdají být i nadále „mrtvé“. Podle aktuálnosti webových prezentací a četnosti
nových releasů jsme vyfiltrovali 6 posledních meta-case nástrojů, které mají podle nás šanci dál se
vyvíjet a existovat. Ostatní nástroje, zmiňované v (Balogh, a další, 2005), (Apfelthaler, a další, 2006),
(Burian, a další, 2007) a v (Blaha, a další, 2008) nám přijde již zbytečné opakovat, neboť se začínají
ztrácet v temnotách minulosti. Jazýčky vah se nám vyrovnaly, na straně komerční sledujeme stejně
jako na té akademické po 3 produktech.
7. 1. 2011
10
5.1.1 ConceptBase, MetaEdit+ a CA Erwin Model Manager
Tyto 3 produkty jsou krátce, ale výstižně popsány v již několikrát zmiňované práci našich kolegů
z roku 2009 (Laušman, a další, 2009).
ConceptBase
K jediné změně, ke které zde došlo, je aktualizace programu z verze 7.1 na verzi 7.2 v červnu roku
2009 a podle našeho názoru by se brzy měla objevit verze 7.3, protože aktualizace tohoto nástroje
jsou velmi pravidelné – to ostatně můžeme vysledovat i z minulých prací, kde se každým rokem
posouváme o verzi výš (prokazatelné od práce z prosince 2005 (Balogh, a další, 2005) dál
(Apfelthaler, a další, 2006), (Burian, a další, 2007), (Kubal, a další, 2008)). Samotnému ConceptBase je
pak věnována větší část povídaní v práci ze zimního semestru 2006 (Apfelthaler, a další, 2006).
Nástroj jsme si nainstalovali, ale vzhledem k jeho uživatelskému rozhraní jsme nad ním nestrávili moc
času. I když je často aktualizovaný, grafický vývoj se zastavil snad s první verzí.
MetaEdit+
MetaEdit+ je komerční nástroj a vyčerpávající informace k němu naleznete v naposledy citované
práci. Bohužel výrok kolegů (Laušman, a další, 2009), že „vývoj poněkud usnul na vavřínech“ je stále
platný a další verze již téměř 3 roky ne a ne přijít. O aktivitě firmy MetaCase, která tento nástroj
vyvíjí, však není pochyb – stačí se podívat na jejich webovou prezentaci – na poslední čtvrtletí mají
naplánovaných 6 akcí probíhajících na 3 různých kontinentech. (MetaCase, 2010) Důvod pozastavení
prací na tomto nástroji nám proto není znám.
CA Erwin Model Manager
CA Erwin Model Manager je další z komerčních produktů, který se úspěšně vyvíjí již téměř deset let.
Mnoho informací k němu však neexistuje, ale je zmíněn již v práci z roku 2005 (Balogh, a další, 2005)
a to ještě pod názvem „Allfusion Component Modeler“. Je to právě ten jeden z dvou nástrojů, o
kterých mluvíme v úvodu – aktuální, ale zatím nepopsaný. Na oficiálních stránkách bohužel není
k dispozici ani zkušební verze (Erwin, 2010), ale pro budoucí badatele by stálo za pokus zkusit si o ni
napsat.
5.1.2 MOFLON
MOFLON je OpenSource meta-case nástroj zaštítěný licencí GNU. Od data jeho prvního vypuštění
v prosinci roku 2006 (Real-Time Systems Lab, 2010) je pravidelně vyvíjen a jeho poslední verze
z listopadu 2009 je již u čísla 1.4.0. Podrobně se mu věnuje druhá část (Laušman, a další, 2009). Bylo
velice jednoduché ho stáhnout a naistalovat – je to hotová JAR aplikace, která k instalaci potřebuje
7. 1. 2011
11
pouze Java VM. To shledáváme jako pozitivum především pro uživatele, kteří by si rádi „osahali“
nějaký podobný nástroj a nechtějí rovnou investovat do velkého komerčního produktu. Uživatelské
prostředí nástroje je potom velice podobné tomu z Javy a velice intuitivní.
5.1.3 Microsoft Visual Studio 2010 Visualization & Modeling SDK (VsVmSdk)
Původně Microsoft DSL Tools, který byl zakomponován do obsáhlejšího SDK popsaného přesně
„Domain Specific Languages (DSL Tools) and Architecture Tools SDK“ (Microsoft, 2010) umožňuje
vytvářet nebo rozšiřovat CASE nástroje založené na Visual Studiu. Výhodný je pro ty, kteří pracují v
MSVS a tudíž si nemusí kupovat celé prostředí, ale pouze zdarma stáhnout daný SDK a jak je i řečeno
v (Blaha, a další, 2008), jejich práce může začít téměř okamžitě, protože prostředí již vlastně dobře
znají. V citovaném dokumentu nalezneme celkem podrobný popis Microsoft DSL Tools. Poslední
verze VsVmSdk pochází z března tohoto roku.
5.2 Eclipse GEMS pod drobnohledem
Poslední nástroj, který nám zbývá, je již v úvodu kapitoly zmiňovaný Eclipse GEMS (Generic Eclipse
Modeling System). V úvodu si dovolíme si citovat několik vět z (Laušman, a další, 2009) „GEMS, tak
jak již u výtvorů projektu Eclipse bývá zvykem, obsahuje mnoho nadstandardních funkcí a funkcionalit,
které bychom spíše očekávali u komerčních produktů (jako např. vzdálené aktualizace a dotazování
se, tvorbu šablon, úprava vzhledů pomocí CSS či provázání modelů). Na projektu se účastní takové
společnosti jako IBM, Siemens či PrismTech, a samozřejmě profesor Schmidt, autor GME.“ Tato slova
jsou velice pravdivá – u neplaceného projektu jsme nečekali takovou obsáhlost a kvalitu, jakou se
Eclipse může chlubit.
GEMS je tedy projekt komunity Eclipse, což je OpenSource vývojová platforma známa jako IDE pro
jazyk Java. Eclipse je založený na flexibilitě a rozšiřitelnosti pomocí pluginů, a proto je možné v něm
programovat i v jiných jazycích a navrhovat i UML modely nebo psát XML. Jeden z těchto pluginů je i
GEMS.
Samotní autoři, DOC (Distributed Object Computing) Group z Institutu pro Integrované Softwarové
Systému Vanderbiltské Univerzity, definují poslání GEMS jako vyplnění mezery mezi dvěma
komunitami: jednou zkušenou v oboru metamodelovacích nástrojů jako je GME a druhou komunitou,
která je postavena okolo modelovacích technologií Eclipse jako jsou EMF (Eclipse Modeling
Framework) a GMF (Graphical Modeling Framework). (The Eclipse Foundation, 2010)
5.2.1 Stažení / Potřebné moduly
K tomu, abyste mohli začít používat GEMS, je potřeba velice málo. Stačí si stáhnout Eclipse Modeling
Tools na adrese http://www.eclipse.org/downloads/ (26. 11. 2010). K dispozici jsou verze jak pro 64
7. 1. 2011
12
tak 32 bitové operační systémy a to Windows, Linux a Mac OS X. A dále pak samozřejmě samotný
modul GEMS http://www.eclipse.org/gmt/gems/download.php (26. 11. 2010). Zatímco vývojové
prostředí je balíček o velikosti přes 200MB, samotný GEMS plugin má pouze 2MB.
5.2.2 Instalace
Instalace Eclipse je velice snadná, jestli se dá vůbec o nějaké instalaci mluvit. Stažený soubor rozbalíte
do libovolného umístění a aplikaci jednoduše spustíte. Pro používání GEMS je však třeba předtím
rozbalit obsah staženého pluginu kam jinam než do složky [Eclipse]\Plugins. Teď již vám nic nebráni
v tom, namodelovat si svůj vlastní CASE nástroj!
5.2.3 Práce se samotným programem
Nejjednodušší způsob, jak si práci s programem představit je si ho nainstalovat a zkusit si ho na
vlastní kůži. My jsme tomu tak učinili a to za pomoci krátkého tutorialu přimo ze stránek projektu,
který vás krok po kroku navede, jak si namodelovat jednoduchý nástroj použitelný při designu
rozmístění softwarových komponent na jednotlivých uzlech (serverech) datacentra. Tutorial, který
naleznete na adrese http://wiki.eclipse.org/GEMS_Metamodeling_Tutorial (26. 11. 2010) je velice
detailní, plný screenshotů a při jeho čtení nenarazíte na žádné skryté problémy, jako to u většiny
tutoriálů bývá. Začíná u samotného vytvoření nového GEMS projektu, pokračuje přes část
modelování, spouštění hotového nástroje a končí u toho, jak je možné si hotový nástroj graficky
přizpůsobit. Pro představu přikládáme dvě ukázky z našeho tvoření - Obrázek 5 a Obrázek 6.
7. 1. 2011
13
Obrázek 5 - Eclipse GEMS, modelování CASE nástroje
Obrázek 6 - Eclipse, GEMS - hotový a spuštěný nástroj
7. 1. 2011
14
5.3 Shrnutí a porovnání
Subjektivní hodnocení: Který je nejlepší a pro koho. Vyplatí se zaplatit si za VsVmSdk resp. Erwina
nebo postačují akademické a opensource produkty?
Představili jsme si tedy vybraných šest nejaktuálnějších a „živých“ meta-case nástrojů na trhu. Vybrali
jsme je podle kritéria četnosti release a samozřejmě aktuálnosti toho posledního. Jmenovitě to jsou,
z opensource nebo akademických projektů, ConceptBase, MOFLON a Eclipse GEMS a z placených
produktů pak MS Visual Studio 2010 Visualization & Modeling SDK, CA Erwin Model Manager a
MetaEdit+. Nabízí se otázka, který z těchto produktů si vybrat. Odpověď na ni je různá – záleží na
tom, kdo si vybírá. Pro nenáročné pokusy s metamodelováním a studijním účelům budeme rozhodně
vybírat z neplacených nástrojů; my osobně bychom zvolili aplikaci MOFLON, která nás potěšila
jednoduchou instalací, příjemným uživatelským prostředím a dobrou dokumentací. Naopak pro
malou firmu nebo vážnější projekty, kde ale není peněz nazbyt, bychom volili platformu Eclipse:
seznámení s prostředím je sice zdlouhavější, stejně jako čtení tutoriálů a manuálů roztříštěných po
celé komunitě, ale nabízí spoustu možností za bezkonkurenčních podmínek – je zdarma. Nakonec pro
velkou firmu, kde platí opačné pravidlo že „čas jsou peníze“ bychom pak vybrali nástroj od
Microsoftu, hlavně díky intuitivnímu a známému prostředí MS Visual Studio, kvalitní dokumentaci a
podpoře, díky kterým může samotné modelování být zahájeno za zlomek času, než kolik ho vyžadují
ostatní produkty.
6 Závěr
Tato práce si dala za cíl nabídnout svému čtenáři určitý úvod do oblasti nástrojů meta-CASE a to jak
po teoretické stránce (v první části), tak i po té praktické – srovnáním aktuálně fungujících meta-CASE
modelovacích nástrojů na trhu.
Věříme, že jsme vytyčeného cíle dosáhli a tato práce poslouží jednak případným zájemcům o tuto
oblast a dále jako odrazový bod budoucím řešitelům nějakého tematicky příbuzného problému. My
sami jsme při zpracovávání rovněž čerpali z předchozích prací svých kolegů a rádi tímto hrdě staneme
po jejich boku.
7. 1. 2011
15
Bibliografie
Apfelthaler, Jan, a další. 2006. Nástroje meta-CASE. [Online] Prosinec 2006. [Citace: 1. Listopad
2010.] http://panrepa.org/CASE/zima2006/meta_case_zima06.pdf.
Balcar, Filip, a další. 2009. Nástroje meta-CASE. [Semestrální práce] Praha : Vysoká škola ekonomická
v Praze, 2009.
Balogh, István, a další. 2005. Nástroje meta-CASE. [Online] Prosinec 2005. [Citace: 1. Listopad 2010.]
http://panrepa.org/CASE/meta_CASE.pdf.
Blaha, Jan a Hrabal, Jan. 2008. Nástroje meta-CASE. [Online] Prosinec 2008. [Citace: 1. Listopad
2010.] http://panrepa.org/CASE/podzim2008/meta_case_podzim2008.pdf.
Burian, Petr, Gottwald, Tomáš a Přikryl, Jan. 2007. Nástroje meta-CASE. [Online] Červen 2007.
[Citace: 1. Listopad 2010.] http://panrepa.org/CASE/jaro2007/meta_case_jaro2007.pdf.
Dictionary. 2010. Meta-CASE tool. The Free On-line Dictionary of Computing. [Online] Denis Howe,
2010. [Citace: 28. 10 2010.] http://dictionary.reference.com/browse/Meta-CASE+tool.
Eclipse. 2010. About the Eclipse Foundation. Eclipse. [Online] Eclipse, 2010. [Citace: 1. Listopad
2010.] http://www.eclipse.org/org/.
Eclipse. 2007. Eclipse Magazine: Vol. 6. [Online] Leden 2007. [Citace: 1. Listopad 2010.]
http://www.cs.wustl.edu/~schmidt/PDF/Eclipse_Magazine_Volume06.pdf.
Erwin. 2010. CA Erwin Model Manager. Erwin. [Online] Erwin, 2010. [Citace: 1. Listopad 2010.]
http://erwin.com/products/detail/ca_erwin_model_manager/.
Fugetta, A. 1993. A classification of CASE Technology. Computer. [Online] 1993. [Citace: 28. 10 2010.]
http://www.computer.org/portal/web/csdl/doi?doc=abs/mags/co/1993/12/rz025abs.htm.
Henderson-Sellers, Brian, a další. 2003. Understanding Metamodelling. [Přednáška] místo neznámé :
ER2003, 2003.
Kelly, Steven a Tovalen, Juha. 2010. Visual domain-specific modelling: Benefits and experiences of
using metaCASE tools. DSM Forum. [Online] 2010. [Citace: 24. 10 2010.]
http://www.dsmforum.org/papers/Visual_domain-specific_modelling.pdf.
Kubal, Pavel, Vávra, Ondřej a Fisher, Roman. 2008. Nástroje meta-CASE. [Online] Červen 2008.
[Citace: 1. Listopad 2010.] http://panrepa.org/CASE/jaro2008/meta_case_jaro2008.pdf.
Laušman, Jakub, Kulhavý, Lukáš a Tománek, Jiří. 2009. Nástroje meta-CASE. [Online] Červen 2009.
[Citace: 1. Listopad 2010.] http://panrepa.org/CASE/jaro2009/meta_case_jaro2009.pdf.
7. 1. 2011
16
Luoma, Janne, Steven, Kelly a Juha-Pekka, Tolvanen. 2010. Defining Domain-Specific Modeling
Languages: Collected Experiences. CiteSeerX. [Online] 2010. [Citace: 24. 10 2010.]
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.6595&rep=rep1&type=pdf.
Metacase. 2004. ABC to MetaCASE. MetaCase. [Online] 2004. [Citace: 28. 10 2010.]
http://www.metacase.com/papers/ABC_to_metaCASE.pdf.
MetaCase. 2010. MetaCase upcoming events. MetaCase. [Online] MetaCase, 2010. [Citace: 1.
Listopad 2010.] http://www.metacase.com/events/index.html.
Metaview. 1996. Metaview Project. [Online] University of Alberta, 1996. [Citace: 28. 10 2010.]
http://webdocs.cs.ualberta.ca/~softeng/Metaview/project.html.
Microsoft. 2010. Download details: Microsoft Visual Studio 2010 Visualization & Modeling SDK.
Microsoft Download Center. [Online] 31. Březen 2010. [Citace: 1. Listopad 2010.]
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0def949d-2933-49c3-ac50e884e0ff08a7&displaylang=en#QuickDetails.
OMG. 2010. UML Profile Specifications. Profile Catalog. [Online] Object Management Group, 2010.
[Citace: 24. 10 2010.] http://www.omg.org/technology/documents/profile_catalog.htm.
Poernomo, Iman. 2006. The Meta-Object Facility Typed. [Paper] London : King’s College London,
2006.
Real-Time Systems Lab. 2010. MOFLON > Getting MOFLON > Download. [Online] 2010. [Citace: 1.
Listopad 2010.] http://www.moflon.org/getting-moflon/download/.
The Eclipse Foundation. 2010. Eclipse. GEMS Home page. [Online] The Eclipse Foundation, 2010.
[Citace: 26. listopad 2010.] http://www.eclipse.org/gmt/gems/.
UML. 2010. Unified Modeling Language. UML. [Online] 2010. [Citace: 24. 10 2010.]
http://www.uml.org.
White, Jules. 2008. GEMS Metamodeling Tutorial. Eclipse Wiki. [Online] 1. Únor 2008. [Citace: 1.
Listopad 2010.] http://wiki.eclipse.org/GEMS_Metamodeling_Tutorial.
Wikipedia. 2010. MetaCASE tool. Wikipedia, The Free Encyclopedia. [Online] Wikimedia Foundations,
2010.
[Citace:
28.
10
2010.]
http://en.wikipedia.org/w/index.php?title=MetaCASE_tool&oldid=374534357.
Wikipedia. 2010. Meta-Object Facility. Wikipedia, The Free Encyclopedia. [Online] Wikimedia
Foundations, 11. 4 2010. [Citace: 24. 10 2010.] http://en.wikipedia.org/w/index.php?title=MetaObject_Facility&oldid=355318543.
7. 1. 2011
17

Podobné dokumenty

Teoretická východiska deduktivních databází

Teoretická východiska deduktivních databází Deduktivní databáze jsou založeny na podpoře teorie dokazování a jsou schopné dedukce dodatečných faktů z faktů, které jsou uloženy v extenzionální databázi. Mají zabudovány speciální deduktivní ax...

Více

modelování busimess procesů a dalších aspektů business systému

modelování busimess procesů a dalších aspektů business systému zákazníků k oblíbeným CABE nástrojům na českém trhu. U tohoto počtu je potřeba zmínit, že se jedná většinou o aktivní zákazníky, kteří nástroj používají a jsou v kontaktu s firmou, na rozdíl od jin...

Více

Přehled nástrojů CASE na tuzemském trhu

Přehled nástrojů CASE na tuzemském trhu Dokument Přehled nástrojů CASE na tuzemském trhu a jeho aktuální verze pokračují v sérii prací vytvořených pro předmět 4IT450 (CASE - Computer Aided Systems Engineering). Tento dokument, jeho ostat...

Více

Bylo nebylo… aneb v Kofola Music Clubu se za 10 let událo

Bylo nebylo… aneb v Kofola Music Clubu se za 10 let událo 37. 10. 09. The Proxima 1979 – 2004 + The Flowers 1966 – 2004 38. 11. 09. Poslední Výstřel, Fusion trio, Kuličky štěstí 39. 18. 09. Sextet nova 30 let + host: Rock krok + jam session 40. 20. 09. O ...

Více

Využití CASE ve vývojářské firmě

Využití CASE ve vývojářské firmě 1. Vývojem CASE nástrojů, podporovanými metodikami a přínosy plynoucí z jejich použití. Detailně jsou pak popsány podporované typy diagramů pro modelování v CASE nástrojích a charakteristiky vybran...

Více

Vysoká škola ekonomická v Praze Metodika pro výběr a nasazení

Vysoká škola ekonomická v Praze Metodika pro výběr a nasazení aktuálně řešila. Stávající metodiky jsou již zastaralé a nevyhovují, neboť byly vytvořeny v určité fázi technologického vývoje, která je dnes již překonaná. Při psaní práce budu vycházet převážně z...

Více

Uèební text - střední škola elektrotechnická, ostrava, na jízdárně 30, po

Uèební text - střední škola elektrotechnická, ostrava, na jízdárně 30, po Programováním rozumíme posloupnost kroků, které vedou k vyřešení určitého zadaného úkolu pomocí programovacího jazyku. Jde tedy o posloupnost příkazů přesně definovaných v určitém programovacím jaz...

Více

zde ke stažení

zde ke stažení po nedělích. Za pěkného počasí cvičeno na lukách, za nepohody seznamováni s vojenským řádem ve škole. Při tom počítáno s tím, že mohou býti takto přpravení mladíci posláni brzy na bojiště. Později ...

Více