Problemseminar ModelDrivenSoftwareDevelopment



Ähnliche Dokumente
Model Driven Software Development

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

Model Driven Architecture Praxisbeispiel

Vortrag von: Ilias Agorakis & Robert Roginer

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

A Domain Specific Language for Project Execution Models

Comparing Software Factories and Software Product Lines

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.

Current Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code.

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

Programmierung für Mathematik (HS13)

Software Engineering II

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Model Driven Architecture (MDA)

Datenhaltung für Android Model First Christian Ingenhaag, Frederik Götz, Carl Steeg

DSL Entwicklung und Modellierung

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

DSLs mit Xtext entwerfen , A. Arnold

Kurzeinführung Excel2App. Version 1.0.0

Jochen Bauer

Modellgetriebene Service-Entwicklung

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

Einführung in Generatives Programmieren. Bastian Molkenthin

Design mit CASE-Tools

Arbeiten mit UMLed und Delphi

Model-Driven Software Engineering (HS 2011)

Konzept Projekt Lisa

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle

INNOVATOR im Entwicklungsprozess

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon

EMF-GMF-Tutorial: Petrinet

25. Meta-CASE-Werkzeuge

Generischer Modellvergleich mit EMF Compare

Grundlagen Software Engineering

Generative Prozessmodelle Patrick Otto MDD Konferenz

ECLIPSE PLUG-IN. Redwood Anwendertage 2015

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Modellbasierte Softwareentwicklung

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Alexander Delater, Barbara Paech RUPRECHT-KARLS-UNIVERSITÄT HEIDELBERG

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics )

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Visuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt

Die Entwicklung des Open-Source. Source-Tools. zum Datenbankabgleich von Karsten Panier. Inhalt

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Eclipse Neue Trends in der Eclipse-Technologie (Seminar WS 2012/13) Gabriele Taentzer, Thorsten Arendt

Installationsbeschreibung Flottenmanager 7.1

IVS Arbeitsgruppe Softwaretechnik Abschnitt Management komplexer Integrationslösungen

Forschungsprojekt SS 2009

SAP SharePoint Integration. e1 Business Solutions GmbH

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Generatives Programmieren

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Software Engineering II

Sonnenfinsternis in der Technischen Redaktion

Best Practices für RM/RE in einem Prozess Framework Thomas Schröder

Inhalt. Motivation Techniken des MDE. Fallbeispiele

TemplaVoila T3AK07 - TYPO3 Akademie 2.0

J.6 Programmierung eingebetteter Systeme

Model Driven Development im Überblick

Kurzanleitung zu XML2DB

Kurzfassung der Studienarbeit

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

MDSD Einführung und Überblick

Prof. Dr. Gabriele Taentzer, Dr. Thorsten Arendt

Master Projekt SoSe Computergestützte Generierung und Validierung von Softwaremodellen. Rene Meis Nazila Gol Mohammadi Prof. Dr.

Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1

nitgofer netkey information technology gmbh VORTEILE AUF EINEN BLICK

Was sind Ontologie-Editoren?

Produktinformation DaVinci Developer

InfoPoint vom 9. November 2011

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Arbeiten mit den Mastercam Werkzeug-Managern

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Technische Hinweise. Dokumentation Sage bäurer GmbH, D Donaueschingen Weitere Produkt-Infos:

Freischaltung und Installation von Programm-Modulen

Eclipse Neue Trends in der Eclipse-Technologie (Seminar WS 2013/14)

Workflow, Business Process Management, 4.Teil

Abacus Formula Compiler (AFC)

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Transkript:

Problemseminar ModelDrivenSoftwareDevelopment Metamodellierungswerkzeuge Björn Dassow

Aufbau Definition Beschreibung Metamodellierung Kurzer Überblick über EMF, GME, MetaEdit+ Interoperabilitätsbetrachtung Vergleich der Tools 2

Definitionen 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 abstractionsof 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

Metamodellierung Der Prozess der Metamodellierung Entwicklung des Metamodel Definition Syntax Definition Semantik Domain Expert Metamodeller Implementierung von Interpretern Definition und Implementierung von Reports Repository Editoren z.b. CASE oder CAD Tools Enduser z.b. Programmentwickler o. Produktdesigner Metamodellierungswerkzeug 4

EMF 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

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 Editor Eclipse Plugin Passt den Quellcode an (EMF.Edit API) Generierte Javaklassen Ecore/EMF Model 6

EMF Editoren ein alternativer Weg 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

GME Generic Modeling Environment Entwickelt am Institute for Software Integrated Systems at Vanderbilt University Modulare, komponentenbasierte Architektur 8

Benutzung des GME 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

Beispiel für Syntax Definition in GME 10

Beispiel für Syntax Definition in GME 11

Beispiel für Syntax Definition in GME 12

Benutzung des GME Zur Modellierung von Modellen Anwendung des GME Editor Design von konkreten Modellen mit diesem Paradigma Ausführen der Reports auf den Modellen 13

GME Constrains 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

Beispiele für Metamodellierungswerkzeuge 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

Metamodellierung mit MethodWorkbench 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

Metamodellierung mit MethodWorkbench 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

Metamodellierung mit MethodWorkbench 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

Reports in MethodWorkbench 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

MetaEdit+ 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

Interoperabilität Auf Modell Ebene Auf Metamodell Ebene MetaEdit+ MetaEdit+ Interpreter Interpreter Datenbank Transformation EMF GME EMF GME XSLT XSLT 21

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? Unterstützt Model Evolution? Useability Metamodellierung Useability Enduser API Unterstützung Zielpattfor men Betriebssy steme EMF nein Nicht automatisch niedrig Ohne GEF niedrig Mit gut Sehr gut Java alle GME Ja ja Sehr gut gut keine C++ Java Windows 2000,XP MetaEdit+ ja ja Sehr gut Sehr gut keine C++,Java, Corba IDl, Smalltalk, Delphi alle 22

Fazit 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

Literatur / Quellen 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