Strana 26 z 55
4.7 Eclipse Modeling Framework
Eclipse Modeling Framework (dále jen EMF) je Java framework a příslušenství
pro generování kódu pro vytváření nástrojů a jiných aplikací založených na
strukturovaném modelu. Snaží se poskytnout výhody formálního modelování s
velmi nízkými vstupními náklady. Jeho cílem je pomoci při transformaci mod
elů do efektivního, správného a snadno přizpůsobitelného kódu v jazyce Java.
[Budinsky,Steinberg,Merks,Ellersick,Grose, 2003]
Obrázek 8: EMF - Finite State Machine
Když mluvíme o modelování, obecně máme na mysli Diagramy tříd, Diagramy
spolupráce, Stavové diagramy apod. Pro tyto diagramy je notace definována standardem
UML. Použitím kombinace UML diagramů může být specifikován kompletní
model aplikace. Tento model může být použit čistě pro dokumentační účely nebo,
v případě použití vhodných nástrojů, může být použit jako vstup, ze kterého se
vygeneruje část nebo, v jednodušších případech, celá aplikace. Modely mohou být
vytvářeny s použitím anotatovaného Java kódu, XML dokumentů, nebo modelovacími
nástroji jako Rational Rose (nebo např. Enterprise Architect). Tyto modely
jsou následně importovány do EMF.[Eclipse,2009]
EMF sestává ze dvou základních frameworků: core framework a EMF.Edit. Core
framework poskytuje základní podporu pro generování implementačních tříd pro
model v jazyku Java. EMF.Edit staví na core frameworku a rozšiřuje jej přidáním
podpory pro vytváření editorů strukturovaných informací na základě formálně popsaného
modelu.
Obrázek 9: EMF - metamodel
S použitím Graphical Modeling Framework (GMF) lze pak vytvořit grafický
editor, který obsažené informace vizualizuje libovolnou formou - např. obdobně jako
UML diagram tříd vizualizuje strukturu a vztahy v modelu tříd nějakého objektově
orientovaného jazyka.
Tato technologie je v současné době ve velmi ranném stádiu a nelze proto předpokládat
její široké použití v komerční sféře. Přesto vzhledem k velikosti komunity
lze v budoucnu očekávat použitelnost.
EMF nelze považovat za CASE v pravém slova smyslu. Jedná se spíše o jakýsi
základ, na kterém může být takový nástroj postaven.