Metamodellierungswerkzeug

Werbung
Institut für Informatik
Betriebliche Informationssysteme
Problemseminar ModelDrivenSoftwareDevelopment
Metamodellierungswerkzeuge
Björn Dassow
Metamodellierungswerkzeuge
Aufbau
•
•
•
•
•
Institut für Informatik
Betriebliche Informationssysteme
Definition
Beschreibung Metamodellierung
Kurzer Überblick über EMF, GME, MetaEdit+
Interoperabilitätsbetrachtung
Vergleich der Tools
2
Metamodellierungswerkzeuge
Definitionen
Institut für Informatik
Betriebliche Informationssysteme
• Modellierung : „Modeling is the process of creating an abstract
representation of an engineering system, and as such, modeling
becomes a key strategy in the engineering design process. The
artifacts of the modeling process are models – abstractions of
the original system.“J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W.
Sorenson, Objectoriented Modeling and Design, Prentice-Hall, 1991.
• Metamodellierung ????
ƒ Keine verlässliche Definition gefunden
Î Versuch der Beschreibung
3
Metamodellierungswerkzeuge
Institut für Informatik
Betriebliche Informationssysteme
Metamodellierung
•
Der Prozess der Metamodellierung
Entwicklung des
Metamodel
Definition
Syntax
Definition
Semantik
Domain Expert
Metamodeller
Implementierung von
Interpretern
Definition und
Implementierung von
Reports
Enduser z.B.
Programmentwickler o.
Produktdesigner
Repository
Editoren
z.B. CASE oder CAD Tools
Metamodellierungswerkzeug
4
Metamodellierungswerkzeuge
EMF
Institut für Informatik
Betriebliche Informationssysteme
• EMF Eclipse Modeling Framework
ƒ Eine Plugin Sammlung für die Eclipse IDE
ƒ Keine Standalone Anwendung
• 3 grundlegende Frameworks :
ƒ EMF
ƒ EMF.Edit
ƒ EMF.Codegen
• Textbasierter Ansatz zur Metamodellierung
ƒ Annotated Java Classes
ƒ Xml Schema Files
ƒ mdl Files aus Rational Rose
ƒ Ecore Metamodel Editor
5
Metamodellierungswerkzeuge
Institut für Informatik
Betriebliche Informationssysteme
EMF.Edit
•
EMF.Edit Codegenerator
ƒ Editor als vollständiges
Eclipse Plugin
•
Enthält generische Klassen zum
anpassen der generierten
Editoren
ƒ Z.B. für volle Undo / Redo
Funktionalität
ƒ Überschreiben / Erweitern
von Standardfunktionalitäten
(Add, Remove, Change
Attribute ...)
EMF.Edit
Code
Generator
Java Programmierer
Passt den
Quellcode an
(EMF.Edit API)
Editor
Eclipse
Plugin
Generierte
Javaklassen
Ecore/EMF
Model
6
Metamodellierungswerkzeuge
EMF Editoren ein alternativer Weg
•
•
Institut für Informatik
Betriebliche Informationssysteme
Merlin Generator
ƒ Eclipse Plugin ( basiert selber auf EMF )
ƒ Beinhaltet unter anderem einen GEF Plugin Generator für EMF Models
GEF Graphical Editing Framework Î echt Graphische Notation anstelle
der Tabellen und Baumansichten ( Artefakte von EMF.Edit )
Merlin Generator
GEF Editor
Eclipse
Plugin
Generierte
Javaklassen
Ecore/EMF
Model
7
Metamodellierungswerkzeuge
GME Generic Modeling Environment
Institut für Informatik
Betriebliche Informationssysteme
• Entwickelt am Institute for Software Integrated Systems at
Vanderbilt University
• Modulare, komponentenbasierte Architektur
8
Metamodellierungswerkzeuge
Benutzung des GME
Institut für Informatik
Betriebliche Informationssysteme
• Definition eines
Paradigmas
(Metamodell)
Î Anwendung des Meta
Tools
ƒ Syntax aus:
° Atoms, FCO‘s,
Relationships,
Attributes,
References
ƒ Semantik:
° Views,
Constrains,
Reports
ƒ Syntax/Semantik:
° Folder
Quelle: The MGA library Arpad Bakay ISIS, Vanderbilt University September 2000
9
Metamodellierungswerkzeuge
Beispiel für Syntax Definition in GME
Institut für Informatik
Betriebliche Informationssysteme
10
Metamodellierungswerkzeuge
Beispiel für Syntax Definition in GME
Institut für Informatik
Betriebliche Informationssysteme
11
Metamodellierungswerkzeuge
Beispiel für Syntax Definition in GME
Institut für Informatik
Betriebliche Informationssysteme
12
Metamodellierungswerkzeuge
Benutzung des GME
Institut für Informatik
Betriebliche Informationssysteme
• Zur Modellierung von Modellen
Î Anwendung des GME Editor
ƒ Design von konkreten Modellen mit diesem Paradigma
ƒ Ausführen der Reports auf den Modellen
13
Metamodellierungswerkzeuge
GME Constrains
Institut für Informatik
Betriebliche Informationssysteme
• Constrains in OCL (Object Constrain Language)
ƒ Aktuell OCL 2.0 unterstützt
• Constrains enthalten:
ƒ Was soll überwacht werden
ƒ Wann soll Constrain überprüft werden
• Verwaltet durch Constrain Manager
ƒ Priorität der Constrains (mehrstufig)
° Sofort zu beheben
° …
° Vor Speichern zu beheben
14
Metamodellierungswerkzeuge
Beispiele für Metamodellierungswerkzeuge
•
Institut für Informatik
Betriebliche Informationssysteme
MetaEdit+
ƒ Kommerzielles Werkzeug der
Firma MetaCase
ƒ Komplette Unterstützung des
Metamodellierungsprozesses
ƒ Zweigeteiltes Produkt
° MethodWorkbench : Design
der Konzepte, Notation,
Generatoren
° MetaEdit+ : Anwendung der
Artefakte aus
MethodWorkbench in Form
eines vollständigen CASE
Tools
15
Metamodellierungswerkzeuge
Metamodellierung mit MethodWorkbench
Institut für Informatik
Betriebliche Informationssysteme
1. Konzept definieren
• Object
• Relationship
• Role
• Port
• Graph
2. Regeln ( Constrains ) auswählen, editieren oder definieren
3. Graphische Notationen für die Konzepte definieren
• Zeichnen mit Symboleditor
• Importieren von Graphiken
• Symbolbibliothek
4. Generatoren erstellen
• vordefinierte Reports
• eigene Reports und Generatoren
16
Metamodellierungswerkzeuge
Metamodellierung mit MethodWorkbench
Institut für Informatik
Betriebliche Informationssysteme
•Anlegen von Objekten, Relationships, Roles, Constrains, Graphen
ƒNutzung von Object-, Relationship-, RoleTool
•Name des Objekts
•Die Attribute (Properties) des
Objekts
•Beschreibung des Objekts Î
Dokumentation und Hilfe für
EndUser
17
Metamodellierungswerkzeuge
Metamodellierung mit MethodWorkbench
•
Institut für Informatik
Betriebliche Informationssysteme
Definition der graphischen Notation
•Platzierung von Platzhaltern für die
Attributanzeige
•Definition der äußeren Grenze der
graphischen Notation
•Standardzeichenelemente
ÎDefinition der Konzepte über Masken und Editoren
ÎMethodWorkbench bildet auf das MetaMetaModel ab
18
Metamodellierungswerkzeuge
Reports in MethodWorkbench
Institut für Informatik
Betriebliche Informationssysteme
• als Metriken für die Modelle
• zur Codegeneration
ƒ Derzeit unterstützte Sprachen :
°
°
°
°
°
Smalltalk
Java
C++
Delphi
Corba IDL
• zur Projektdokumentation
ƒ Export in HTML (ganzes Projekt oder einzelne Graphen)
ƒ Export in Doc Dateien (ganzes Projekt oder einzelne
Graphen)
• Export von Modellen
19
Metamodellierungswerkzeuge
MetaEdit+
Institut für Informatik
Betriebliche Informationssysteme
• wendet die definierten Methoden an Î stellt Editoren für
Enduser bereit
• Aktualisiert bereits entworfene Modelle bei Änderung der
Methode
• Unterstützung für Multi User Betrieb
20
Metamodellierungswerkzeuge
Institut für Informatik
Betriebliche Informationssysteme
Interoperabilität
•
Auf Modell Ebene
•
Auf Metamodell Ebene
MetaEdit+
MetaEdit+
Datenbank
Interpreter
Interpreter
Transformation
EMF
GME
XSLT
EMF
GME
XSLT
21
Metamodellierungswerkzeuge
Institut für Informatik
Betriebliche Informationssysteme
Kriterien für Metamodellierungswerkzeuge
•
•
•
•
•
•
Unterstützung zur Inkrementellen Metamodellierung
ƒ Metamodel Repository
ƒ Model Evolution
Useability zur Metamodellierung
Useability für Enduser
API Unterstützung
Mögliche Zielplattformen ( Java, C++,…)
Unterstützte Betriebssysteme
Produkt
Hat
Metamodel
Repository ?
EMF
GME
Unterstützt
Model
Evolution ?
Useability
Metamodellierung
Useability
Enduser
API Unterstützung
Zielpattfor
men
Betriebssy
steme
Sehr
gut
Java
alle
keine
C++
Java
Windows
2000,XP
keine
C++,Java
, Corba
IDl,
Smalltalk,
Delphi
alle
nein
Nicht
automatisch
niedrig
Ohne
GEF
niedrig
Mit gut
Ja
ja
Sehr gut
gut
MetaEdit+
ja
ja
Sehr gut
Sehr
gut
22
Metamodellierungswerkzeuge
Fazit
Institut für Informatik
Betriebliche Informationssysteme
• EMF gut für MDSD
ƒ angesiedelt zwischen bekannter Programmierung und neuer
Modellierung von Applikationen
ƒ v.a. zum Code generieren
ƒ Mit viel Aufwand (zusätzliche Plugins) als komplettes
Framework zu betrachten
• GME komplettes Metamodellierungswerkzeug
ƒ Leicht erweiterbar
ƒ Sehr gut erlernbar
ƒ Aber auf MS Windows Systeme beschränkt
• MetaEdit+ komplettes und ausgereiftes
Metamodellierungswerkzeug
ƒ Vielfach bewährt
ƒ Breite Anwendungsmöglichkeiten
ƒ Aber sehr komplex
23
Metamodellierungswerkzeuge
Literatur / Quellen
Institut für Informatik
Betriebliche Informationssysteme
• Comparison of Model Driven Architecture (MDA) based tools
(KTH The Royal Institute of Technology Stockholm) Authors
Naveed Ahsan Tariq, Naeem Akhter 2005
• http://www.metacase.com
• http://eclipse.org/emf/
• The Generic Modeling Environment Authors Akos Ledeczi, Miklos
Maroti, Arpad Bakay, Gabor Karsai, Jason Garrett, Charles
Thomason, Greg Nordstrom, Jonathan Sprinkle and Peter
Volgyesi
• The MGA library Arpad Bakay ISIS, Vanderbilt University
September 2000
24
Herunterladen