Modellgetriebene Softwareentwicklung. 31. Januar 2013



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

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

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

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

Variabilität in Produktlinien und das orthogonale Variabilitätsmodell

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Wärmebildkamera. Arbeitszeit: 15 Minuten

SWOT Analyse zur Unterstützung des Projektmonitorings

AutoCAD Dienstprogramm zur Lizenzübertragung

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Der Kopf ist rund, damit das Denken die Richtung

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Einzelkurs-Auswertung Microsoft Office Excel 2010 Aufbauseminar

Was ist das Tekla Warehouse

Fragebogen: Rätoromanisch

1 Mathematische Grundlagen

SEQUENZDIAGRAMM. Christoph Süsens

Import und Export von Übergängern

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Die Pareto Verteilung wird benutzt, um Einkommensverteilungen zu modellieren. Die Verteilungsfunktion ist

Das Stationsportal der DB Station&Service AG - Das Rollenkonzept. DB Station&Service AG Vertrieb Stationsportal Berlin, Juli 2015

2 Open BIM Workflow ARCHICAD und DDS-CAD

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Virtuell geht nicht schnell

Bewertung des Blattes

Statuten in leichter Sprache

Der Gabelstapler: Wie? Was? Wer? Wo?

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Software- und Druckerzuweisung Selbstlernmaterialien

Professionelle Seminare im Bereich MS-Office

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Erfahrungen mit Hartz IV- Empfängern

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

Serienbrief mit Works 7.0

Aufgabensammlung Bruchrechnen

Motivationale Aspekte des gemeinsamen Lernens aus Sicht der Medizin- und Pflegestudierenden

KI im Weltall: Der Remote Agent

Festigkeit von FDM-3D-Druckteilen

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Entwicklung und Stärkung der persönlichen Kompetenzen!

Übernahme von Daten aus einem bestehenden Outlook-Profil bzw. einem anderen Exchange Server

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen

Benutzerhandbuch - Elterliche Kontrolle

Word 2010 Schnellbausteine

ISL Schulungs-Angebot Stärker werden und etwas verändern!

Der monatliche Tarif für ein Handy wurde als lineare Funktion der Form f(x) = k x + d modelliert (siehe Grafik).

Professionelle Seminare im Bereich MS-Office

Symbolbearbeitung mit EPLAN 5.60/5.70 DIC_***D.SYM

Multimedia und Datenkommunikation

ONLINEERHEBUNG IM STATISTISCHEN BUNDESAMT

Fragen zu Mehrfamilienhäusern

15 Social-Media-Richtlinien für Unternehmen!

Konzepte der Informatik

Daten sammeln, darstellen, auswerten

Schnittstelle zum Kalkulationssystem VI2000 der Firma Softwareparadies

Dokumentenverwaltung im Internet

ECAD-MCAD Integration: Einfügen eines 3D- Gehäusemodells

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

Typo3: Nachrichten verfassen

HALLO UND WILLKOMMEN!

Die Umfrage in ILIAS

Risikomanagement bei PPP Projekten: Erfahrungen aus Deutschland

Neue Funktionen in Innovator 11 R5

Neuheiten PROfirst KALKULATION Version 8. SQL ist sehr schnell. Neuheiten PROfirst KALKULATION Version 8 1/7

Anleitung über den Umgang mit Schildern

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

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

1. TEIL (3 5 Fragen) Freizeit, Unterhaltung 2,5 Min.

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

-Virtuelle Jagdfliegerschule- Teamspeak Seite 1 von 6

Datenexport aus JS - Software

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

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Stand: Adressnummern ändern Modulbeschreibung

INNOVATOR im Entwicklungsprozess

Checkliste. zur Gesprächsvorbereitung Mitarbeitergespräch. Aktivität / Frage Handlungsbedarf erledigt

So wird s gemacht - Nr. 24

Webalizer HOWTO. Stand:

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Fragebogen zur Anwendung der Mittelstandklausel in Vergabeverfahren

Elektrische Logigsystem mit Rückführung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Übungsaufgaben Tilgungsrechnung

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

1. Frage: Sind Sie für einen besseren Schutz der Menschen- und Grundrechte in der Stadt und Landkreis Bad Kreuznach?

Erstellen und Bearbeiten von Inhalten (Assets)

Transkript:

Modellgetriebene Softwareentwicklung in verteilten Teams 31. Januar 2013

Überblick Wie kann ein einfacher Prozess zur modellgetriebene Entwicklung in verteilten Teams aussehen? Auf welche Weisen kann man Modelle verteilen? Wie kann man an verteilten Modellen arbeiten? Was ist bei der Codegenerierung zu beachten? Taentzer Modellgetriebene Softwareentwicklung 398

Große Modelle Wie werden große Systeme modellgetrieben entwickelt? Große Systeme sollten in Komponenten aufgeteilt werden. Komponenten haben Schnittstellen. Komponenten sollten von verschiedenen Entwicklern bearbeitbar sein. Entwicklung kann verteilt stattfinden. Sichten- versus komponentenorientierte Teilung des Systems: sichtenorientiert: entlang Systemaspekten, z.b. Datenmanagement, Geschäftslogik, Oberfläche komponentenorientiert: entlang der Anwendungsfälle, z.b. Vorlesungsverzeichnis, Raumplanung, Personalverwaltung Taentzer Modellgetriebene Softwareentwicklung 399

