VITRUVIUS Architektur, Modelle und Code

Ähnliche Dokumente
Model Driven Development im Überblick

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

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

Michael Piechotta - CASE Tools. openarchitecture Ware

Vorlesung Automotive Software Engineering Prüfung Sommersemester 2015

Erweiterbare Architekturen

Modellgetriebene Softwareentwicklung. 31. Januar 2013

WIRTSCHAFTSINFORMATIK

Lehrplan: Architektur und Design. paluno

Model Driven Architecture (MDA)

Keynote Der offene Ansatz: Open Source basiertes ALM ganz praktisch

Dynamic View Connectors

Prof. Dr. Gabriele Taentzer, Dr. Thorsten Arendt

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

En:Tool EnEff BIM Introduction to the Project and Research Association

Eclipse Neue Trends in der Eclipse-Technologie (Seminar WS 2013/14)

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

Model Driven Architecture Praxisbeispiel

Software Engineering II

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

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) Jakob Külzer jakob.kuelzer@gmail.

Entwicklung von effizienten UI-basierten Akzeptanztests für Webanwendungen

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Model Driven Architecture

Modellgetriebene Softwareentwicklung

TDD with Contracts. XP Days Germany 2013 Dr. Lars Alvincz, Hagen Buchwald. c4j.vksi.de

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

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

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

Herausforderung: Entwicklungsmethodik und technisches Umfeld

CARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten

FH LU JEE Vorlesung SS Ralf Gitzel

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg

Vorlesung Automotive Software Engineering Prüfung Wintersemester 2014/15 TU Darmstadt, FB 18 und FB 20

DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS

Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme

Vortrag von: Ilias Agorakis & Robert Roginer

Zukunftsdisziplin Modellbasiertes Systems Engineering

Praktikum/Teamprojekt WS07/08

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

M2M-Transformation mitder QVTRelations Language

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)


EAM Community. Rolf Weber Uwe Schröder Workshop MDM und EAM. Rolf Weber, Senior Process Architect Laufenburg, 1.

Entwicklungswerkzeuge

EMF-GMF-Tutorial: Petrinet

Projektseminar Modellbasierte Softwareentwicklung SoSe2014

3... SAP NetWeaver Developer Studio: Schritt für Schritt zur Beispielanwendung

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Eclipse und Java Einheit 01: Einführung in Eclipse

ESE Conference 2011, Zürich. Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps. Rüdiger Schilling Delta Software Technology GmbH

Design Patterns MVC. Marcus Köhler Markus Merath Axel Reusch. Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1

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

Frontend Migration from JSP to Eclipse Scout

25. Meta-CASE-Werkzeuge

Henshin: Modelltransformationen in EMF. Dr. Thorsten Arendt Marburg, 29. Oktober 2015

Software Engineering und Projektmanagement

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Innovator Anbindung an openarchitectureware. Connect. Klaus Weber.

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Vorwort. Tag des Systems Engineering. The Value of Systems Engineering - Der Weg zu den technischen Systemen von morgen

Konsequent agile Entwicklung mit funk4onaler Programmierung. Michael Sperber

Techniken der Projektentwicklung

Model Driven Development einige wichtige Grundprinzipien

Modellgetriebene Softwareentwicklung für Robotiksysteme

ABSICHERUNG MODELLBASIERTER SICHERHEITSKRITISCHER AVIONIK SOFTWARE Dr. Elke Salecker

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Projektseminar Softwaresysteme

domänenspezifischenprogrammiersprachen

MDA auf der Grundlage der OMG Konzepte

Eclipse Neue Trends in der Eclipse-Technologie (Seminar WS 2012/13) Gabriele Taentzer, Thorsten Arendt

Architecture Blueprints

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

Webbasierte Exploration von großen 3D-Stadtmodellen mit dem 3DCityDB Webclient

Prof. Dr. Gabriele Taentzer, Dr. Thorsten Arendt

Softwareproduktlinien - Versionsverwaltungs- und Buildsysteme

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine

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

Programmieren in natürlicher Sprache: Automatische Code-Generierung

Kiwi. Modellkonsistenz. Themenbereich Modellmanagement und Qualität

Web Services Monitoring

Content Management mit JSR-170 und dem Open Source CMS Magnolia

