Model Driven Architecture

Ähnliche Dokumente
Vortrag von: Ilias Agorakis & Robert Roginer

Model Driven Architecture (MDA)

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Model Driven Architecture Praxisbeispiel

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

Model Driven Development im Überblick

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

1 Einleitung 1. 2 Motivation für MDA Softwareprojekte scheitern Gründe für das Scheitern... 2

Systemdenken und Gestaltungsmethodik System-Modellierung

Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig,

SEA. Modellgetriebene Softwareentwicklung in der BA

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen

Neue Funktionen in Innovator 11 R5

32 Bachelorstudiengang Allgemeine Informatik

ETL-Prozess mit. im Produktivbetrieb. Christian Kolodziej

Model Driven Software Development

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

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

Comparing Software Factories and Software Product Lines

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

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

Software Systems Engineering

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

Generatives Programmieren

Agile Programmierung in der Praxis

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München,

Referenzarchitekturen und MDA 1

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Sonnenfinsternis in der Technischen Redaktion

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management

Modellgetriebene Service-Entwicklung

MDA-Praktikum, Einführung

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Korrektheitsbegriffe für modellbasierte Codegeneratoren

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)

Model Driven Architecture

Modellbasierte Softwareentwicklung

b+m Informatik AG Langlebige und zukunftsfähige modellgetriebene Softwaresysteme? Thomas Stahl b+m Informatik AG

Requirements Engineering für IT Systeme

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes

MDA auf der Grundlage der OMG Konzepte

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

Der frühe Tester fängt den Bug

Übungen zur Softwaretechnik

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Entwicklung von effizienten UI-basierten Akzeptanztests für Webanwendungen

Einführung in Generatives Programmieren. Bastian Molkenthin

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis


Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Erfolg ist programmierbar.

WhiteStarUML Tutorial

BPM im Kontext von Unternehmensarchitekturen. Konstantin Gress

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Methodenbasiert in der Durchführung V-Modell XT-konform im Ergebnis

Model Driven SOA. < J Springer. Anwendungsorientierte Methodik und Vorgehen in der Praxis. Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann

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

Modellgetriebene Softwareentwicklung

Ontologiebasiertes Kennzahlenmanagement

Seamless Model-based Engineering of a Reactive System

Software Projekt 2 / Gruppe Knauth Lernziele:

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

Lean Modeling - Datenmodelle und Geschäftsregeln einfach und präzise mit natürlicher Sprache spezifizieren

Business Process Management. AristaFlow GmbH Ulm

Requirements-Management Ein praktisches Beispiel

Informatik, Mathematik und Naturwissenschaften

Software-Architektur. Spektrum k_/takademischht VERLAG

Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung der Graph Markup Language (GraphML)

Informationswirtschaft 2: Überblick

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

SOMA Reverse Engineering

Java Enterprise Architekturen Willkommen in der Realität

Name: Seite 1. Matrikelnummer: Dauer 90 min, 1 Punkt = 1 min

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme

Einsatz automatischer Testdatengenerierung im modellbasierten Test

Erfolgreiche Realisierung von grossen Softwareprojekten

Projektbericht. Aufbau & Implementierung eines neuen Identity & Access- Management Systems basierend auf den Forefront Identity Manager 2010

Abacus Formula Compiler (AFC)

Echtzeit- und Regelungstechnische Aspekte bei der automatischen Transformation von Matlab/Simulink in SPS-basierten Steuerungscode

Übungsaufgaben zum Software Engineering: Management

Software-Entwicklung

Praktikant / Abschlussarbeit im Bereich Softwareentwicklung / Mechatronik (m/w)

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

16 Architekturentwurf Einführung und Überblick

Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten

Prüfung Software Engineering I (IB)

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

Vorlesung Programmieren

ÄTU Clausthal. Kollaborative Modellierung im Software Engineering. Christian Bartelt. SSE-Dissertation 4. Software Systems Engineering

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

ADVISOR - Moodle: Eine E-Learning Anwendung mit eduweaver. Sabrina Fochler Universität Wien. 15. September, 2006

Transkript:

Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester 14 25. Mai 2014

Agenda 1 Was ist MDA 2 3 4

Modellorientiert vs Modellbasiert Motivation für MDA MDA - Ein Lösungsvorschlag Modellbasierte Softwareentwicklung Wilhelm Stephan Model Driven Architecture 1 / 23

