Model Driven Architecture Praxisbeispiel



Ähnliche Dokumente
Model Driven Development im Überblick

Model Driven Architecture (MDA)

Vortrag von: Ilias Agorakis & Robert Roginer

Model Driven Architecture

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

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

Model Driven Architecture

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Model Driven Architecture

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

SEA. Modellgetriebene Softwareentwicklung in der BA

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

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

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

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

MDA-Praktikum, Einführung

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

Generatives Programmieren

Systemdenken und Gestaltungsmethodik System-Modellierung

Grundlagen Software Engineering

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

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

Comparing Software Factories and Software Product Lines

INNOVATOR im Entwicklungsprozess

Referenzarchitekturen und MDA 1

Michael Piechotta - CASE Tools. openarchitecture Ware

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine


MDSD Einführung und Überblick

Modellgetriebene Softwareentwicklung

Einführung in Generatives Programmieren. Bastian Molkenthin

A Domain Specific Language for Project Execution Models

Software-Architektur. Spektrum k_/takademischht VERLAG

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

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

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Modellgetriebene Service-Entwicklung

Generative Prozessmodelle Patrick Otto MDD Konferenz

Jochen Bauer

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

Etablierung serviceorientierter Architekturen mit Web Services

Referent: Alessandro Arrigo AAM1. Professor: Prof. Dr. Heindl. Furtwangen,

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

Software Engineering

Software Engineering: Aktuelle Herausforderungen und Chancen

E-Business Architekturen

MDSD in der Praxis. Dr. Shota Okujava.

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

MDA auf der Grundlage der OMG Konzepte

POIS-Praktikum Prozessimplementierung, RosettaNet PIPs 3A

Model Driven Architecture

UML-DSLs effizient eingesetzt. Insight 07, Klaus Weber

Vom dem was Autos und Software GEMEINSAM haben. Diskussionsbeitrag zur Software-Industralisierung. Guido Brune

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

FACHHOCHSCHULE MANNHEIM

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Eclipse Modeling Framework

Wiederverwendung von automotive Software- Reifegradmodell, Technologie, Praxisbericht

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

IBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung

Abschnitt 16: Objektorientiertes Design

Model Driven Development einige wichtige Grundprinzipien

Es war einmal... "StudyING: Welten bewegen - Welten gestalten"

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

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

Anforderungsgetriebene Webentwicklung mit Grails:

Grundlagen von MOF. Alexander Gepting 1

Design mit CASE-Tools

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

Inhaltsverzeichnis. xiii

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001

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

Model-Driven Development in Scrum-Projekten

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

Der Rational Unified Process

Modellgetriebene Softwareentwicklung

17 Architekturentwurf Vorgehen und Dokumentation

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Festpreisprojekte in Time und in Budget

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

XML in der betrieblichen Praxis

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

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)

XGenerator. Modellierung, Schemagenerierung und Dokumentation im XMeld-Projekt. Bremen, 7. Mai Ullrich Bartels

BPM im Kontext von Unternehmensarchitekturen. Konstantin Gress

Toolgestützte Prozessdokumentation. Prozessorientiertes E-Government, Joel Meir,

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

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner

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

Software-Engineering im Sommersemester 2014

Software Engineering II

Übungsaufgaben zum Software Engineering: Management

Ziele und Entwicklungskonzept des Projekts Virtueller Satellit. Dr. Olaf Maibaum

Requirements Engineering I

Herausforderung: Entwicklungsmethodik und technisches Umfeld

Software Engineering

Model Driven Software Development

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

Transkript:

1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel

2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch Vergleich zwischen Plattformen schwierig, da keine gemeinsame Sprache existiert Verschiedene Technologien (Java, PHP,...) Wiederverwendung von Komponenten diverser Technologien schwierig Geringe technologieübergreifende Zusammenarbeit

3 Mögliche Lösung? Webservice (k)eine Lösung? Webservice ermöglicht die Interoperabilität zwischen Plattformen Installation aller Plattformen in einer Institution? Wartung aufwändig Wissen und Erfahrung in allen Technologien vorhanden?

4 Model Driven Architecture (MDA) Ebenfalls bekannt als Model Driven Development (MDD) Versuch, alle Wiederverwendungsansätze zu verknüpfen Referenzmodell Produktlinien-Softwaretechnik Architekturen und Muster Komponentenbasierte Softwaretechnik Trennung zwischen PIM (Platform Independent Model), PSM (Platform Specific Model) und Implementation Platform Bereits bekannt als: Fachkonzept, DV- und Implementierungskonzept (ARIS) Basiert auf Systems-Generierungsmethoden Bereits bekannt als: Compiler, Codegeneratoren Bereits bekannt als: CASE-Werkzeug (Computer Aided Software Engineering)