Best Practices für flexible und wartbare Codegeneratoren mit openarchitectureware Karsten Thoms Software Architekt

Service-Orientierte Architekturen

Anforderungsgetriebene Webentwicklung mit Grails:

Tooldemo: Soot. Softwareanalyse SS 2011 Veranstalter: Prof. Dr. Klaus Ostermann Tillmann Rendel, M.Sc. Von Kim Maurice Nuspl

Modellbasierte Softwareentwicklung

Isabel Arnold CICS Technical Sales Germany z/os Explorer IBM Corporation

Inheritance Strategien mit dem Entity Framework

Javakurs 2013 Objektorientierung

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme

Eine Einführung. Vortragende(r) FU Institut Berlin für Informatik Ingo Mohr

Modellgetriebene Softwareentwicklung

Usability-Test für mobile Java-Anwendungen

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

Application Frameworks

Transkript:

VITRUVIUS Architektur, Modelle und Code GI-Jahrestagung Architekturen 2015 Erik Burger 9. Juli 2015 CHAIR FOR SOFTWARE DESIGN AND QUALITY KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Vorstellung Dr.-Ing. Erik Burger Studium an der Universität Karlsruhe/KIT (2002-2008) Promotion am KIT (Prof. Ralf Reussner) (2009-2014) Postdoc am Lehrstuhl für Software-Entwurf und -Qualität (SDQ) Forschungsinteressen Modellgetriebene Software-Entwicklung Sichtbasierte Entwicklung Metamodell-Evolution Motivation Erik Burger VITRUVIUS Vitruvius Ausblick 9. Juli 2015 2/20

Motivation Vielzahl von Sprachen und Standards in der Software- und Systementwicklung Erik Burger VITRUVIUS 9. Juli 2015 3/20

Motivation Vielzahl von Sprachen und Standards in der Software- und Systementwicklung unterschiedliche Rollen in der Entwicklung Erik Burger VITRUVIUS 9. Juli 2015 3/20

Motivation Vielzahl von Sprachen und Standards in der Software- und Systementwicklung unterschiedliche Rollen in der Entwicklung verschiedene Sichten auf das System Erik Burger VITRUVIUS 9. Juli 2015 3/20

