a jeho praktická aplikace Štěpán Vacek Univerzita Hradec Králové Liberecké informatické fórum 2010
2/12 Osnova: Modelování (charakteristika, nevýhody) Meta-modelování (s MOF) Meta-model/UML profil Praktická aplikace (prostředí, motivace, příklad)
3/12 Modelování (charakteristika): Popis podoby systému prostřednictvím modelů (abstrahování od reality). Flexibilita při úpravách návrhu a standardizovaná notace (konkrétní modelovací jazyk). Diagramy poskytují různé pohledy na model (struktura, chování, pravidla, atd.). Programování – generování spustitelného kódu z modelu (např. SQL, BPEL, proprietární kód). FOWLER, Martin - Destilované UML ARLOW, Jim; NEUSTADT, Ila - UML 2 a unifikovaný proces vývoje aplikací
4/12 Modelování (nevýhody): Pro specifickou doménu dostupné výrazové prostředky nemusí stačit. Nedostatečné formalizace nějakého metodického postupu (metodika, framework).
5/12 Meta-modelování (s MOF): Čtyřvrstvá architektura rozlišující rozdílné stupně abstrakce: Meta-metamodel - Abstraktní jazyk (MOF) pro vytváření meta-modelů. Definice základních elementů a pravidla pro jejich spojování. Meta-model - Formuluje strukturu, sémantiku a notaci modelu (UML, UML profily). Model - Vlastní struktura a sémantika dat (třída Uživatel) Instance - Samotná data v době spuštění aplikace (Tonda Habas – instance třídy Uživatel). Meta Object Facility (MOF) Specification Version
6/12 Meta-modelování (s MOF): Meta Object Facility (MOF) Specification Version
7/12 Meta-model/UML profil: Obě technologie slouží k podobnému účelu, přizpůsobení modelování pro konkrétní potřeby. Srovnání z pohledu UML profilu: Pouze meta-atributy a meta-asociace. Nevytváříme nový meta-model, protože rozšiřujeme existující meta-model UML. UML profil je závislý na UML a slouží pouze jako doplněk. Nová meta-třída přebírá a rozšiřuje vlastnosti meta- třídy UML (nemůžeme úplně změnit chování). Podobné je to i s meta-atributy (tagy).
8/12 Meta-model/UML profil: DESFRAY, Philippe - UML Profiles versus Metamodel extensions: An ongoing debate Meta-modelUML profil Doména je dobře definována a má jednoznačný (akceptovaný) koncept. Doména není předmětem dohody (konsensu), obsahuje mnoho různých variací a rovněž existují různé úhly pohledu. Rovněž se mohou se objevit změny a vylepšení. Model realizovaný v dané doméně není předmětem přesunu (dat/informací) do dalších domén. Model realizovaný v dané doméně může být předmětem přesunu (dat/informací) do dalších domén. Neexistuje potřeba kombinovat data z domény s ostatními doménami. Doména může být kombinována s dalšími doménami.
9/12 Praktická aplikace (prostředí): Velká organizace, infrastruktura obsahuje řádově několik desítek velkých systémů a databází. Heterogenní prostředí: softwarové/hardwarové platformy, protokoly nebo formáty. Messaging jako páteřní sít pro komunikaci. Modelování v nástroji Enterprise Architect. Návrh integrační vrstvy v Microsoft Word (parametry) a Microsoft Visio (mediace). Výsledkem je nekonzistentní model, uložený na několika místech. V hlavním repositáři chybí modely integrace a parametry (např. služby, fronty).
10/12 Praktická aplikace (motivace): Meta-model (nebo UML profil), který bude sloužit pro modelování integrační vrstvy. Kompletní fáze analýzy a návrhu realizována v jednom nástroji. (UML pro obvyklé modely, meta-model pro integrační vrstvu.) Generování dokumentace nebo meta-dat (konfigurační skripty, rozhraní, atd.).
11/12 Praktická aplikace (příklad): vyřešeno: ☺ jednotný nástroj, ☺ konzistentní model. nevyřešeno: ● složité modely nepřehledné, ● generování (skriptů, kódu). zamyšlení: ♫ podpora metodiky (integrace).
12/12 Děkuji za pozornost! „Není to ten nejsilnější, kdo přežije, ani ten nejinteligentnější, ale ten, kdo se dokáže nejlépe přizpůsobit.“ Charles Darwin