MDSD in der Praxis. Dr. Shota Okujava.

Ähnliche Dokumente
Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

Model Driven Development im Überblick

Model Driven Architecture

Model Driven Architecture Praxisbeispiel

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

MDA-Praktikum, Einführung

Modellgetriebene Softwareentwicklung

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

Model Driven Architecture

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

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

22. Januar Gruppe 2: TOPCASED

Vortrag von: Ilias Agorakis & Robert Roginer

Modellgetriebene Softwareentwicklung

Model Driven Architecture (MDA)

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

Potentiale modellgetriebener Softwareentwicklung

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

SEA. Modellgetriebene Softwareentwicklung in der BA

MDA auf der Grundlage der OMG Konzepte

Einführung in das Eclipse Modeling Framework (EMF)

Model-Driven Software Engineering (HS 2011)

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

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

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

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

Einführung in das Eclipse Modeling Framework (EMF)

Systemdenken und Gestaltungsmethodik System-Modellierung

2 Softwarearchitektur in der Organisationsstruktur 25

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen

Model Driven Architecture

MDRE die nächste Generation des Requirements Engineerings

Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt

Ausarbeitung Referat zur MDA

Thema 5 Domain Specific Languages

Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen

Software-Engineering im Sommersemester 2014

Michael Piechotta - CASE Tools. openarchitecture Ware

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

Integration von Model-Driven Development und formaler Verfikation in den Softwareentwicklungsprozess

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften

Model Driven Architecture

Grundlagen von MOF. Alexander Gepting 1

10. Modellgetriebene Entwicklung Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Herausforderung: Entwicklungsmethodik und technisches Umfeld

Herausforderungen und Strategien für die qualitätsvolle Entwicklung Software-intensiver Systeme

Von der Prozessanalyse zur Prozessautomatisierung

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

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

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

Eclipse Modeling Framework

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

Wiederverwendung von Transformationen

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014

Behutsame Modernisierung

Andreas Lux Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse

Notationen zur Prozessmodellierung

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Standard-Workflows vs. Workflow-Standards

Einführung in die Modellgetriebene Software-Entwicklung (Stichworte)

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

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN

Institut für Informatik Betriebliche Informationssysteme Graph-basiertes Reengineering

Einführung in das Eclipse Modeling Framework (EMF)

Model Driven Development einige wichtige Grundprinzipien

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

Erfolg MDSD. Scheitern

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

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Metamodellierung mit MOF und Ecore

Modellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks

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

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

Modellgetriebene Entwicklung eingebetteter Systeme mit Eclipse

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


Modellgetriebene Softwareentwicklung

Generischer Modellvergleich mit EMF Compare

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

Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark Poguntke 2 1

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

Entwicklung interaktiver Systeme mit Hilfe von Model Based User Interface Development und HCI Patterns

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

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

ModSoft. Organisatorisches. Modellbasierte Software-Entwicklung mit UML 2 im WS 2014/15

Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes

Unified Modeling Language 2

Vom Geschäftsmodell zum Code Komponentenbasierte Entwicklung auf Basis der Model Driven Architecture

Experiences with Model Driven Software Development Creating the Palladio Tool Chain Eclipse Application Developer Day 7.

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

Diplomarbeit. Model-Driven Software Development: Comparison between light- and heavy-weighted methods by way of the judical dunning procedure

Comparing Software Factories and Software Product Lines

Transkript:

MDSD in der Praxis Dr. Shota Okujava shota.okujava@isento.de www.isento.de

Agenda Einführung/Begriffsdefinition Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Probleme und Herausforderungen Fazit 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue 2 Impulse für Ihren Erfolg

Model Driven Software Development Model Driven Software Development Erzeugen eines Programmcodes aus formallen Modellen. Im Laufe eines Softwareentwicklungsprozesses können mehrere Modelle entstehen: Fachliches Modell Technisches Modell Geschäftsprozessmodell Business Domain Modell In einem Softwareentwicklungsprojekt ist es wichtig, die Modellelemente aus unterschiedlichen Modellen aufeinander abbilden und diese Abbildung persistent halten zu können 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue Impulse für Ihren Erfolg 3