Verteiltes Modellieren Verteiltes Modellieren: Repository-basierte Ansätze: Alle Modellelemente sind für alle sichtbar. echt verteilte Modelle: Modellintegration findet durch Proxy- Elemente statt. Andere Modelle haben nur Referenzen auf Schnittstellen. Nicht alle Modellelemente müssen sichtbar sein. Codegenerierung: Komponenten werden in einem großen Modell beschrieben. Codegenerierung aus einem großen Modell Generierung von verteilten Komponenten aus verteilten Modellen Taentzer Modellgetriebene Softwareentwicklung 400

Verteilung von Modellen Modellkomponenten mit impliziten Schnittstellen (z.b. EMF-Modelle) Body: Modellkomponenten mit gem. Schnittstellen Body: ; Interface: Modellkomponenten mit expliziten Schnittstellen Body: ; Export: ; Import: Inklusion: Partielle Relation: Taentzer Modellgetriebene Softwareentwicklung 401

Zwei Modellierungsebenen Komponentenebene Objektebene Taentzer Modellgetriebene Softwareentwicklung 402

Beispiel: Sichtenorientierte Verteilung eines Modells Metamodell einer DSL für einfache Web-Anwendungen Ein Anwendungsmodell für einen Poetry Slam Taentzer Modellgetriebene Softwareentwicklung 403

Beispiel: Verteilung eines Metamodells Aufteilung in Metamodelle für Daten- und Hypertextmodellierung Taentzer Modellgetriebene Softwareentwicklung 404

Beispiel: Verteilung eines Anwendungsmodells Aufteilung eines Anwendungsmodells für Poetry Slams in ein Datenmodell und ein Hypertextmodell Taentzer Modellgetriebene Softwareentwicklung 405

Beispiel: Zusammengesetzte Modellkomponenten Department Project Komponententypen Taentzer Modellgetriebene Softwareentwicklung 406

Zusammengesetzte Modellkomponenten Komponenten auf Typ- und Instanzebene Auf Typebene: Elementtypen mit verschiedenen Namen dürfen aufeinander abgebildet werden. Import-Export-Beziehungen innerhalb eines Komponententyps sind erlaubt. Bzgl. Vererbung sind simplere Strukturen in den Schnittstellen (im Vergleich zu ihren Rümpfen) erlaubt. In EMF-Modellen sind Container in den Schnittstellen optional. Auf Instanzebene: Import-Export-Beziehungen innerhalb einer Komponenteninstanz sind nicht erlaubt. In Beziehung stehende importierte und exportierte Elemente dürfen unterschiedliche Typen haben. Taentzer Modellgetriebene Softwareentwicklung 407

Beispiel: Zusammengesetzte Modellkomponenten Instanzebene Taentzer Modellgetriebene Softwareentwicklung 408

Ein einfacher Prozess für verteiltes Modellieren Taentzer Modellgetriebene Softwareentwicklung 409

Verteiltes Editieren von Modellen Synchrones und asynchrones Editieren verschiedener Modellkomponenten ist erlaubt. Verteiltes Editieren als regelbasierte Inplace- Modelltransformation. Konsistenz: Verteiltes Editieren kann zu Inkonsistenzen führen. Beispiele: Löschen eines benutzten Elements aus einem Export, Hinzufügen eines Elements in einem Import ohne Referenz auf ein exportiertes Element Inkonsistenzmanagement: Strikte Vermeidung von Inkonsistenzen Zeitweises Zulassen von Inkonsistenzen Taentzer Modellgetriebene Softwareentwicklung 410

Beispiel: Synchrones Editieren Hinzufügen einer neuen Entität und ihrer Darstellung Taentzer Modellgetriebene Softwareentwicklung 411

Beispiel: Editierregeln Synchrone Editierregel: Hinzufügen einer neuen Entität mit Darstellung Asynchrone Editierregel: Löschen einer Entität Taentzer Modellgetriebene Softwareentwicklung 412

Beispiel: Mischen von Modellen Taentzer Modellgetriebene Softwareentwicklung 413

Beispiel: Ein Szenario für verteiltes Modellieren Taentzer Modellgetriebene Softwareentwicklung 414

Beispielszenario 1. Samatha verteilt ein globales Modell in zwei Modelle 1. Frank modelliert die Domäne. 2. Mike modelliert die Hypertextstruktur. 2. Frank und Mike editieren unabhängig voneinander. 3. Frank führt einen kritischen Schritt aus. (D2 -> D3) 1. Frank bekommt eine Warnung und sollte mit Mike kommunizieren. 2. Mike kann auf die Inkonsistenz reagieren. 3. Wenn keiner von beiden reagiert, bleibt die Inkonsistenz bestehen. 4. Mike editiert sein Modell, sodass die Inkonsistenz aufgehoben wird. 5. Samantha mischt beide Modelle, um eine globale Codegenerierung durchzuführen. Taentzer Modellgetriebene Softwareentwicklung 415

Zusammenfassung Große Modelle werden handhabbarer, wenn man sie in Teilmodelle zerlegt. Implizite versus explizite Schnittstellen Hauptaktivitäten verteilter Modellierungsprozesse: Verteilen, synchrones und asynchrones Editieren und Mischen von Modellen Verteiltes Modellieren kann zu Inkonsistenzen führen. Zeitweise Inkonsistenzen versus strikte Konsistenz von Modellkomponenten Literatur: D.Strüber, G. Taentzer, S. Jurack, T. Schäfer: Towards a Distributed Modeling Process Based on Composite Models, in FASE 2013, LNCS 7793, Springer, 2013 Taentzer Modellgetriebene Softwareentwicklung 416