OntoUML a UFO-A pro softwarové inženýrství

Podobné dokumenty
DBS Konceptuální modelování

6 Objektově-orientovaný vývoj programového vybavení

Modelování procesů s využitím MS Visio.

Spojení OntoUML a GLIKREM ve znalostním rozhodování

Principy UML. Clear View Training 2005 v2.2 1

7.3 Diagramy tříd - základy

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Unifikovaný modelovací jazyk UML

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

TÉMATICKÝ OKRUH Softwarové inženýrství

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

UML. Unified Modeling Language. Součásti UML

Ontologie. Otakar Trunda

Analýza a modelování dat. Helena Palovská

Obsah. Zpracoval:

7 Jazyk UML (Unified Modeling Language)

7.3 Diagramy tříd - základy

7 Jazyk UML (Unified Modeling Language)

Tvorba informačních systémů

Diagramy tříd - základy

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Analýza a návrh webových aplikací I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

2. Konceptuální model dat, E-R konceptuální model

Kolaborativní aplikace

Analýza a Návrh. Analýza

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky

ZÁZNAM PROCESU TVORBY INFORMAČNÍHO SYSTÉMU CAPTURING OF AN INFORMATION SYSTEM DEVELOPMENT

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Objekty, třídy, vazby 2006 UOMO 30

Znalostní báze pro obor organizace informací a znalostí

Znalostní systém nad ontologií ve formátu Topic Maps

Business Intelligence

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

Modelování procesů (2) Procesní řízení 1

Modelování webových služeb v UML

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

DATOVÉ MODELOVÁNÍ A TYPOVÁNÍ

Komputerizace problémových domén

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.

Analýza a modelování dat. Přednáška 4

Třída. Atributy. Operace

Cíle a architektura modelu MBI

Správa VF XML DTM DMVS Datový model a ontologický popis

TÉMATICKÝ OKRUH Softwarové inženýrství

Business Process Modeling Notation

Logický datový model VF XML DTM DMVS

Globální strategie, IT strategie, podnikové procesy. Jaroslav Žáček

Databázové patterny. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Vývoj informačních systémů. Přehled témat a úkolů

Úvod do principů objektově orientovaného programování

Architektura softwarových systémů

Znalostní báze pro obor organizace informací a znalostí

Metodika analýzy. Příloha č. 1

MOŢNOSTI VYUŢITÍ ROLÍ, AKTORŮ A AGENTŮ PŘI DESIGNU BYZNYS PROCESŮ

Objektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová

3 druhy UML diagramů

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Servisně orientovaná architektura Základ budování NGII

Česká zemědělská univerzita v Praze. Provozně ekonomická fakulta. Katedra informačních technologií

Aplikace s odvozováním nad ontologiemi

Datová věda (Data Science) akademický navazující magisterský program

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

Okruhy z odborných předmětů

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Diagram výskytů a vztahů

Konceptuální datové modely používané při analýze

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

POROVNÁNÍ RELAČNÍHO A OBJEKTOVÉHO DATOVÉHO MODELU V KONSTRUKCI DATABÁZOVÝCH SYSTÉMŮ

Tvorba informačních systémů

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

Vývoj informačních systémů. Přehled témat a úkolů

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS Semestr LS 2014/2015

EXTRAKT z mezinárodní normy

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

Objektově orientované technologie. Daniela Szturcová

SOUVISLOSTI PROBLEMATIKY SYSTÉMOVÉHO MODELOVÁNÍ A TVORBY INFORMAČNÍCH SYSTÉMŮ RELATIONS BETWEEN SYSTEM MODELLING AND INFORMATION SYSTEM DEVELOPMENT

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

ADOit. IT architektura a řízení IT služeb. Luděk Kryšpín, Lukáš Dvořák, PADCOM, s.r.o.

Architektury Informačních systémů. Jaroslav Žáček

POPIS STANDARDU CEN TC278/WG12. draft prenv ISO TICS AVI/AEI architektura a terminologie intermodální dopravy zboží. 1 z 5

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová

