6. Metamodellierung und Meta- CASE-Werkzeuge

Ähnliche Dokumente
6. Metamodellierung und Meta- CASE-Werkzeuge

25. Meta-CASE-Werkzeuge

25. Meta-CASE-Werkzeuge

Software-Engineering im Sommersemester 2014

11. Metamodellierung Metamodellierung. Obligatorische Literatur. Andere Literatur

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in das Eclipse Modeling Framework (EMF)

Eclipse Modeling Framework

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

Thema 5 Domain Specific Languages

Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt

Grundlagen von MOF. Alexander Gepting 1

Einführung in das Eclipse Modeling Framework (EMF)

Model Driven Architecture Praxisbeispiel

Bridging Microsoft Oslo and Eclipse EMF

Common Warehouse Metamodel und Imperfektion

Model Driven Development im Überblick

Notationen zur Prozessmodellierung

Definition von domänenspezifischen Sprachen mit Xtext: Einführung

Model Driven Software Development

Thema 3 Das UML- Metamodell

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

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

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

Generischer Modellvergleich mit EMF Compare

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

UML. Weiteres Vorgehen im Projekt

Oracle JDeveloper 10 g

Modellgetriebene Entwicklung eingebetteter Systeme mit Eclipse

Unified Modeling Language 2

Software Factories SS Prof. Dr. Dirk Müller. 6 Eclipse Modeling Framework

Herausforderung: Entwicklungsmethodik und technisches Umfeld

Von UML 1.x nach UML 2.0

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Einführung in das Eclipse Modeling Framework. 5. November 2014

Problemseminar ModelDrivenSoftwareDevelopment

Model Driven Architecture

UML (Unified Modelling Language) von Christian Bartl

Einführung in das Graphical Modeling Framework. 13. November 2012

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS

Universität Karlsruhe (TH)

Modellgetriebene Entwicklung von Pervasive Games

Kapitel 2 - Die Definitionsphase

Vorlesung Programmieren

Ausarbeitung Referat zur MDA

MDA-Praktikum, Einführung

Software Factories SS Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

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

Software- und Systementwicklung

Poseidon for UML. Einführung. Andreas Blunk

Vorlesung Software Engineering

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

MDRE die nächste Generation des Requirements Engineerings

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Realität zu modellieren eine

Comelio GmbH - Goethestr Berlin. Kurskatalog

COPE COuPled Evolution of metamodels and models

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012

Anpassung eines Metamodells zur Beschreibung von imperfekten Daten in einem Data-Warehouse. Studienarbeit Nils Hilt

Java Metadata Interface. Thorsten Pivl

MDSD Einführung und Überblick

WhiteStarUML Tutorial

Software Factories WS 2017/18. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Metamodellierung mit MOF und Ecore

Software Engineering. 5. Architektur

Übungen Softwaretechnik I

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften

Modell-Differenzen zur Änderungserkennung in großen Modellen

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014

Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze

Prof. Dr. Jan Jürjens

UML Modellierung und Model Driven Architecture (MDA) für Java mittels Rational Software Architect (RSA)

Rückblick: Entity-Relationship-Modell

Generierung von Steuerungsprogrammcode für SPS und μc aus Petri-Netz-Modellen

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

Seminar. Metamodellierung für modellgetriebene Softwareentwicklung mit MDA und UML

Inhalt. " DiaGen Historie und Beschreibung. " Architektur eines DiaGen-Editors. " Hypergraphen. " DiaGen-Editoren Komponenten

Templatebasierter CDA-Generator mit ART-DECOR. Vortrag im Rahmen der HL7 Austria Jahrestagung 2017, Wien Dipl.-Inform. Med.

Software Engineering in der Projektpraxis

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

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

openarchitectureware

Requirements Engineering I

Modellinteroperabilität zwischen Microsoft Visio und Eclipse EMF als Mittel zur modellgetriebenen Integration

Von der Prozessanalyse zur Prozessautomatisierung

INSPIRE - Modellierung

Modelling in the Wild Domains and Abstraction in Model-Driven Software Development

