6. Metamodellierung und Meta- CASE-Werkzeuge



Ähnliche Dokumente
25. Meta-CASE-Werkzeuge

25. Meta-CASE-Werkzeuge

6. Metamodellierung und Meta- CASE-Werkzeuge

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

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

WhiteStarUML Tutorial

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

Model Driven Architecture Praxisbeispiel

Model Driven Development im Überblick

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

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

DSL Entwicklung und Modellierung

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Techniken der Projektentwicklungen

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

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Übungen zur Softwaretechnik

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Use Cases. Use Cases

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

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

OP-LOG

Modellbasierte Softwareentwicklung mit EMF

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Requirements Engineering I

3D Visualisierung von UML Umgebungsmodellen

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

Print2CAD 2017, 8th Generation. Netzwerkversionen

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Jochen Bauer

Design mit CASE-Tools

Forschungsprojekt SS 2009

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

Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung. R. Gitzel, M. Schwind

A Domain Specific Language for Project Execution Models

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

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

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

:: Anleitung Hosting Server 1cloud.ch ::

Code-Erzeugung aus UML-Klassendiagrammen

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Netzwerkversion PVG.view

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

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

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine

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

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

Klausur Software Engineering für WI (EuI)

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Model Driven Architecture (MDA)

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

SemTalk Services Stand: Februar 2015

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Workflow, Business Process Management, 4.Teil

Installation & Konfiguration AddOn CopyObjects

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

Modellgetriebene Service-Entwicklung

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

Systemdenken und Gestaltungsmethodik System-Modellierung

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

Fragenkatalog Geschäftsmodellierung Grundlagen

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

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Produktskizze. 28. November 2005 Projektgruppe Syspect

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Business Intelligence Praktikum 1

Witbox. Anleitung Repetier-Host. Witbox

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Generatives Programmieren

Planung für Organisation und Technik

Vorlesung vom Einführung in die geschäftsprozessorientierte Unternehmensführung

Lizenzen auschecken. Was ist zu tun?

Modellbasierte Softwareentwicklung

Vortrag von: Ilias Agorakis & Robert Roginer

Zustandsgebundene Webservices

Model Driven Software Development

Die ideale Verbindung zu Ihren Kunden durch Integration von Telefonie und Kundendaten CTI RECY CLE

Die itsystems Publishing-Lösung

Modellgetriebene Softwareentwicklung. 31. Januar 2013

4D Server v12 64-bit Version BETA VERSION

HINWEISE ZUR ARBEIT IM LABOR

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

PFlow-Editor Entwicklung und Implementierung eines Modellierungswerkzeugs für ein Peer-to-Peer Production Workflow Management System

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Business-Rule-Management als Instrument des Software-Reengineering

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 Prof. U. Aßmann, SEW 5

Nutzen der Metamodell-Architektur 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 SEW, Prof. Uwe Aßmann 9

Beispiele zu Meta-CASE 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 Prof. U. Aßmann, SEW 11

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 * 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 Attribute 0..* entität 1..1 Rolle1 1..1 Entität Rolle2 1..1 Rollen1 0..* Rollen2 0..* Beziehung Kardinalität1 : Kardinalität Kardinalität2 : Kardinalität Attribut ist Schlüsselelement : BOOL attribute typ 0..* 1..1 Typ 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 typ 0..1 Ergebnistyp 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