5 MDA vs. ARIS ARIS-Konzept (Architektur integrierter Informationssysteme) Fachkonzept: Anwendungsdomäne mit UML modelliert DV-Konzept: Objektorientierte Programmiersprache, Relationale Datenbank, Verteiltes System Implementierungskonzept: Java, J2EE, Oracle-DB MDA: Transformationen automatisch!

6 MDA vs. ARIS

7 MDA vs. CASE vs. MetaCASE

8 Komponenten des MDA-Konzeptes (1) Modelle, Metamodelle, Plattformen Sprachen und Metasprachen Transformationsdefinitionen, Transformationsregeln und Transformationen Standards: XMI (XML Metadata Interchange) als Enabler-Technologie und Austauschformat MOF (Meta Object Facility) als Metamodellierungssprache UML (Unified Modeling Language) als Modellierungssprache QVT (Query/Views/Transformations) als Transformationssprache

9 Komponenten des MDA-Konzeptes (2) J2EE,.NET XMI-Datei QVT MOF- Metasprache UML- Metamodell UML-Sprache UML-Modell

10 Vier-Ebenen-Architektur Anwendungssystem- Modellierung

11 Transformationen: First-Class Citizens!

12 MDA-Typen Typ 1: Elaborationist Schrittweise Verfeinerung (PIM PSM Code) Verwendung von 3GL-Programmiersprache für die Implementierung 50% bis 80% des Codes werden generiert Beispiel: OptimalJ, io-software's ArcStyler, IBM Rational Software Architect, AndroMDA Typ 2: Translationist Verwendung ausschließlich von UML (PIM Code) Executable UML == euml == xuml UML minus alle semantisch schwachen Modellierungselemente der UML plus Action Semantics 100% des Codes werden generiert Beispiel: Kennedy Carter, Bridgepoint

13 Vorteile von MDA Eine einzige Quelldatei (XMI) für alle Artefakte (Dokumentationen, Programme und Beschreibungen) Produktivität und Qualität Höheres Abstraktionsniveau Jeder Entwickler arbeitet unter den gleichen Rahmenbedingung Interoperabilität, Integration und Portabilität Verschiedene Plattformen (.NET, J2EE) integrierbar und austauschbar Flexibilität Generiere, was generiert werden muss! Wartung und Dokumentation Schnelleinstieg Dokumentation und Quellcode bleiben synchron Offenheit und Standard OMG-Spezifikationen: XMI, MOF, UML, QVT Open-Source-Implementierungen: NetBeans MDR, Eclipse EMF, AndroMDA, INRIA Modelware,...

14 Probleme von MDA Template-basierte bzw. Meta-Programmierung für die Transformationsregeln (Modell-zum-Code-Transformation) ist öfter aufwändig Herausforderung für Architekten Eine bereits stabile und erprobte Architektur wird benötigt Längere Investition notwendig Entwicklung von DSL (domänenspezifische Sprache) lohn sich erst, wenn Systemfamilien bzw. Produktlinien tatsächlich zu erstellen sind Standardisierung im Prozess: XMI!= XMI MOF UML 2 QVT (Query/Views/Transformations)

15 Lösung mit MDA (1) Definition von allgemeinen PIM für alle Plattformen Common PIM (PIM für CampusSource) Verfeinerung des CampusSource-PIM zu einzelnen PIM-Plattform, wie beispielsweise PIM für OpenUSS, PIM für ILIAS, PIM für... Verfeinerung der einzelnen PIM-Plattform zum PSM Verfeinerung des PSM zur Implementierung

16 Lösung mit MDA (2) Gemeinsame Aktivitäten Wie bisher...

17 Demo DEMO

18 Fazit Vergleich zwischen Plattformen möglich, dank gemeinsamer Sprache UML Bessere und stets aktuelle Projektdokumentation! Wiederverwendung von Modellen möglich Technologieübergreifende Zusammenarbeit möglich Keine große Veränderung im Entwicklungsprozess notwendig Modell == Quellcode Forward-Engineering: Modellieren, Kompilieren, Implementieren, Kompilieren, Ausführen, Testen

19 Literatur EJOSA-Artikel Teil I: http://www.jaxmag.com/itr/online_artikel/psecom,id,653, nodeid,147.html EJOSA-Artikel Teil II: http://www.jaxmagazine.com/itr/online_artikel/psecom,i d,671,nodeid,147.html MDA Artikel in eleed Journal http://eleed.campussource.de/archiv/81