Dynamisches EMF und Codegenerierung mit JET. 14. November 2012

Software-Entwicklungswerkzeuge (SEW)

22. Januar Gruppe 2: TOPCASED

Model-Driven Software Engineering (HS 2011)

Objektorientierte Modellierung (1)

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß

Transkript:

6. Metamodellierung und Meta- CASE-Werkzeuge Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de Version 09-0.3, 09.12.09 1) Metamodellierung 2) Meta-CASE-Werkzeuge 3) MOFLON Meta-CASE- Werkzeug 4) FlowR von Achievo SEW, Prof. Uwe Aßmann 1 Literatur [Nill] C. Nill. Analysis and Design Modeling Using Metaphorical Modeling Entities. A Modeling Language for the Tools and Materials Approach. Diplomarbeit Technische Universität Dresden, 2006. Prof. U. Aßmann, SEW 2

6.1 Metamodellierung SEW, Prof. Uwe Aßmann 3 Modelle in der Softwaretechnik Phasenmodelle defi nieren Tätigkeiten und ihre Verknüpfung beim Ablauf großer Software- Entwicklungsvorhaben. Vorgehensmodelle unterscheiden Tätigkeiten (Aktivitäten) und von ihnen erzeugte Ergebnisse (Dokumente, Produkte) sowie ihr Zusammenwirken. Anwendungsmodelle beschreiben den mittels der Methoden modellierten Problembereich (Analyse) aus der realen Welt des Anwenders. Software-Strukturmodelle veranschaulichen den Aufbau der konkreten Software-Struktur im Lösungsbereich (Entwurf) des Rechners (UML). Architekturmodelle Verteilung von Software-(Modell-)Bestandteilen nach bestimmten Anordnungen, Mustern(Pattern) bzw. Referenzmodellen (Client-Server, Web- Verteilung, ECMA-Referenzmodell, UI) Metamodelle sind Modelle, deren Instanzen selbst Modelle sind. Im spezifi schen Prozess der Software-Entwicklung beschreiben sie Anwendungsmodelle, Entwicklungsobjekte, Datenformate (UML, XML, XMI u. a.) Prof. U. Aßmann, SEW 4

Wiederholung 4 Schichten Metamodell- Hierarchie (OMG, MOF) Quelle: UML 2.0 Infrastructure Specification; OMG Adopted Specification ptc/03-09-15 Nutzen der Metamodell-Architektur Prof. U. Aßmann, SEW 5 Mittels Meta-Metamodellen (Metasprachen) lassen sich defnieren beliebige Metamodelle konkreter Modellierungssprachen defnieren. Metamodelle von domänenspezifschen Sprachen (DSL) Auf Basis von Metaebenen können verschiedene Beschreibungssprachen ineinander überführt werden Hierarchische Anordnung der einzelnen Modellebenen ermöglicht schrittweise Verfeinerung der semantischen Konzepte Transformationsbrücken (z.b. mit EMFText, oder XMI) Notwendigkeit von Metamodellen wegen prägnanten, präzisen Defnition von Softwareobjekten und -dokumenten Vertiefung semantischer Beziehungen und Regeln (Konsistenzprüfung) korrekte Implementation von Werkzeugen für zu unterstützende Methoden (Automatisierung) Fähigkeit der Selbstbeschreibung und Überprüfbarkeit mit eigenen Mitteln Prof. U. Aßmann, SEW 6