Přednáška. Sběr požadavků na SW s použitím metody C.C a nástroje Craft.CASE. e-fractal, s.r.o.

Využití SysML pro tvorbu modelů v systémovém inženýrství

Úvod do databázových systémů 6. cvičení

Databázové systémy. Vztahy a relace. 3.přednáška

Architektura softwarových systémů

Návrh softwarových systémů - architektura softwarových systémů

CobiT. Control Objectives for Information and related Technology. Teplá u Mariánských Lázní, 6. října 2004

Modelem řízený vývoj. SWI 1 Jan Kryštof

Modelování řízené případy užití

TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL

Optimalizace podnikových procesů fakultní nemocnice

Architektury Informačních systémů. Jaroslav Žáček

Transkript:

OntoUML a UFO-A pro softwarové inženýrství No Author Given No Institute Given Abstrakt OntoUML je rozšířením známé notace UML o prvky ontologickyorientovaného konceptuálního modelování. Díky zjemnění kategorizace různých typů entit a zpřesnění jejich definice nabízí diagramy v OntoUML mnohem vyšší výrazovost v oblasti konceptuálního modelování. Tento příspěvek shrnuje hlavní principy a koncepty OntoUML ve vztahu k využití OntoUML při vývoji informačních systémů. V příspěvku jsou ilustrovány výhody vyššív výrazovosti OntoUML na příkladu a jsou též diskutovány další aspekty využití OntoUML v softwarovém inženýrství, jako transformace na implementační model a přísliby dalšího rozvoje. Zmíněny jsou též současné překážky širšího rozšíření OntoUML mezi odbornou veřejností. Keywords: ontologické modelování, OntoUML, softwarové inženýrství, vývoj informačních systémů 1 Úvod Proces vývoje složitějšího informačního či znalostního systému (business information system, BIS) sestává z řady na sebe navazujících činností [1]. Pokud budeme předpokládat, že požadavky již byly formulovány a je nastavena potřebná infrastruktura projektu, potom k realizaci softwarového díla (tj. neuvažujeme navazující fáze testování, nasazení, správy a podpory) vedou následující tři klíčové fáze: 1. Analýza, 2. Návrh, 3. Implementace. Požadavky Konceptuální model Implementační model Analýza Návrh Implementace Kód Obrázek 1. Zjednodušený model softwarového vývojového procesu ukazující klíčové artefakty předávané mezi fázemi

Obr. 1 ukazuje, že mezi fázemi jsou předávány artefakty jako vstupy a výstupy. Kvalita vstupních artefaktů významně ovlivňuje úspěšnost fáze z nekvalitních analytických podkladů nelze vytvořit kvalitní návrh a z nekvalitního návrhu nelze vytvořit kvalitní implementaci 1. Kvalita je ovlivňována především těmito dvěma faktory: Kvalitou notace použité pro modelování viz [4]. Zachování informace při přechodu mezi fázemi viz [7]. V tomto příspěvku se budeme zabývat především kvalitou výstupů Analýzy, konkrétně strukturálním modelem. Dále budeme diskutovat Návrh, konkrétně transformaci konceptuálního strukturálního modelu na implementační strukturální model. 2 Cíl a metodika Cílem příspěvku je nastínit možnosti a výhody využití notace OntoUML pro konceptuální modelování business informačních systémů. V příspěvku se budeme věnovat výhradně strukturálním modelům. Dalším cílem je nastínit problematiku transformace OntoUML do implementačních modelů, konkrétně do čistého objektově-orientovaného modelu. Cílem příspěvku je též krátce představit notaci OntoUML, která zatím není mezi širokou odbornou veřejností příliš známa, a též současné překážky širšího rozšíření. V příspěvku krátce představíme vznik a strukturu OntoUML, představíme základní pilíře, principy a kategorie typů. Vyšší výrazovost OntoUML budeme demonstrovat na konkrétním příkladu porovnání kusu modelu v UML a OntoUML. 3 Vznik OntoUML OntoUML vzniklo jakožto snaha o praktické spojení ontologické analýzy a konceptuálního modelování. Jeho cílem je nabídnout analytikovi sadu různých typů entit přesně definovaných vlastností, pomocí kterých lze velmi exaktně modelovat realitu. OntoUML vychází z poznatků Cognitive Science o charakteru a specifikách našeho vnímání a současně pevně stojí na aparátu modální logiky a matematických základech logiky, množin a relací. Syntakticky je postaveno nad notací třídních diagramů UML [2], kterou doplňuje o nové koncepty formou stereotypů, formálně je tedy v souladu s metamodelem UML [6], což přináší možnosti využívat stávající CASE nástroje, nástroje pro prezentaci, transformaci a výměnu dat, apod. Oproti jiným snahám o rozšíření UML o konceptuální prvky je však vybudováno zcela od základů a představuje samostatný úplný systém nezávislý na původních elementech UML. Některé využívá (např. třídy), 1 Kvalitu zde chápeme v souladu s ISO 9000, tj. jako míru splnění požadavků zákazníka.

