Model driven architecture: Porovnání verzí

Smazaný obsah Přidaný obsah
RedBot (diskuse | příspěvky)
m r2.7.2) (Robot: Upravuji es:Model-driven architecture
m typo
Řádek 28:
Dalším přístupem je mapování prostřednictvím tzv. značek. Těmito značkami se označí jednotlivé elementy a tím se určuje, jakým způsobem budou transformovány. Slouží tedy jako identifikátory pro transformační pravidla. Jednoduchým příkladem značky by mohla být „Entita“, která může být aplikována na nějakou třídu nebo jiný objekt z PIM. Složitější ukázkou je případ, kdy je více elementů modelu osázeno značkami, které dohromady tvoří identifikovatelnou sadu. K této sadě je jasně definována transformační šablona např. v podobě [[návrhového vzoru]]. A aby to nebylo jednoduché, je také možno jednomu elementu přiřadit více značek. To indikuje, že tento prvek hraje roli ve více než jednom mapování a proto také bude podle každého z nich transformován. Ve výsledku se to může projevit jak dodatečnou vlastností stejně tak jako novým elementem v PSM.
[[Soubor:transformation_PIM2PSM_nextway.jpg|none|PIM transformace do PSM]]
V reálu se k transformaci používá obvykle kombinace obou výše uvedených přístupů. Mapování pomocí meta-modelu totiž v sobě skrývá omezení, které nedovoluje více instancím jedno typu z PIM přiřadit různé protějšky z PSM. Tato neschopnost, dodatečně přidat potřebné informace, dělá tento způsob silně deterministickým. Proto některé charakteristické typy s PIM musejí být opatřeny značkou za účelem detailnějšího specifikování. Na druhou stranu každá transformace jednotlivých elementů v sobě přepokládápředpokládá určitá typová omezení, kterých by se každý návrhář měl držet, aby výsledná transformace měla vůbec nějaký smysl. To znamená, že každý typ elementu v PIM má implicitně definovanou sadu značek, kterými ho lze označit. Výsledkem každé transformace je, jak již bylo uvedeno, platformově specifický model a dále záznam o transformaci. Ten v sobě zahrnuje mapu, která ukazuje jaké druhy transformací byly použity pro konkrétní druhy mapování, což umožňuje provádět transformaci i v opačném směru. Tyto informace v důsledku pomáhají lépe synchronizovat jednotlivé vrstvy na různých úrovních abstrakce a tak dosáhnout lepší konzistence.
 
== Shrnutí ==