Szenario: Software-Entwicklung /*@ requires amount >= 0; requires src.balance amount; ensures src.balance == \old(src.balance) - amount; @*/ public void withdraw(int amount, Account src); JML-Vertrag «schränkt ein» public class ATM { public void withdraw(int amount, Account src) {... Java-Quelltext «beschreibt» ATM AccountManager «provides» «interface» IWithdraw void withdraw(int amount, Account account) Architektur-Modell Erik Burger VITRUVIUS 9. Juli 2015 4/20

Szenario: Automotive Erik Burger VITRUVIUS 9. Juli 2015 5/20

Szenario: Automotive ASCET Erik Burger VITRUVIUS 9. Juli 2015 5/20

Szenario: Automotive ASCET Erik Burger VITRUVIUS 9. Juli 2015 5/20

Szenario: Automotive MLSYS ASCET Erik Burger VITRUVIUS 9. Juli 2015 5/20

Szenario: Automotive MLSYS ASCET Erik Burger VITRUVIUS 9. Juli 2015 5/20

Szenario: Automotive MLSYS ASCET /* ASCET Component "Democar" */ #include "democar.h" void simpleproduct(const real32_t a[5], const real32_t b[10], real32_t c[2]) { int32_t i0; int32_t i1; for (i0 = 0; i0 < 2; i0++) { c[i0] = 0.0F; for (i1 = 0; i1 < 5; i1++) { c[i0] += a[i1] * b[i1 + 5 * i0]; } } } Erik Burger VITRUVIUS 9. Juli 2015 5/20

Szenario: Automotive MLSYS ASCET /* ASCET Component "Democar" */ #include "democar.h" void simpleproduct(const real32_t a[5], const real32_t b[10], real32_t c[2]) { int32_t i0; int32_t i1; for (i0 = 0; i0 < 2; i0++) { c[i0] = 0.0F; for (i1 = 0; i1 < 5; i1++) { c[i0] += a[i1] * b[i1 + 5 * i0]; } } } Erik Burger VITRUVIUS 9. Juli 2015 5/20

Szenario: Energie Erik Burger VITRUVIUS 9. Juli 2015 6/20

Szenario: Energie IEC 61970 (CIM) Erik Burger VITRUVIUS 9. Juli 2015 6/20

Szenario: Energie IEC 60870 IEC 61970 (CIM) Erik Burger VITRUVIUS 9. Juli 2015 6/20

Szenario: Energie IEC 60870 IEC 61970 (CIM) IEC 61850 Erik Burger VITRUVIUS 9. Juli 2015 6/20

Szenario: Energie IEC 60870 IEC 61970 (CIM) IEC 61850 IEC 61968 Erik Burger VITRUVIUS 9. Juli 2015 6/20

Szenario: Energie Fernsteuerung IEC 60870 IEC 61970 (CIM) Energie- Management IEC 61850 Kommunikation IEC 61968 Verteilnetzwerke Erik Burger VITRUVIUS 9. Juli 2015 6/20

Szenario: Energie Fernsteuerung IEC 60870 IEC 61970 (CIM) Energie- Management IEC 61850 Kommunikation IEC 61968 Verteilnetzwerke Erik Burger VITRUVIUS 9. Juli 2015 6/20

Probleme Erik Burger VITRUVIUS 9. Juli 2015 7/20

Probleme Fragmentierung Informationen sind über heterogene Modelle verteilt Beziehungen zwischen Modellen sind nicht explizit modelliert Erik Burger VITRUVIUS 9. Juli 2015 7/20

Probleme Fragmentierung Informationen sind über heterogene Modelle verteilt Beziehungen zwischen Modellen sind nicht explizit modelliert Redundanz Informationen werden mehrfach modelliert Erik Burger VITRUVIUS 9. Juli 2015 7/20

Probleme Fragmentierung Informationen sind über heterogene Modelle verteilt Beziehungen zwischen Modellen sind nicht explizit modelliert Redundanz Informationen werden mehrfach modelliert Inkonsistenzen Folge aus Redundanz und Fragmentierung Verletzung von Konsistenzbedingungen Erik Burger VITRUVIUS 9. Juli 2015 7/20

Probleme Fragmentierung Informationen sind über heterogene Modelle verteilt Beziehungen zwischen Modellen sind nicht explizit modelliert Redundanz Informationen werden mehrfach modelliert Inkonsistenzen Folge aus Redundanz und Fragmentierung Verletzung von Konsistenzbedingungen Komplexität Modell kann nicht von einzelnem Entwickler verstanden werden Navigation durch die Modelle schwierig Erik Burger VITRUVIUS 9. Juli 2015 7/20

Vitruvius Erik Burger VITRUVIUS 9. Juli 2015 8/20

Vitruvius View-cenTRic engineering Using a VIrtual Underlying Single model Erik Burger VITRUVIUS 9. Juli 2015 8/20

Vitruvius View-cenTRic engineering Using a VIrtual Underlying Single model modellbasierter und sichtzentrischer Ansatz Marcus Vitruvius Pollio (80 70 v. Chr. 15 v. Chr.) Erik Burger VITRUVIUS 9. Juli 2015 8/20

Vitruvius View-cenTRic engineering Using a VIrtual Underlying Single model modellbasierter und sichtzentrischer Ansatz Integration von Metamodellen und Standards unter Wahrung von Kompatibilität zu bestehenden Instanzen Marcus Vitruvius Pollio (80 70 v. Chr. 15 v. Chr.) Erik Burger VITRUVIUS 9. Juli 2015 8/20

Vitruvius View-cenTRic engineering Using a VIrtual Underlying Single model modellbasierter und sichtzentrischer Ansatz Integration von Metamodellen und Standards unter Wahrung von Kompatibilität zu bestehenden Instanzen Synchronisation von Teilmodellen durch deklarative Definitionen Marcus Vitruvius Pollio (80 70 v. Chr. 15 v. Chr.) Erik Burger VITRUVIUS 9. Juli 2015 8/20

Vitruvius View-cenTRic engineering Using a VIrtual Underlying Single model modellbasierter und sichtzentrischer Ansatz Integration von Metamodellen und Standards unter Wahrung von Kompatibilität zu bestehenden Instanzen Synchronisation von Teilmodellen durch deklarative Definitionen Definition von Sichten über mehrere Teilmodelle Marcus Vitruvius Pollio (80 70 v. Chr. 15 v. Chr.) Erik Burger VITRUVIUS 9. Juli 2015 8/20

Modellbasierter Ansatz Definition der beteiligten Sprachen und Standards als Metamodelle Erik Burger VITRUVIUS 9. Juli 2015 9/20

Modellbasierter Ansatz Definition der beteiligten Sprachen und Standards als Metamodelle oft bereits vorhanden Erik Burger VITRUVIUS 9. Juli 2015 9/20

Modellbasierter Ansatz Definition der beteiligten Sprachen und Standards als Metamodelle oft bereits vorhanden für textuelle Sprachen: Modellbasierte Grammatik-Definition (Xtext/EMFText, z.b. JaMoPP) Erik Burger VITRUVIUS 9. Juli 2015 9/20

Modellbasierter Ansatz Definition der beteiligten Sprachen und Standards als Metamodelle oft bereits vorhanden für textuelle Sprachen: Modellbasierte Grammatik-Definition (Xtext/EMFText, z.b. JaMoPP) Benutzung der Werkzeugkette für modellgetriebene Entwicklung (Repositories, Transformationssprachen,... ) Erik Burger VITRUVIUS 9. Juli 2015 9/20

Modellbasierter Ansatz Definition der beteiligten Sprachen und Standards als Metamodelle oft bereits vorhanden für textuelle Sprachen: Modellbasierte Grammatik-Definition (Xtext/EMFText, z.b. JaMoPP) Benutzung der Werkzeugkette für modellgetriebene Entwicklung (Repositories, Transformationssprachen,... ) Eclipse Modeling Framework Erik Burger VITRUVIUS 9. Juli 2015 9/20

Single Underlying Model (SUM) Erik Burger VITRUVIUS 9. Juli 2015 10/20

Single Underlying Model (SUM) Sicht 2 Sicht 1 Sicht 3 Sicht 7 Sicht 4 Sicht 5 Sicht 6 Erik Burger VITRUVIUS 9. Juli 2015 10/20

Single Underlying Model (SUM) Sicht 2 Sicht 1 Sicht 2 Sicht 1 Sicht 3 Sicht 3 Sicht 7 Modell Sicht 7 Sicht 4 Sicht 4 Sicht 5 Sicht 6 Sicht 5 Sicht 6 Erik Burger VITRUVIUS 9. Juli 2015 10/20

Single Underlying Model (SUM) Sicht 2 Sicht 1 Sicht 2 Sicht 1 Sicht 3 Sicht 3 Sicht 7 Modell Sicht 7 Sicht 4 Sicht 4 Sicht 5 Sicht 6 Sicht 5 Sicht 6 Idee: Alle Informationen in einem zentralen Modell repräsentieren Erik Burger VITRUVIUS 9. Juli 2015 10/20

Single Underlying Model (SUM) Sicht 2 Sicht 1 Sicht 2 Sicht 1 Sicht 3 Sicht 3 Sicht 7 Modell Sicht 7 Sicht 4 Sicht 4 Sicht 5 Sicht 6 Sicht 5 Sicht 6 Idee: Alle Informationen in einem zentralen Modell repräsentieren Probleme: Erik Burger VITRUVIUS 9. Juli 2015 10/20

Single Underlying Model (SUM) Sicht 2 Sicht 1 Sicht 2 Sicht 1 Sicht 3 Sicht 3 Sicht 7 Modell Sicht 7 Sicht 4 Sicht 4 Sicht 5 Sicht 6 Sicht 5 Sicht 6 Idee: Alle Informationen in einem zentralen Modell repräsentieren Probleme: Ausdrucksmächtigkeit des Modells Erik Burger VITRUVIUS 9. Juli 2015 10/20

Single Underlying Model (SUM) Sicht 2 Sicht 1 Sicht 2 Sicht 1 Sicht 3 Sicht 3 Sicht 7 Modell Sicht 7 Sicht 4 Sicht 4 Sicht 5 Sicht 6 Sicht 5 Sicht 6 Idee: Alle Informationen in einem zentralen Modell repräsentieren Probleme: Ausdrucksmächtigkeit des Modells Abdeckung aller relevanten Domänen Erik Burger VITRUVIUS 9. Juli 2015 10/20

Single Underlying Model (SUM) Sicht 2 Sicht 1 Sicht 2 Sicht 1 Sicht 3 Sicht 3 Sicht 7 Modell Sicht 7 Sicht 4 Sicht 4 Sicht 5 Sicht 6 Sicht 5 Sicht 6 Idee: Alle Informationen in einem zentralen Modell repräsentieren Probleme: Ausdrucksmächtigkeit des Modells Abdeckung aller relevanten Domänen Evolution von Teil-Modellen Erik Burger VITRUVIUS 9. Juli 2015 10/20

Single Underlying Model (SUM) Sicht 2 Sicht 1 Sicht 2 Sicht 1 Sicht 3 Sicht 3 Sicht 7 Modell Sicht 7 Sicht 4 Sicht 4 Sicht 5 Sicht 6 Sicht 5 Sicht 6 Idee: Alle Informationen in einem zentralen Modell repräsentieren Probleme: Ausdrucksmächtigkeit des Modells Abdeckung aller relevanten Domänen Evolution von Teil-Modellen Kompatibilität zu bestehenden Modellen Erik Burger VITRUVIUS 9. Juli 2015 10/20

Single Underlying Model (SUM) Sicht 2 Sicht 1 Sicht 2 Sicht 1 Sicht 3 Sicht 3 Sicht 7 Modell Sicht 7 Sicht 4 Sicht 4 Sicht 5 Sicht 6 Sicht 5 Sicht 6 Idee: Alle Informationen in einem zentralen Modell repräsentieren Probleme: Ausdrucksmächtigkeit des Modells Abdeckung aller relevanten Domänen Evolution von Teil-Modellen Kompatibilität zu bestehenden Modellen Ansatz: Virtuelles Single Underlying Model (SUM) Erik Burger VITRUVIUS 9. Juli 2015 10/20

Sichtzentrischer Ansatz Amalthea ASCET SysML C MIR Instanz eines Sichttyps Sicht-Transformation Mapping/Invariant/Response Erik Burger VITRUVIUS 9. Juli 2015 11/20

Sichtzentrischer Ansatz Amalthea ASCET SysML C SUM-Metamodell MIR Instanz eines Sichttyps Sicht-Transformation Mapping/Invariant/Response Erik Burger VITRUVIUS 9. Juli 2015 11/20

Sichtzentrischer Ansatz VT 3 Amalthea VT 4 ASCET SysML C SUM-Metamodell VT 6 VT 1 MIR Instanz eines Sichttyps Sicht-Transformation Mapping/Invariant/Response Erik Burger VITRUVIUS 9. Juli 2015 11/20

Sichtzentrischer Ansatz VT 3 Amalthea-Sicht Amalthea VT 4 ASCET SysML VT 1 Blockdiagramm-Sicht C SUM-Metamodell VT 6 :C 1 :C 2 Sequenzdiagramm MIR Instanz eines Sichttyps Sicht-Transformation Mapping/Invariant/Response Erik Burger VITRUVIUS 9. Juli 2015 11/20

Sichtzentrischer Ansatz VT 3 VT 2 Amalthea-Sicht Amalthea VT 4 ASCET SysML VT 1 Blockdiagramm-Sicht VT 5 C VT 6 SUM-Metamodell :C 1 :C 2 Sequenzdiagramm MIR Instanz eines Sichttyps Sicht-Transformation Mapping/Invariant/Response Erik Burger VITRUVIUS 9. Juli 2015 11/20

Sichtzentrischer Ansatz Amalthea-Sicht VT 3 Amalthea VT 2 comp comp11 comp1 comp1 Parallelisierungs-Sicht VT 4 ASCET SysML VT 1 Blockdiagramm-Sicht VT 5 C SUM-Metamodell VT 6 :C 1 :C 2 /* ASCET Component "Democar" */ #include "democar.h" void simpleproduct(const real32_t a[5], const real32_t b[10], real32_t c[2]) { int32_t i0; annotierte C-Quelltext-Sicht MIR Sequenzdiagramm Instanz eines Sichttyps Sicht-Transformation Mapping/Invariant/Response Erik Burger VITRUVIUS 9. Juli 2015 11/20

Sichtzentrischer Ansatz VT 3 VT 2 Amalthea Amalthea-Sicht VT 4 ASCET SysML VT 1 Blockdiagramm-Sicht VT 5 C VT 6 SUM-Metamodell MIR MIR comp comp11 comp1 comp1 Parallelisierungs-Sicht :C 1 :C 2 /* ASCET Component "Democar" */ #include "democar.h" void simpleproduct(const real32_t a[5], const real32_t b[10], real32_t c[2]) { int32_t i0; annotierte C-Quelltext-Sicht MIR Sequenzdiagramm Instanz eines Sichttyps Sicht-Transformation Mapping/Invariant/Response Erik Burger VITRUVIUS 9. Juli 2015 11/20

Vorteile Explizite Definition der Abhängigkeiten und Abbildungen zwischen den Teilmodellen Erik Burger VITRUVIUS 9. Juli 2015 12/20

Vorteile Explizite Definition der Abhängigkeiten und Abbildungen zwischen den Teilmodellen Definition von Sichten, die Informationen aus mehreren Teilmodellen enthalten Erik Burger VITRUVIUS 9. Juli 2015 12/20

Vorteile Explizite Definition der Abhängigkeiten und Abbildungen zwischen den Teilmodellen Definition von Sichten, die Informationen aus mehreren Teilmodellen enthalten maßgeschneiderte Kombination von Modellen durch die zusätzlicher Entwicklerrolle Methodiker Erik Burger VITRUVIUS 9. Juli 2015 12/20

Entwicklungsprozess Methodiker Entwickler Erik Burger VITRUVIUS 9. Juli 2015 13/20

Entwicklungsprozess SUM-Metamodell erstellen Methodiker Entwickler Erik Burger VITRUVIUS 9. Juli 2015 13/20

Entwicklungsprozess SUM-Metamodell erstellen «include» Sichttyp definieren Methodiker Entwickler Erik Burger VITRUVIUS 9. Juli 2015 13/20

Entwicklungsprozess SUM-Metamodell erstellen «include» Sichttyp definieren SUM-Metamodell modifizieren Methodiker Entwickler Erik Burger VITRUVIUS 9. Juli 2015 13/20

Entwicklungsprozess SUM-Metamodell erstellen «include» Sichttyp definieren SUM-Metamodell modifizieren Methodiker SUM instanziieren Entwickler Erik Burger VITRUVIUS 9. Juli 2015 13/20

Entwicklungsprozess SUM-Metamodell erstellen «include» Sichttyp definieren SUM-Metamodell modifizieren Methodiker SUM instanziieren «include» Sicht instanziieren Entwickler Erik Burger VITRUVIUS 9. Juli 2015 13/20

Entwicklungsprozess SUM-Metamodell erstellen «include» Sichttyp definieren SUM-Metamodell modifizieren Methodiker SUM instanziieren «include» Sicht instanziieren Entwickler Erik Burger VITRUVIUS 9. Juli 2015 13/20

Deklarative Mapping-Definition generates package mir.ascet2amalthea generates type ASCET2AMALTHEA import package "http://www.amalthea.itea2.org/model/1.1.0/sw" as sw import package "http://amalthea.itea2.org/model/1.1.0/components" as components Erik Burger VITRUVIUS 9. Juli 2015 14/20

Deklarative Mapping-Definition generates package mir.ascet2amalthea generates type ASCET2AMALTHEA import package "http://www.amalthea.itea2.org/model/1.1.0/sw" as sw import package "http://amalthea.itea2.org/model/1.1.0/components" as components map ascet.task as at and sw.task as st { with map at.(name) and st.(name) with map at.(priority) and st.(priority) with map at.(processes as pr) and st.(callgraph)...(graphentries[sw.callsequence]).(calls[sw. TaskRunnableCall]).(runnable as runn) { when-where {pr.(arguments).(size)=0 pr.(ret)=null} with map pr.(name) and runn.(name) } } Erik Burger VITRUVIUS 9. Juli 2015 14/20

Implementierung Vitruvius Workbench Open-Source-Entwicklung Basiert auf dem Eclipse Modelling Framework Erkennung von Editieroperationen in Modell- und Code-Editoren Erik Burger VITRUVIUS 9. Juli 2015 15/20

Implementierung Vitruvius Workbench Open-Source-Entwicklung Basiert auf dem Eclipse Modelling Framework Erkennung von Editieroperationen in Modell- und Code-Editoren Erik Burger VITRUVIUS 9. Juli 2015 15/20

Webseite https://sdqweb.ipd.kit.edu/wiki/vitruvius Erik Burger VITRUVIUS 9. Juli 2015 16/20

Herausforderungen Konsistenz zwischen Teilmodellen Propagation von Änderungsschritten (Zyklen) partielle Konsistenzdefinitionen Erik Burger VITRUVIUS 9. Juli 2015 17/20

Herausforderungen Konsistenz zwischen Teilmodellen Propagation von Änderungsschritten (Zyklen) partielle Konsistenzdefinitionen Sicht-Definition Editierbarkeit von Sichten (View-Update-Problem) Kopplung von Sichten- und Konsistenzdefinitionen Erik Burger VITRUVIUS 9. Juli 2015 17/20

Herausforderungen Konsistenz zwischen Teilmodellen Propagation von Änderungsschritten (Zyklen) partielle Konsistenzdefinitionen Sicht-Definition Editierbarkeit von Sichten (View-Update-Problem) Kopplung von Sichten- und Konsistenzdefinitionen Kopplung mit externen Werkzeugen Erfassung der Änderungsschritte nebenläufige Änderungen Erik Burger VITRUVIUS 9. Juli 2015 17/20

Annahmen und Einschränkungen Metamodellierbarkeit Alle Formalismen müssen durch Metamodell ausdrückbar sein auch für textuelle Sprachen möglich (EMFText, Xtext) [Langhammer 2013] Erik Burger VITRUVIUS 9. Juli 2015 18/20

Annahmen und Einschränkungen Metamodellierbarkeit Alle Formalismen müssen durch Metamodell ausdrückbar sein auch für textuelle Sprachen möglich (EMFText, Xtext) [Langhammer 2013] Geeignete Szenarien für den Vitruvius-Ansatz Verwendung mehrerer Formalismen mehr Sichttypen als Metamodelle Erik Burger VITRUVIUS 9. Juli 2015 18/20

Zusammenfassung Sichtzentrischer, modellgetriebener Ansatz Konsistenz zwischen Modellen und Code Eclipse-Prototyp Erik Burger VITRUVIUS 9. Juli 2015 19/20

Werbung 2.-4. März 2016, Karlsruher Institut für Technologie http://www.modellierung2016.org Erik Burger VITRUVIUS 9. Juli 2015 20/20

Literatur I Erik Burger. Flexible Views for View-Based Model-Driven Development. In: Proceedings of the 18th international doctoral symposium on Components and architecture. WCOP 13. Vancouver, British Columbia, Canada: ACM, 2013, S. 25 30. URL: http://doi.acm.org/10.1145/2465498.2465501. Erik Burger u. a. View-Based Model-Driven Software Development with ModelJoin. In: Software and Systems Modeling 14 (2014). Hrsg. von Robert France und Bernhard Rumpe, S. 1 24. Max E. Kramer u. a. Change-Driven Consistency for Component Code, Architectural Models, and Contracts. In: Proceedings of the 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering. CBSE 15. Montréal, QC, Canada: ACM, 2015, S. 21 26. URL: http://doi.acm.org/10.1145/2737166.2737177. Literatur Erik Burger VITRUVIUS 9. Juli 2015 21/20

Literatur II Michael Langhammer. Co-evolution of component-based architecture-model and object-oriented source code. In: Proceedings of the 18th international doctoral symposium on Components and architecture. ACM. 2013, S. 37 42. Literatur Erik Burger VITRUVIUS 9. Juli 2015 22/20

SVN Info Last change by burger Revision 8188 Last changed on 2015-07-08 13:40:45 +0200 (Wed, 08 Jul 2015) URL https://svnserver.informatik.kit.edu/ i43/svn/palladio/erik/workshops/2015/ Architekturen/eb-fg-arc2015.tex Literatur Erik Burger VITRUVIUS 9. Juli 2015 23/20