Bedeutung der UML-Metamodellierung für CASE Das UML-Metamodell ist logisches und kein physikalisches oder (Implementations-) Modell, mit einheitlicher Semantik für alle darzustellenden Diagramminstanzen, Nutzung für Non-Standard-Applikationen, wie multimediale und Echtzeit- Applikationen Schema für Repositories zur einheitlichen theoretisch fundierten Datenbeschreibung Metamodellaustauschformat XMI für CASE-Werkzeugdaten momentan noch keine Nutzung bekannt, wo aus dem UML-Metamodell CASE-Tools generiert werden. ohne vorgegebene Vorgehens-(Prozess-)Modellierung keine Basis für das Prozessmanagement Prof. U. Aßmann, SEW 7 Metamodelle für CASE Metamodelle für für CASE CASE basieren auf auf textuellen oder oder graphischen Beschreibungen einer einer Methode oder oder einer einer Notation, aus aus deren deren Interpretation, Compilier und und CASE-Werkzeuge generiert, konfi konfi guriert guriert oder oder parametrisiert werden werden können. Be- Die auf Metamodellen beruhenden SEU werden oftmals auch als Meta- CASE bezeichnet. Die Sprache, in der die Metamodelle erstellt werden, wird Metasprache genannt (M3) Sie beinhalten im Allgemeinen eine Technologie zum Entwickeln und zum Erzeugen von CASE. Sie werden dementsprechend auch als automatische (Generierung,funktionaler Aspekt) oder halbautomatische (Modellierung, statischer Aspekt) Unterstützung für die Entwicklung von CASE-Tools bezeichnet. Der Bedeutungsumfang ist vom automatischen Erzeugen von CASE-Tools aus der Script-Notation des Metamodells bis zu parametrisierbaren und anpassbaren normalen CASE-Werkzeugen weit gespannt. Quellen: http://www.uni-koblenz.de/fb4/institutes/ist/agebert/mainresearch/metatechnology/kogge http://www.cs.usask.ca/grads/vsk719/academic/856/project/node8.html http://www.cs.ualberta.ca/~softeng/theses/zhu.shtml http://www.metacase.com/de/index.html Prof. U. Aßmann, SEW 8

6.2 Meta-CASE-Werkzeuge Beispiele zu Meta-CASE SEW, Prof. Uwe Aßmann 9 IPSYS ToolBuilder: Metasprache: erweitertes ERD (um Vererbung erweitert) Meta-Tool (GB A. Schmidt, Prof. Liskowsky): Erstellung der Modellierungsobjekte im Repository, dessen Strukturen gleichzeitig das Metamodell darstellen Editor zur Manipulationen des Repository. Generierung der Werkzeuge (Prüfwerkzeug, Code-Generator, Umformungsund Simulationswerkzeug) einschließlich Anwendung Werkzeuge werden als Methodenaufrufe generiert, die einen Text als Rückgabewert besitzen Prof. U. Aßmann, SEW 10

Beispiele zu Meta-CASE KOGGE, JKOGGE: Generator für grafsche Entwurfsumgebungen KOGGE basiert auf einer formalen Meta-Tool-Beschreibung und einem Interpreter (Prof. Ebert, Uni Koblenz). http://www.uni-koblenzlandau.de/koblenz/fb4/institute/ist/agebert/mainresearch MetaEdit+: Parametrisierbares CASE-Tool mit. Editor für Metamodelle (MetaEdit+ Metasprache). Generator für die Erstellung der Methodenbeschreibung Eclipse Modeling Facility (EMOF): Benutzt eine Teilmenge von MOF OpenArchitectureWare (EMOF) Netbeans: IDE basierend auf MOF FlowR: ScreenFlows Metasprache von MetaEdit+ auf Basis der GOPRR Metamodellierung: - Graph Tool - Object Tool - Property Tool - Relationship Tool - Role Tool NonProperty decompgraph (properties added by types i.e.subclasses) propertytypecoll propertynamecoll propertyuniquenesscoll defaultproperty Concept typename typedescription Prof. U. Aßmann, SEW 11 Property value datatype legalvaluetest Project name graphset Graph relationshipset roleset objectset bindingset ExplodeSet Relationship Role Object Port relationshipset roleset objectset bindingset explodedict decompdict constraintset reportset Binding relationship connectioncoll Connection role objectset cardinality Prof. U. Aßmann, SEW 12

Graph Types in MetaEdit+ A graph type (diagram) defnes: Objects Roles Relationships Allowed Bindings between all entities:. a binding consists of a relationship with roles and playing objects Graph 1 Object 2.. Binding 1 1 1 Relationship 2.. Role 0.. Port 1 0..1 Prof. U. Aßmann, SEW 13 Erstellen eines eigenen CASE-Tools Entwurf der eigenen Methode Benutzen der eigenen Methode Quelle: http://www.metacase.com/mwb30index.html Prof. U. Aßmann, SEW 14