Modellorientiert vs Modellbasiert Motivation für MDA MDA - Ein Lösungsvorschlag Modellgetriebene Softwareentwicklung Wilhelm Stephan Model Driven Architecture 2 / 23

Modellorientiert vs Modellbasiert Motivation für MDA MDA - Ein Lösungsvorschlag Was ist besser? Vorteile Modellgetrieben Modell verständlicher als Code Modell dokumentiert Verhalten und Struktur Codegenerierung Plattformunabhängigkeit Vorteile Modellbasiert Flexibilität Wilhelm Stephan Model Driven Architecture 3 / 23

Modellorientiert vs Modellbasiert Motivation für MDA MDA - Ein Lösungsvorschlag CHAOS Report - Softwareprojekte scheitern Gründe für das Scheitern Fehlende Dokumentation Fehlendes fachliches Verständnis Kosten Zeitdruck Wilhelm Stephan Model Driven Architecture 4 / 23

Modellorientiert vs Modellbasiert Motivation für MDA MDA - Ein Lösungsvorschlag Die OMG und ihre Lösung OMG Object Management Group Konsortium von 11 Firmen 1989 gegründet Entwicklung von Standards UML CORBA MDA Der Lösungvorschlag MDA Abstrakter Lösungsvorschlag Keine konkrete Implementation Implementation ist den Toolherstellern überlassen Wilhelm Stephan Model Driven Architecture 5 / 23

Modellorientiert vs Modellbasiert Motivation für MDA MDA - Ein Lösungsvorschlag MDA - bevorstehender Schritt in der Evolution Wilhelm Stephan Model Driven Architecture 6 / 23

Modellorientiert vs Modellbasiert Motivation für MDA MDA - Ein Lösungsvorschlag MDA - bevorstehender Schritt in der Evolution Wilhelm Stephan Model Driven Architecture 6 / 23

Modellorientiert vs Modellbasiert Motivation für MDA MDA - Ein Lösungsvorschlag MDA - bevorstehender Schritt in der Evolution Wilhelm Stephan Model Driven Architecture 6 / 23

Modellorientiert vs Modellbasiert Motivation für MDA MDA - Ein Lösungsvorschlag MDA - bevorstehender Schritt in der Evolution Wilhelm Stephan Model Driven Architecture 6 / 23

Grundkonzept Modelltypen und Transformationen Grundkonzept von MDA Die Idee Anwendung modellieren Modelle transformieren Code generieren Wichtig: MDA ist mehr als Codegenerieren Wilhelm Stephan Model Driven Architecture 7 / 23

Grundkonzept Modelltypen und Transformationen Einführung des begleitenden Beispiels Der Weblandwirt Verwaltung eines Landwirtschaftlichen Betriebes Der Landwirt hat Ländereien Tiere Kunden und Lieferanten Produkte Gebäude Vorgehen Vom abstrakten Modell zum Code Quelle [ZW05] Wilhelm Stephan Model Driven Architecture 8 / 23

Grundkonzept Modelltypen und Transformationen Modelltyp CIM - Computation Independant Model Abstraktestes Modell Unabhängig von der Realisierung Speziziert Anforderungen und Verhalten Verständnis der Aufgabe des Systems Use-Case-Diagramme, Aktivitätsdiagramme Entspricht noch modellbasierter Softwareentwicklung Wilhelm Stephan Model Driven Architecture 9 / 23

Grundkonzept Modelltypen und Transformationen Weblandwirt - Beispielhaftes Use-Case-Diagramm Quelle [ZW05] Wilhelm Stephan Model Driven Architecture 10 / 23

Grundkonzept Modelltypen und Transformationen Modelltyp PIM - Platform Independant Model Strukturmodell/ Berechnungsmodell Unabhängig der Implementationstechnologie Fachliche Spezikation Modelliert Struktur Resistent gegen Technologieveränderung Klassendiagramm, Aktivitätsdiagramm, Use-Case-Diagramm Transformation von CIM in PIM Modell zu Modell Transformation Keine Tools bekannt - Manuelle Transformation Wilhelm Stephan Model Driven Architecture 11 / 23

Grundkonzept Modelltypen und Transformationen Weblandwirt - Transformation CIM zu PIM Beispielhaftes Klassendiagramm Wilhelm Stephan Model Driven Architecture 12 / 23