Begriffsabgrenzung In der Literatur und Praxis kursieren viele ähnliche Begriffe und Abkürzungen: MDSD Model Driven Software Development MDSE Model Driven Software Engineering MDA Model Driven Architecture MDE Model Driven Engineering MDD Model Driven Development Diese Begriffe stehen meistens für das gleiche Paradigma in der Softwareentwicklung, unterscheiden sich jedoch in (teilweise unwichtigen) Details, wie z.b. Markenschutzrechte 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 4

Vorgehen bei MDSD Ein minimaler Zyklus besteht aus folgenden Schritten: Erstellung des Modells Optional: Transformation des Modells in ein anderes Modell oder Zusammenführen mehrerer Modelle (Model-to-Model- Transformation) Transformation des Modells in Text oder Programmcode (Model- to-code-/model-to-text-transformation) Optional: Erweiterung des Generierten Codes Die Anzahl der Modelle und der Transformationen ist von der Komplexität des Softwareentwicklungsprozesses abhängig 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 5

Vorteile des MDSD Der Code ist mit dem Modell synchron und entspricht (meistens) der Dokumentation Der Code ist standardisiert und damit viel einfacher zu verstehen und zu warten Die Generierung kann teilweise komplexe Felder abdecken, wie z.b. Deployment, Workflow-Definition, Schnittstellen zu anderen Systemen Durch strikte Rollentrennung zwischen Modellierer und Programmierer werden Barrieren geschaffen es kann besser festgelegt werden, wer welche Aufgaben zu übernehmen hat. 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 6

Nachteile des MDSD Es besteht die Gefahr, dass die Modelle zu komplex werden Der Entwickler ist nicht mehr so flexibel und kann nicht immer nach Belieben den Code ändern Zusätzliche Regeln werden eingeführt, die den Prozess der Softwareentwicklung komplexer machen Die Vor- und Nachteile sind sehr stark von der Projektorganisation und vom Projektteam abhängig 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 7

Agenda Einführung/Begriffsdefinition Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Probleme und Herausforderungen Fazit 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue Impulse für Ihren Erfolg 8

Modelle in MDSD Ein Modell ist ein vereinfachter Abbild der Realität Ein Modell hat eine bestimmte Zielsetzung. In einem Softwareentwicklungsprozess kann diese Zielsetzung je nach Disziplin unterschiedlich aussehen: Anforderungsmanagement: Grobes Modell zur Veranschaulichung der Zusammenhänge und der Abläufe, z.b. BP-Modell Systemanalyse: Fachlich bedingte Elemente, Beziehungen und Abläufe Anwendungsdesign: Technische Gegebenheiten des Anwendungssystems Persistenzmodell, Servicemodell 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue Impulse für Ihren Erfolg 9

Full-Blown Softwareentwicklungsprozess Anforderungsmanagement (BPM, UCM) Systemanalyse (AM) Anwendungsarchitektur Anwendungsdesign (DDM) Legende Informationsfluss Entwicklung (Code) Test 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue Impulse für Ihren Erfolg 10

Softwareentwicklungsprozess und MDSD In einem Softwareentwicklungsprozess gestalten sich die Übergänge zwischen Disziplinen besonders schwer Mögliche Problemfelder sind: Informationsbasis ist verstreut auf viele Dokumente/Artefakte Die von einer Disziplin generierten Inhalte sind nicht eindeutig es gibt zu viele Interpretationsmöglichkeiten für andere Disziplinen nicht verständlich Durch den generativen Übergang können viele dieser Problemfelder adressiert werden. 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue 11 Impulse für Ihren Erfolg

Modelle im Full-Blown Softwareentwicklungsprozess CIM - Computational Independent Model Anforderungsmanagement (BPM, UCM) PIM - Plattform Independent Model Systemanalyse (AM) PSM - Platform Specific Model Anwendungsarchitektur Anwendungsdesign (DDM) Legende Informationsfluss (Teil-)Automatisierter Übergang Entwicklung (Code) Test 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue Impulse für Ihren Erfolg 12

Modelle und Metamodelle Metameta-Ebene (entsp. OMG M3) z.b. ecore oder UML Meta-Ebene (entsp. OMG M2) PIM- Metamodell PSM- Metamodell Modell-Ebene (entsp. OMG M1) PIM-Modell PSM-Modell Legende Abstraktion Spezifikation 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue Impulse für Ihren Erfolg 13

