V rámci modelování , je metamodel je model, jehož příklady jsou samy o sobě modely. Jak naznačuje prefix meta- , metamodel je abstrakce používaná k popisu modelů. Metamodeling obecně odkazuje na design metamodelů.
Metamodely mohou mít různé formy a mohou být použity v různých oblastech. Ve vědě o počítačích a konkrétněji v softwarovém inženýrství je pojem metamodel ústředním bodem inženýrství založeného na modelech , což je soubor postupů, které mají společné vytváření a používání modelů pro konceptualizaci aplikační domény. Toto použití se vztahuje i na systémové inženýrství .
Metamodel je model, který popisuje strukturu modelů. Zejména umožňuje konstrukci modelovacích jazyků , vytváření vztahů mezi modely a definici pravidel modelování. O metamodelu se říká, že představuje model, zatímco model instancuje metamodel. Například softwarový systém může být reprezentován diagramem objektů, který sám může být reprezentován diagramem tříd v UML . Softwarový systém tedy představuje originál, tj. Skutečný objekt modelovaný, zatímco objektový diagram je jeho modelem a třídní diagram je metamodel.
Pro specifikaci metamodelu jsou nezbytné čtyři aspekty: abstraktní syntaxe , konkrétní syntaxe, statická sémantika a dynamická sémantika. V ideálním případě jsou tyto prvky definovány pomocí formálního jazyka. Z tohoto důvodu je metamodel někdy také definován jako model modelovacího jazyka .
Abstraktní syntaxe metamodelu popisuje konstrukce, které tvoří její modely, například jejich vlastnosti a vztahy. Například abstraktní syntaxe diagramu tříd je tvořena třídami, atributy, asociacemi atd.
Konkrétní syntaxe metamodelu popisuje reprezentaci konstrukcí definovaných její abstraktní syntaxí. Toto znázornění je nejčastěji grafické nebo textové . Může také odpovídat datovému formátu . Každé abstraktní syntaxi odpovídá jedna nebo více konkrétních syntaxí. Třídu diagramu třídy tedy představuje obdélník se třemi oddíly (název, přidružení, operace), zatímco přidružení je znázorněno jako šipka. Diagram třídy může být také v XMI zobrazen doslovně .
Statická sémantika (nazývaná také strukturální sémantika) metamodelu popisuje kritéria a pravidla modelování, která nelze reprezentovat abstraktní syntaxí. Pro formulování těchto pravidel existují konkrétní jazyky. Například OCL může popsat statickou sémantiku třídního diagramu. V inženýrství založeném na modelu lze statická sémantická pravidla použít k ověření, že model respektuje vlastnosti své metamodely. V takovém případě musí být pravidla automaticky ověřitelná, tj. Rozhodovatelná .
Dynamická sémantika metamodelu je popisem významu, který jí byl dán. Na rozdíl od předchozích aspektů je dynamická sémantika zřídka vyjádřena pomocí formálního jazyka. Přirozený jazyk je proto privilegovaný.
Vždy je možné definovat model pro daný objekt nebo koncept. Proto metamodel může být sám reprezentován metamodelem, který definuje pojmy dostupné pro metamodel. Takový metamodel se nazývá meta-metamodel . Teoreticky neexistuje žádné omezení počtu úrovní modelování: každý metamodel je reprezentován jiným metamodelem na vyšší úrovni. V praxi se počet modelářských úrovní je pevná a nejvíce abstraktní Metamodel často sebepopisné (nebo reflexní , nebo meta-kruhový ), to znamená, že se může pohybovat mezi sebe.
V architektuře založené na modelech (MDA) poskytuje standard Meta-Object Facility (MOF) meta-metamodel, který umožňuje reprezentaci dalších metamodelů, jako je metamodel jazyka UML nebo jazyky transformace QVT . Reprezentace metamodelů s MOF je nejčastěji založena na čtyřech modelových vrstvách. Každá vrstva je abstrakcí spodní vrstvy:
Čtyřvrstvá architektura je v přístupu MDA považována za dostatečně obecnou pro proces modelování softwaru. Přestože je tato architektura nejběžnější, není jediná. Standard MOF vyžaduje alespoň dvě modelovací vrstvy a neukládá maximální počet vrstev. Dvouvrstvá specifikace (např. Třída (M1) - objekt (M0)) tedy odpovídá přístupu MDA, i když nedefinuje meta-metamodel.
Definice meta-metamodelu standardu MOF přebírá hlavní koncepty diagramů tříd v UML (klasifikátory, atributy , asociace atd.). Jelikož metametamodelka má vlastní popis, je také představována pomocí těchto konceptů.
Návrh metamodelu schopného reprezentovat více modelů usnadňuje serializaci , manipulaci a výměnu těchto modelů. Standard MOF poskytuje například XMI , postup pro reprezentaci modelu nebo metamodelu odvozeného z meta-metamodelu MOF pomocí XML .
Validace a transformace modelůV inženýrství založeném na modelu je ověření modelu proces, kterým se ověřuje, že prvky modelu splňují omezení. Například omezení může omezit hodnoty, které atribut třídy přebírá v UML. Tato omezení lze definovat ve statické sémantice metamodelu, například s jazykem OCL, a poté zkontrolovat instance metamodelu.
Tyto modelové transformace jsou programy, které modifikují automatických nebo poloautomatických modelů. Tyto transformace se například používají ke kontrole konzistence sady modelů. Specifikace transformace definuje vztahy mezi prvky metamodelů. Provedení transformace poté vytvoří nebo upraví modely podle pravidel definovaných mezi metamodely. Jako takové nabízejí jazykové transformace modelu, jako je ATL, možnost manipulace s prvky metamodelů.
Urbanizace informačních systémůUrbanizace je proces transformace informačního systému v organizaci tak, že je lépe přizpůsoben misí a vývoji organizace. Tento proces lze zahájit definováním metamodelu územního plánování .
Metamodelské zooZoologické zahrady metamodelů jsou úložiště metamodelů, která lze použít jako testovací a experimentální materiál v modelovém inženýrství. Metamodely zoologické zahrady jsou vyjádřeny pomocí modelovacího jazyka, a jsou tedy všechny případy stejné metametamodelky (například UML nebo Ecore ).
V umělé inteligenci a přesněji v reprezentaci znalostí je ontologie specifikací, která popisuje a analyzuje vztahy mezi různými pojmy. V tomto jsou ontologie podobné metamodelům. Když je ontologie zkonstruována jako metamodel, je jejím aplikačním polem informační pole. Metamodel je jedním ze způsobů, jak definovat ontologii, ale existují i jiné.
Řízení obchodních procesů (nebo řízení podnikových procesů ), je řízení disciplína , jehož cílem je formalizovat obchodní procesy z organizace, jakož i jejich interakce. Za tímto účelem vytvořila skupina OMG ( Object Management Group ) v roce 2003 metamodel definice obchodního procesu (BPDM). BPDM je metamodel, který sjednocuje různé notace používané v definici obchodních procesů.
Výhody meta-modelování lze využít i mimo návrh softwaru. Například SysML je modelovací jazyk používaný v systémovém inženýrství a definovaný jako podmnožina UML. Jeho definice používá metamodel vytvořený z profilů UML . Jedná se o metamodel vrstvy M2 ve čtyřvrstvé architektuře přístupu MDA.