MetaEdit+ Workbench für ein State Diagram (STD) Quelle: http://www.metacase.com/mwb30index.html Prof. U. Aßmann, SEW 15 Meta-Modell des ER-Modellers ER-Modell Generiere SQL-DDL-Code() er-modell 1..1 Elemente 0.. Element entität 1..1 Attribute 0.. Attribut ist Schlüsselelement : BOOL Rollen1 0.. Rolle1 Entität 1..1 Rolle2 Rollen2 1..1 0.. attribute typ Typ 0.. 1..1 Beziehung Kardinalität1 : Kardinalität Kardinalität2 : Kardinalität Prof. U. Aßmann, SEW 16

Meta-Modell des Meta-Tools Objektmodell objektmodell 1 Items 0.. Modellierungskonstrukt Kinder Eltern 0.. 0.. Objektklasse abstrakt: BOOL 1 Rolle1 0.. binäre Assoziation objektklasse 1 Rolle2 1 Rollen2 0.. Attribute 0.. 0.. Attribute Operationen 0.. Attribut transientes Attribut: BOOL Default-Wert: String Operation Body: Text GUI-Funktion: BOOL 0.. Operationen Ergebnistyp typ 0..1 typ 1 Typ 1 typ 1 Argumente 0.. Argumente 0.. Argument Default-Wert: Text parameterübergabe: Parameterübergabe Aufzählungselemente 0.. Aufzählungselement Prof. U. Aßmann, SEW 17 Werkzeuge in MetaEdit+ Report Generator: Skriptgesteuert, zur Erzeugung von Texten und Code API (API-Server): MetaEdit+ ist in Smalltalk implementiert Zugreifbar über Web Server (SOAP mit WSDL) Report 'ExportToolUIModel' '<?xml version="1.0" encoding="utf-8"?>'newline; '<model>'newline; foreach.graph { do :Graph { if type; = 'Tools UIs Model' then subreport; 'ToolUI_XML' run; else subreport; 'structurexml' run; endif } } '</model>'newline; endreport [Nill] Prof. U. Aßmann, SEW 18

Tool/Material DSL, Modeled in MetaEdit+ [Nill] präsentiert eine TAM-DSL, modelliert in MetaEdit+ Editor erlaubt generische Darstellung der Konzepte der DSL Prof. U. Aßmann, SEW 19 Verbindung GUI Tool/Material DSL Prof. U. Aßmann, SEW 20

Flowr von Achevo (Dresden), www.fowr.org Flowr ist ein Screen-Flow-Framework, zum Erstellen von Maskenfolgen (Screen/Seiten-Folgen) Metamodellierung in EMF Codegenerierung in OAW Mitarbeit erwünscht Location in Dresden Prof. U. Aßmann, SEW 21 Nutzung von Meta-CASE Ein Meta-CASE-Werkzeug ist eine Entwicklungsumgebung für den Entwurf von SEU und Softwarewerkzeugen Herstellung einer individuell angepassten Umgebung aus einem Guss, d. h. keine separaten Frontend- und Backend-Tools Modellierung von Elementen, die in UML ansatzweise aber nicht vollständig unterstützt werden, Beispiel: Petri-Netze Modellierung von domänenspezifschen Sprachen und ihren Werkzeugen (domain-specifc languages, DSL) Speziell an die Domäne angepasste Entwurfsmethoden verbessern die Produktivität des Teams An den Anwendungsfall angepasste Software-Entwicklungswerkzeuge bringen eine höhere Efzienz. Domänenspezifsche Methoden sind 5 bis 10 mal schneller als die sonst übliche (UML-)Notation (bei Nokia 10-fache Produktivitätssteigerung) Quelle: Domain-Specifi c Modeling: 10 Times Faster Than UML; Whitepaper MetaCase 2005; URL: http://www.metacase.com/de/ Prof. U. Aßmann, SEW 22

The End Prof. U. Aßmann, SEW 23