Nástroje meta-CASE
Transkript
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í
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...
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...
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...
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 ...
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...
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...
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...
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 ...