řady konceptuálně problematických elementů se však zříká (např. agregace a kompozice) a nahrazuje je vlastními, ontologicky čistými verzemi. OntoUML bylo poprvé uceleně publikováno v disertační práci Dr. Giancarla Guizzardiho, kterou obhájil s nejvyššími poctami v r. 2005 na univerzitě v Twente, a která vyšla formou monografie [4]. Od té doby patří Dr. Guizzardi mezi nejaktivnější vědce a autory zabývající se konceptuálním modelováním a je hostem či členem programových výborů nejvýznamnějších konferencí v této oblasti 2. Dr. Guizzardi působí na Federální univerzitě Ducha Svatého v Brazilské Vittorii, kde vede výzkumnou skupinu NEMO. Pomocí OntoUML jsou vybudovány tzv. základní ontologie (Foundational Ontologies) pro různé oblasti, tzv. UFO (Unified Foundational Ontology): UFO-A: Strukturální aspekty reality Objekty, jejich typy, podčásti, role, které hrají,... UFO-B: Dynamické aspekty Události, jejich části a vazby mezi nimi, participace objektů v událostech, časové chování,... UFO-C: Sociální aspekty Vybudováno nad UFO-A a UFO-B, zabývá se agenty, stavy, cíly, akcemi, normami, sociálními úmluvami a vztahy, apod. UFO-A je považováno za hotové a je též prověřeno v řadě projektů v praxi, neočekává se tedy další významný vývoj a rozšiřování. Oproti tomu UFO-B a UFO-C jsou nyní předmětem intenzivního vývoje. OntoUML a UFO však nejsou pouze vědecky zajímavé, nýbrž byly již úspěšně použity v rozsáhlých projektech, např. Off-Shore Software Development, konceptuální analýza pro velkou petrolejářskou firmu, v projektech v oblasti telekomunikací a Media Content Management. 4 Základní principy OntoUML Dále se tedy budeme zabývat výhradně UFO-A. Termínem OntoUML budeme tedy označovat notaci plus UFO-A, tedy strukturální aspekty, jež umožňují vytvářet statické modely struktur. 4.1 Kategorie typů entit Jak již bylo uvedeno, OntoUML důsledně rozlišuje různé kategorie entit v naší realitě. Ukázka části typové hierarchie je na obr. 2. Jednotlivé kategorie typů jsou vymezeny podle přesných kritérií: Identita zda-li typ poskytuje či vůbec má ontologickou identitu. Typy, které identitu neposkytují, ale mají, ji dědí od svých nadtypů. 2 Stránky Dr. Guizzardiho [3] obsahují seznam všech publikací a řada z nich je k dispozici i ke stažení.