Agenda Einführung/Begriffsdefinition Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Probleme und Herausforderungen Fazit 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue 14 Impulse für Ihren Erfolg

Technologien & Werkzeuge Für ausgewählte Bereiche ist gute Werkzeugunterstützung gegeben Z. B. UML-Editoren, Editoren für Transformationsskripte Transformationssprachen sind sehr mächtig und ausreichend unterstützt Z.B. ATL, QVT, oaw Metametasprachen sind ausrechend verfügbar und gut dokumentiert Z.B. XTEXT, UML, ECORE 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 15

Modellierung: UML/ecore vs. Xtext UML und ecore als universelle Modellierungssprachen nur eingeschränkt für MDSD geeignet Volles Potenzial wird nur durch Definition der Metamodelle (Profile) entfaltet Xtext sieht von der grafischen Modellierung ab Dadurch kann schneller Modelliert werden, große Modelle sind aber nicht mehr überschaubar Xtext ist vom Grund aus näher an den Entwickler und genießt bessere Akzeptanz Die wesentlichen Vorteile eines Modells sind die Einfachheit und Definition der Sichten auf das System Aber Vorsicht: Überladene Transformatoren und Generatoren erhöhen das Projektrisiko 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 16

PSM-Erweiterungen in UML 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 17

Alternative: xtext Mehr Entwicklerfreundlich Bei größeren Modellen schwer überschaubar Durch Annotation by Exception nicht sehr aufwendig. 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 18

Agenda Einführung/Begriffsdefinition Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Probleme und Herausforderungen Fazit 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue 19 Impulse für Ihren Erfolg

Probleme und Herausforderungen Die Herausforderungen sind: Prozessgestaltung Disziplinenübergänge bei der Iterativ- Inkrementellen Vorgehensweise sind nicht trivial Modellmanagement Die Verwaltung der Modelle inklusive modellübergreifende Abhängigkeiten der Elemente ist meistens sehr komplex und schwer überschaubar Versionierung Es gibt kaum reife Werkzeuge, die die Versionierung und das Merge der komplexen Modelle beherrschen Heterogenität der eingesetzten Technologien Der Allrounder im Projekt muss mindestens UML oder xtext, M2M- Transformation, M2C-Transformation und die Programmiersprache selbst beherrschen Akzeptanzproblem Einschränken des Entwicklers, Das Richtige Maß an Modellierung 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 20

Erfolgreiche Praxisbeispiele für MDSD Organisationsweites Softwareentwicklungsprozess der Bundesagentur für Arbeit: bessere Projekterfolge durch die Homogenisierung der IT-Landschaft Ein Modell mehrere Technologien: MDSD wurde eingesetzt zur Schnittstellengenerierung in C (Clientseitig) und Java (Serverseitig) durch den generativen Übergang vom Modell in Code waren die während des gesamten Projekts hoch variablen Schnittstellen immer abgestimmt und fehlerfrei Modelle sind führend: Durch die Modellierung der wichtigsten Artefakte wurde die mangelnde Professionalität des Entwicklerteams ausgeglichen 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 21

Agenda Einführung/Begriffsdefinition Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Probleme und Herausforderungen Fazit 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue 22 Impulse für Ihren Erfolg

Fazit Es besteht großes Interesse an MDSD, Werkzeugunterstützung wird zunehmend besser Zusammenspiel der heterogenen Technologien erhöht Komplexität und Risiko MDSD hat nur bei gut definierten Prozessen Erfolgsaussicht 14.05.2009 Isento - Neue Impulse für Ihren Erfolg 23

Diskussion Ist CASE doch nicht gestorben? Ist MDSD die Neugeburt der CASE und CASE-Werkzeuge? Wie ist der Reifegrad von MDSD? Gibt es typische Projekte für MDSD? Hat MDSD Zukunft? Oder ist es der nächste Hype? Ist der klassische Programmierer, der den Programmcode schreibt, vom Aussterben bedroht? 14.05.2009 Dr. Shota Okujava MDSD in der Praxis Isento - Neue 24 Impulse für Ihren Erfolg

MDSD in der Praxis Dr. Shota Okujava shota.okujava@isento.de www.isento.de