Grundkonzept Modelltypen und Transformationen Modelltyp PSM - Platform Specic Model Plattformmodell Durch CIM und PIM modelliert Modelliert Struktur Plattformspezische details Programmiersprache Datenbank Kommunikation zwischen Komponenten Plattformen z.b.: CORBA, J2EE Wilhelm Stephan Model Driven Architecture 13 / 23

Grundkonzept Modelltypen und Transformationen Modelltyp PSM - Platform Specic Model Transformation von PIM in PSM Modell zu Modell Transformation Schlüsselkonzept der MDA im Sinne der OMG Konzepte sind stabiler als Technologien Formale Modelle - automatisierte Tranformationen möglich Wilhelm Stephan Model Driven Architecture 14 / 23

Grundkonzept Modelltypen und Transformationen Weblandwirt - Transformation PIM in PSM Beispielhaftes Klassendiegramm Wilhelm Stephan Model Driven Architecture 15 / 23

Grundkonzept Modelltypen und Transformationen Modelltyp ISM - Implementation Specic Model Endresultat Quellcode Keine funktionale Implementierung Nur Quellcode-Skelette Transformation von PSM in ISM Modell zu Code Transformation Automatisierte Transformation möglich Viele Tools (Codegeneratoren) Wilhelm Stephan Model Driven Architecture 16 / 23

Grundkonzept Modelltypen und Transformationen Weblandwirt - Transformation PSM in ISM Automatisch generierter Code Wilhelm Stephan Model Driven Architecture 17 / 23

Ziele und Vorteile von MDA Evaluation des Beispiels Stand der Technik Rücktransformation/ Synchronisation ISM zu PSM Änderungen im Code - ändern das Modell Modell bleibt korrekt Können viele Tools (Codegeneratoren) PSM zu PIM Kaum automatisierbar Erfordert manuelle, intelektuelle Arbeit Wilhelm Stephan Model Driven Architecture 18 / 23

Ziele und Vorteile von MDA Evaluation des Beispiels Stand der Technik Lohnt es sich MDA zu benutzen? Ziele und Vorteile Plattform Unabhängigkeit Konsistenz zwischen Code und Modellen Steigerung der Entwicklungsgeschwindigkeit Verbesserung der Softwarequalität Bessere Dokumentation Idealismus vs Realität Nur teilweise automatisiert Toolhersteller beschränken sich auf Codegeneratoren Nur Code Skelette - Manuelle Vervollständigung nötig Wilhelm Stephan Model Driven Architecture 19 / 23

Ziele und Vorteile von MDA Evaluation des Beispiels Stand der Technik Evaluation des Beispiels Einheit Gesamtzeilenzahl generierte Zeilen manuell erstellte Zeilen generierte 1087 1087 0 ejb-dateien manuell erstellte 411 218 193 ejb-dateien Exception 15 0 15 Sprachdatei 95 0 95 WebPages 384 315 69 WebForms 462 462 0 WebActions 498 427 71 Gesamt 2952 (100%) 2509 (85%) 443 (15%) Quelle [ZW05] Wilhelm Stephan Model Driven Architecture 20 / 23

Ziele und Vorteile von MDA Evaluation des Beispiels Stand der Technik Stand der Technik Allgemein Interoperabilität Cartridges Modellierung Transformationen Tools dia und dia2code AndroMDA ExecutableUML Wilhelm Stephan Model Driven Architecture 21 / 23

Quellen MDA hat Potential Mächtige Abstraktion von Hochsprachen Codegeneratoren nützlich Einarbeitung lohnt sich Zeitgewinn im Laufe eines Projektes Mehrgewinn durch bessere Dokumentation Wilhelm Stephan Model Driven Architecture 22 / 23

Quellen Quellen Keefer, Andreas: MDA auf Basis Open Source. Diplomarbeit, Hochschule der Medien Stuttgart, 2007. Stahl, Thomas und Markus Völter: Modellgetriebene Softwareentwicklung - Techniken, Engineering, Management. Dpunkt-Verlag, Köln, 1. Au. Auflage, 2005. Wimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie. Diplomarbeit, TU Wien, 2005. Zeppenfeld, Klaus und Regine Wolters: Generative Software-Entwicklung mit der MDA -. Spektrum Akademischer Verlag, Heidelberg, 2005. Au. Auflage, 2005. Wilhelm Stephan Model Driven Architecture 23 / 23