{Person} {Brazilian, Man, Woman} {Teenager,! {Student, {Teenager, {Student,! {Physical Object} LivingPerson} Husband} LivingPerson} Husband} {Customer} {Insurable Item} Obrázek 2. Ukázka hierarchie typů entit v OntoUML UFO-A Rigidita charakterizuje neměnnost či proměnlivost typu. Pro definice OntoUML využívá modální logiku, která zavádí operátory nutnost a možnost v rámci času a prostoru modální logika hovoří obecně v pojmu svět. Hovoříme o rigiditě, anti-rigiditě a non-rigiditě, která je negací rigidity. Na základě toho potom rozlišujeme rigidní, anti-rigidní a semi-rigidní typy (pro některé instance rigidní, pro jiné non-rigidní). Relační závislost umožňuje specifikovat, že typ může existovat pouze za současné existence vazby na jiný typ.!"##$%$&'()*'$+,%"$-(,#(./0$1'(234$- Tabulka na obr. 3 shrnuje vlastnosti různých kategorií typů entit z obr. 2. Category of Type Supply Identity SORTAL - + Identity Rigidity Dependence «kind» + + + - «subkind» - + + - «role» - + - + «phase» - + - - NON-SORTAL - - «category» - - + - «rolemixin» - - - + «mixin» - - ~ - Obrázek 3. Ukázka hierarchie typů entit v OntoUML UFO-A Přesné rozlišování kategorií typů má v softwarovém inženýrství značný praktický význam. Obr. 4 obsahuje porovnání části UML class modelu osob na uni-

Obrázek 4. Příklad stejného modelu v UML a OntoUML verzitě a odpovídající OntoUML verzi s přesným vymezením kategorií typů entit. V čistém UML modelu chybí řada informací, které potom mohou vést k chybnému návrhu: Studenta a zaměstnance namodelujeme v OntoUML jakožto anti-rigidní typ <<role>>, čímž říkáme, že osoba se zaměstnancem může stát a může jím přestat být bez ztráty své identity. To samé platí pro studenta. Navíc rolí může mít Osoba vícero najednou. Zjednodušený model v UML vede na rigidní implementaci a student nemůže být současně zaměstnancem a naopak (jsou to dvě oddělené entity) 3. Role dědí v OntoUML identitu od typu Kind, tudíž Osoba se může stávat i přestávat být studentem či zaměstnancem bez ztráty identity. V UML modelu mají Student i Zaměstnanec vlastní identitu, student, který dostuduje a stane se zaměstnancem, tak ztratí všechnu svoji historii. Podobně Fáze <<phase>> je anti-rigidní, tj. zaměstnanec může přecházet mezi stavy pojištěného zaměstnance a nepojištěného zaměstnance. Oproti rolím, kterých může mít člověk vícero, fázi může mít v daný okamžik pouze jednu. Rigidní model v UML opět neumožňuje přecházet mezi pojištěným a nepojištěným stavem. V UML bychom tuto situaci mohli částečně obejít nepovinnou vazbou Zaměstnanec-Pojištění, nebyli bychom pak ale schopni modelovat polymorfně Zaměstnance na základě pojištění v OntoUML např. můžeme udělat vazbu od Pojištěný zaměstnanec ke služebnímu 3 Existují samozřejmě implementační řešení, která tento i další problémy řeší, zde se však bavíme o vyjádření těchto vlastností na strukturální konceptuální úrovni dle pravidla, že konceptuální model by měl být maximálně úplný.

autu, čímž vyloučíme, aby vůz řídil nepojištěný zaměstnanec. Toto omezení nejsme ve strukturálním UML modelu schopni vyjádřit 4. Role je v OntoUML relačně závislý typ, tudíž musí existovat entita, ke které má role vazbu s minimální multiplicitou 1. To analytika vede k zamyšlení, co je skutkovou podstatou vzniku role (angl. truthmaker ) a nezapomene tuto navázanou entitu do modelu uvést. V UML modelu žádné takové vodítko nemáme. 4.2 Vztahy celek-část OntoUML se dále podrobně zabývá problematikou vztahů celek-část, která je v UML v podobě kompozice a agregace definována značně nejasně a neúplně. OntoUML zavádí různé typy povinnosti vztahů celek-část, a to jak pro celek, tak pro část. Zanedbání těchto nuancí v konceptuálním modelu opět vede k absenci důležitých informací při návrhu a implementaci. Typy povinnosti z hlediska celku Různé typy povinnosti z hlediska celku přináší obr. 5. Obrázek 5. Typy povinnosti z hlediska celku Nepovinná část (Optional Part) část není pro celek povinná, celek může existovat bez ní. Povinná část (Mandatory Part) část je pro celek povinná, může se však měnit instance části. Příkladem může být vztah Člověk-Srdce: člověk musí mít srdce, srdce však lze transplantovat, tj. vyměnit jeho instanci za jinou. Podobným příkladem může být motor v automobilu. Esenciální část (Essential Part) část je pro celek povinná, navíc je esenciální: část nelze vyměnit za jinou instanci. Došlo by ke zničení celku či ztrátě jeho identity. Příkladem může být mozek člověka, nebo karosérie automobilu 4 Řešením v UML je podobná omezení vyjádřit v jazyku OCL, což je ale opět řešení mimo diagram.

karoserie obsahuje jednoznačný identifikátor vozidla VIN a nelze ji tedy vyměnit bez ztráty identity vozidla. Typy povinnosti z hlediska části Různé typy povinnosti z hlediska části přináší obr. 6. Obrázek 6. Typy povinnosti z hlediska části Nepovinný celek (Optional Whole) část může existovat i sama, bez celku. Povinný celek (Mandatory Whole) část musí být částí celku (sama existovat nemůže), může však být přeřazena k jiné instanci celku. Příkladem může být opět srdce, které není schopno samo fungovat, lze jej však transplantovat. Neoddělitelná část (Inseparable Part) část musí být po celou svou životnost částí právě jedné instance celku. Příkladem může být opět mozek, který nelze transplantovat. U anti-rigidních typů pak vyvstává otázka, jestli podčást anti-rigidního celku jej musí doprovázet v té samé instanci ve všech světech. Pokud ano, jedná se o neměnitelnou část (Immutable Part). Opačným směrem pak hovoříme o neměnitelném celku (Immutable Whole). Dále OntoUML rozlišuje, jestli je část sdílitelná (shareable), tj. jestli může být částí vícero celků: Plný symbol V či stereotyp {isshareable = false}... nesdílitelná část. Prázdný symbol & či stereotyp {isshareable = true}... sdílitelná část. Klíčový je fakt, že všechny tři dimenze: typy povinnosti z hlediska celku, typy povinnosti z hlediska části a sdílení jsou na sobě nezávislé a možné jsou tedy všechny kombinace. 4.3 Typy vztahů celek-část OntoUML rozlišuje několik typů vztahů celek-část, které se liší svými vlastnostmi, především tranzitivitou:

Kvantita (Quantity) Celek je složen z částí, které jsou stejného typu jako on sám. Části jsou nekonečně dělitelné. Relace SubQuantityOf: alkohol-víno, cukr-káva, písek v kyblíku,... Kolektiv (Collective) Celek je složen z částí, které nejsou stejného typu jako on sám. Kolektiv není nekonečně dělitelný. Všechny prvky hrají v kolektivu stejnou roli. Rozlišujeme relaci podkolektiv a člen: relace MemberOf: strom-les, student-paralelka, pták-hejno,... relace SubCollectionOf: severní cíp lesa-les, studenti s vyznamenánímstudenti, vadné součástky-součástky,... Funkční celek (Functional Entity) Skládá se z částí, které mají různé úlohy. Relace ComponentOf: srdce-oběhový systém, ředitel-firma, motor-automobil,... 4.4 Ostatní části UFO-A UFO-A se dále podobně důkladně zabývá asociacemi, aspekty (objekty existenčně závislé na jiných), kvalitami (měřitelné atributy) a jejich doménami a též speciálními situacemi jako redefinicí a různými vztahy specializace. 5 Diskuse a závěr OntoUML a UFO jakožto nástroje ontologicky orientovaného konceptuálního modelování mají široké uplatnění ve všech oblastech, kde je třeba přenášet velmi přesný mentální model, tedy při: výměně informací, definici pojmů a vztahů (právní předpisy), integraci informací (informační a znalostní inženýrství, business intelligence, e-government), integraci služeb a komponent (heterogenní prostředí). Softwarové inženýrství je disciplína, kde výměna informací je klíčová pro úspěch projektu, tedy dodání systému odpovídajícího požadavkům zákazníka (viz též obr. 1). OntoUML a UFO poskytuje výrazně vyšší výrazovost a přesnost strukturálních modelů oproti tradičním UML diagramům. Z hlediska cíle softwarově-inženýrských modelů, tedy implementace do programového kódu, lze poté konstatovat některá specifika pro používání OntoUML.

5.1 Důležité koncepty Z naší zkušenosti softwarový inženýr většinou vystačí s podmnožinou možností OntoUML. Jako vysoce přínosné hodnotíme tyto koncepty: Rozlišování kategorií a podkategorií typů objektů Sortals a Non-Sortals (Kind, Subkind, Role, Phase, Category, RoleMixin, Mixin). Rozlišování typů povinností vztahů celek-část. Rozlišování různých typů vztahů celek-část. Rozlišování materiálních a formálních relací. Rozlišování typů kategorií aspektů (Kvality a Módy). U uvedených konceptů softwarový inženýr vystačí typicky se základními definicemi a vlastnostmi např. u problematiky vztahů celek-část Dr. Guizzardi zachází poměrně hluboko do teorií mereologie, které nepovažujeme za nutné pro praxi softwarového inženýrství. 5.2 Transformace na implementační model Zatímco v případě čistě konceptuálních analýz je konceptuální model výstupem práce, v softwarovém inženýrství je teprve jedním z prvních vstupů do procesu (viz obr. 1). Implementace systému na základě konceptuálního modelu OntoUML a doplňkových informací a pravidel, které nebylo možno v modelu zachytit (plus samozřejmě příslušné modely chování, stavů, apod.), je možná, nicméně sémantická mezera mezi konceptuálním modelem OntoUML a programovým kódem je značná a hrozí tak ztráta informace při transformaci. Implementace navíc vyžaduje určité doplňkové informace, které v konceptuálním modelu obsaženy nejsou typicky směry navigace mezi entitami, které jsou důležité pro optimalizaci systému z hlediska dotazů, aktualizací struktur apod. Z tohoto důvodu se nám osvědčuje vytvořit implementační model a ten poté (již s podstatně menší sémantickou mezerou) transformovat na kód. Zabýváme se nyní na našem pracovišti čistě objektově-orientovaným modelem, který zahrnuje třídy, atributy, metody, dědění a skládání. Transformací konceptuální model samozřejmě ontologicky zdegeneruje, při implementaci je tedy třeba konzultovat i původní konceptuální strukturální model (a samozřejmě ostatní modely). Další možnosti představuje transformace na relační model: tím se již do určité míry zabývala i skupina NEMO, výsledky však bohužel nejsou veřejně dostupné, jelikož se jednalo o komerční projekt. Zde je situace složitější než v čistém objektovém modelu, relační model dat je třeba vhodně doplnit a ošetřit aplikační logikou (např. PL-SQL). 5.3 Překážky masivnější adopce OntoUML Je nutné konstatovat, že zde v současnosti existují nemalé bariéry masivnějšího rozšíření OntoUML. Mezi ně patří zejména:

Nedostatek literatury a informačních zdrojů. Mizivé množství široce dostupných příkladů a případových studií. Absence kurzů a tréninkových programů. Obtížně dostupná podpora a komunita. Absence CASE nástrojů. Nedostatek literatury a informačních zdrojů. Prakticky jedinou ucelenou široce dostupnou publikací o OntoUML je v současnosti disertační práce Dr. Guizzardiho [4]. Jedná se o špičkovou vědeckou práci, avšak pro širokou veřejnost poměrně hutné čtení. Práce navíc neobsahuje kompletní současné OntoUML, další části je třeba nastudovat z příspěvků z konferencí. Vše samozřejmě v angličtině. Prakticky nulový počet široce dostupných příkladů a případových studií. Jak bylo zmíněno, v OntoUML byla již realizována řada úspěšných projektů, ty však vzhledem ke svému komerčnímu charakteru a citlivosti obchodních údajů nejsou zveřejněny. Několik případových studií bylo zveřejněno v příspěvcích (viz [3]), nejedná se však o množství a rozsah potřebný k širší edukaci. Absence kurzů a tréninkových programů. OntoUML je samozřejmě vyučováno na mateřské univerzitě Dr. Guizzardiho a též na několika univerzitách v Holandsku. Neexistují však komerční kurzy pro širší veřejnost. Obtížně dostupná podpora a malá komunita. Dr. Guizzardi a tým NEMO jsou velmi ochotní a rádi se o své know-how se zájemci dělí, ovšem pro masovější rozšíření je třeba rozvíjení široké komunity profesionálů v OntoUML, kde by praktikant našel zdroje, rady a tipy a odpovědi na každodenní otázky. Absence CASE nástrojů. V současnosti je k dispozici CASE nástroj na platformě Eclipse, jenž vznikl jako diplomová práce diplomanta Dr. Guizzardiho. Nástroj podporuje všechny koncepty UFO-A a dokonce je schopen hlídat porušení omezení a pravidel OntoUML při modelování a radit uživateli. Nástroj však bohužel není dále rozvíjen a k praktickému nasazení v softwarovém inženýrství chybí řada funkcí. OntoUML je možné díky již zmíněné kompatibilitě s notací UML využívat i ve stávajících UML nástrojích, ovšem bez podpory sémantiky OntoUML. 5.4 Další možnosti a výhledy Tým NEMO nyní intenzivně pracuje na software, jež umožní simulovat chování entit ve strukturálním diagramu. Takovýto nástroj by softwarovému inženýrovi mohl umožnit verifikovat vytvořený model a validovat jej se zákazníkem de-facto formou předvedení prototypu chování jeho struktur.

Dopracování pravidel transformace na různé implementační modely a jejich realizace v nějakém CASE nástroji by poskytla mocný způsob rapid developmentu, zvýšení flexibility úprav a zajištění konzistence model-implementace. Tuto transformaci však nebude nejspíš možné zcela automatizovat, nýbrž pouze poloautomatizovat a poskytnout komfortní nástroje. S pokračujícími pracemi na UFO-B bude též zajímavé začít se zabývat možnostmi modelování diagramů dynamického chování informačních systémů v OntoUML. Ačkoliv existuje řada metodik a notací pro procesní modelování, situace je zde obdobná jako u strukturálních modelů: z ontologického hlediska jsou více či méně nevyhovující (viz např. analýza BPMN z hlediska ontologické čistoty, [5]). Reference 1. Beck, K.: Process Patterns: Building Large-Scale Systems Using Object Technology. Cambridge University Press (1998) 2. Fowler, M.: UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley Professional, 3rd edition edn. (2003) 3. Guizzardi, G.: Homepage, http://nemo.inf.ufes.br/gguizzardi 4. Guizzardi, G.: Ontological Foundations for Structural Conceptual Models. Telematica Instituut Fundamental Research Series (2005) 5. Guizzardi, G., Wagner, G.: Can bpmn be used for making simulation models? Lecture Notes in Business Information Processing 88 LNBIP, 100 115 (2011) 6. OMG: Metaobject facility, http://www.omg.org/mof 7. Pícka, M., Pergl, R.: Gradual modeling of information system: Model of method expressed as transitions between concepts. vol. ISAS, pp. 538 541 (2006) Na stránkách Dr. Guizzardiho [3] je uvedeno velké množství (stále nových) publikací s tématy OntoUML a konceptuálního modelování (řada z nich je i ke stažení).