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



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

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Use Cases. Use Cases

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

Was meinen die Leute eigentlich mit: Grexit?

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

WhiteStarUML Tutorial

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Präsentation: Google-Kalender. Walli Ruedi Knupp Urdorf

Professionelle Seminare im Bereich MS-Office

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

Einführung und Motivation

Vortrag von: Ilias Agorakis & Robert Roginer

:: Anleitung Hosting Server 1cloud.ch ::

UML-DSLs effizient eingesetzt. Insight 07, Klaus Weber

Support-Tipp Mai Release Management in Altium Designer

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Das System für Ihr Mitarbeitergespräche

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Fragebogen zur Anforderungsanalyse

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

GRS SIGNUM Product-Lifecycle-Management

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

1. Weniger Steuern zahlen

Internet Explorer Version 6

Fragenkatalog Geschäftsmodellierung Grundlagen

Requirements Engineering für IT Systeme

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

Nicht über uns ohne uns

Welches Übersetzungsbüro passt zu mir?

Wie kann man Kreativität und Innovation fördern? Psychologische Ansätze zum Ideenmanagement

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

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

Anleitung über den Umgang mit Schildern

Ein Vorwort, das Sie lesen müssen!

Die Industrie- und Handelskammer arbeitet dafür, dass Menschen überall mit machen können

Was ich als Bürgermeister für Lübbecke tun möchte

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

DSLs mit Xtext entwerfen , A. Arnold

Was ist Sozial-Raum-Orientierung?

Anleitung OpenCms 8 Webformular Auswertung

Informatik-Sommercamp Mastermind mit dem Android SDK

Idimager ein Bildverwaltungsprogramm-DAM Software

gallestro BPM - weit mehr als malen...

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

BSV Ludwigsburg Erstellung einer neuen Internetseite

Wir machen neue Politik für Baden-Württemberg

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

SDD System Design Document

Regeln für das Qualitäts-Siegel

Beschreibung des MAP-Tools

Spock und Geb: Übersichtlich und nachvollziehbar Testen für alle!

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

Die Invaliden-Versicherung ändert sich

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Online bezahlen mit e-rechnung

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

DSL Entwicklung und Modellierung

Häufig gestellte Fragen zur Initiative Sportverein 2020

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

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

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

SMART Newsletter Education Solutions April 2015

Leichte Sprache Informationen zum Europäischen Sozialfonds (ESF) Was ist der Europäische Sozialfonds?

Inhalt. meliarts. 1. Allgemeine Informationen Administration Aufruf Das Kontextmenü Vorlagen...

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Blumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Zeichen bei Zahlen entschlüsseln

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Portfolio: "Die Ratten" von Gerhart Hauptmann

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

Java Enterprise Architekturen Willkommen in der Realität

Anleitung Typo3-Extension - Raumbuchungssystem

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Bedienungsanleitung für den Online-Shop

Catherina Lange, Heimbeiräte und Werkstatträte-Tagung, November

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Analyse und Toolevaluierung

Online Newsletter III

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Print2CAD 2017, 8th Generation. Netzwerkversionen

Leichte-Sprache-Bilder

Meine Workflow Engine spricht BPMN ein Erfahrungsbericht

Fragen Arthur Zaczek. Apr 2015

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Applikations-Performance in Citrix Umgebungen

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

Transkript:

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

Warum unterschiedliche Sprachen? Nicht alle Probleme eignen sich, um mit Standardsprachen beschrieben zu werden Gründe können sein: zu umfassend nicht konkret genug nicht sprechen genug ineffizient in der Modellierung zu aufwändig bei der Integration von Generatoren -> Die Lösung!?: DSL (Domain Specific Language) 2

Grafische vs. Textuelle Modellierung Grafische Modellierung Darstellung netzartiger Zusammenhänge (Flüsse, Strukturen) sinnvolle Darstellung von abstrakten Sichten Textuelle Modellierung Sie aus wie Freitext, ist aber Modell! Klare Strukturen Einfache Sprache (wenige Regeln) Einfache Editierbarkeit 3

Eigene DSL was muss man tun? DSL ist in eclipse ein separates Plugin Definition der (fachlichen) Struktur Generierung des Tree-Editors über EMF Generierung des eclipse Plugin Projekts Deployment des Plugins über eine Updatesite -> prinzipiell Verwendbar über den generierten Tree-Editor Nachteil: relativ umständlich in der Handhabung 4

DSL Editoren Grafischer Editor Kann über GMF ebenfalls aus DSL heraus generiert werden Generierung des eclipse Plugin Projekts Deployment des Plugins über eine Updatesite Ł Muss noch um Features zum Handling erweitert werden Textuelle DSL (am Beispiel xtext) Definition einer eigenen Grammatik Generieren des ecore Modells über xtext Generator Deployment des Plugins über eine Updatesite -> Sehr effizient in der Anwendung, kann aber u. U. sehr unübersichtlich sein 5

Welche Sprache für welchen Zweck? Beispiele für unterschiedliche Sprachen: UML: sehr allgemeine und umfangreiche Modellierungssprache (in unterschiedlichen Ausprägungen!) BPMN: Modellierungssprache für Prozesse / Abläufe SysML: Systembeschreibungssprache basiert auf UML Von der OMG gibt es diverse weitere Entwürfe für Domänenspezifische Sprachen DSLs von exxcellent solutions: orchideo gui-prototype DSL orchideo object DSL orchideo aspect DSL orchideo documents Templatesprache 6

Wann eigene DSLs? Es wird ein modellgetriebener Ansatz im Projekt verfolgt Ausdruckmöglichkeiten bestehender Sprachen entsprechen nicht dem Modellierungsproblem weil diese: zu viele Freiheitsgrade (= Fehler) zulässt es für ein Problem mehrere Modellierungswege gibt zu umständlich zu modellieren ist zu wenig exakt ist nicht verständlich genug ist (sich nicht an der Problem-Domäne orientiert) 7

Beispiel: Dokumentendefinition Verwendung der Dokumentdefinition für eine Generator (nicht Teil der Präsentation) Es gibt unterschiedliche Dokumenttypen, die in unterschiedlichen Versionen vorliegen Dokumente bestehen aus Bausteinen Es gibt Zuständigkeiten pro Dokumenttyp und optional pro Baustein Die Versionshierarchie muss erkennbar sein Die Dokumenttypen soll grafisch modelliert Struktur und Inhalt der Dokumenttypen soll dokumentiert werden können 8

DSL-Definition 9

Wie sieht so was grafisch aus -> Beispiel 1 live in der orchideo suite 10

Und am konkreten Beispiel 11

Textuelle Repräsentation 1 definition for "http://www.exxcellent.de/orchideo/ Dokuments/1.0/DocManager.ecore" new Dokument "Vertrag R2" new Baustein "0 Titel" new Baustein "1 Zweck" new Baustein "2 Übersicht" new Baustein "9 Salvatorische Klausel" end Dokument new Dokument "Vertrag R1" new Baustein "1 Zweck" new Baustein "2 Übersicht" new Baustein "9 Salvatorische Klausel" end Dokument 12

Textuelle Repräsentation 2 new Rolle "Karla Mustermann" end Rolle new Rolle "Klein-Rita Mustermann" end Rolle new Dokument "Vertrag R2" Zuständigkeit "Karla Mustermann" new Baustein "0 Titel" new Baustein "1 Zweck" new Baustein "2 Übersicht" new Baustein "9 Salvatorische Klausel" end Dokument new Dokument "Vertrag R1" FolgeDokument "Vertrag R2" Zuständigkeit "Karla Mustermann" new Baustein "1 Zweck" new Baustein "2 Übersicht" new Baustein "9 Salvatorische Klausel" end Dokument 13

Textuelle Repräsentation 3 new Rolle "Karla Mustermann" end Rolle new Rolle "Klein-Rita Mustermann" end Rolle new Dokument "Vertrag R2" Zuständigkeit "Karla Mustermann" new Baustein "3 Rahmenbedingungen" new Baustein "1 Zweck" new Baustein "2 Übersicht" new Baustein "3 Rahmenbedingungen" new Baustein "9 Salvatorische Klausel" end Dokument new Dokument "Vertrag R1" Titel: Dies ist ein Titel zum aktuellen Vertrag FolgeDokument "Vertrag R2" Zuständigkeit "Karla Mustermann" new Baustein "1 Zweck" Titel: Dies ist ein Titel zum aktuellen Baustein Text: Dies ist ein längerer Text Titel zum aktuellen Baustein. new Baustein "2 Übersicht" Titel: Dies ist ein Titel zum aktuellen Baustein Text: Dies ist ein längerer Text Titel zum aktuellen Baustein. D Titel: Dies ist ein Titel zum aktuellen Baustein Zuständigkeit "Karla Mustermann" new Baustein "9 Salvatorische Klausel" Titel: Dies ist ein Titel zum aktuellen Baustein Text: Dies ist ein längerer Text Titel zum aktuellen Baustein. Dies ist ein längerer Text Titel zum aktuellen Baustein. Dies ist ein längerer Text Titel zum aktuellen Baustein. Dies ist ein längerer Text Titel zum aktuellen Baustein. Dies ist ein längerer Text Titel zum aktuellen Baustein. Dies ist ein längerer Text Titel zum aktuellen Baustein. Titel: Dies ist ein Titel zum aktuellen Baustein Zuständigkeit "Karla Mustermann" end Dokument 14

Rahmenbedingungen zum Einsatz von DSLs Werden spezielle DSLs im Projekt eingesetzt, sollten folgende Rahmenbedingungen eingehalten werden können: Verwendung unterschiedlicher DSL innerhalb einer Umgebung Erweitern von fremden DSLs Verknüpfen Modellinhalten aus unterschiedlichen DSL Generieren von Dokumenten 15

Anforderung 1 Verwendung unterschiedlicher DSL innerhalb einer Umgebung Warum ist das wichtig? DSL dienen zur Beschreiben eines konkreten Problemtyps Viele andere Problemtypen können mit bestehenden Standard-DSLs (z.b. UML, BPMN, ) bereits ausreichend gut abgebildet werden Man will die Welt nicht neu erfinden -> Die neue DSLs müssen sich strukturell mit bestehenden DSLs im Modellierungstool mischen und referenzieren lassen -> Beispiel: UseCases und UI-Diagramme 16

Anforderung 2 Erweitern von fremden DSLs Warum ist das wichtig? Erweitern bestehender DSL um Projektspezifische Informationen (z.b.: Description -Feld bei UML2Tools UseCases, ) Erweitern von (technischen) DSL um Fachliche Aspekte (z.b.: mitführen einer UseCase ID, Tracker ID, Freigabeinformationen, ) Erweitern von DSL um organisatorische Aspekte (z.b.: Referenzen auf weitere Inhalte) -> Beispiel: UML2 Use Cases 17

Anforderung 3 Verknüpfen Modellinhalten aus unterschiedlichen DSL Warum ist das wichtig? Systembeschreibungen sind sehr oft hierarchisch aufgebaut Sprachelemente verfeinern sich oft in weiteren Sprachelementen (z.b. UseCase Activity Sequence, UseCase UI Diagramm) Sprachelemente referenzieren oft bestehende Definitionen (z.b.: Aktor Klasse, UseCase Service-Interface, Dokument Klasse oder Klassendiagramm, ) -> Beispiel: Use Case Overview 18

Anforderung 4 Generieren von Dokumenten aus gemischten Modelle für die Dokumentation / Kommunikation Warum ist das wichtig? Es gibt sehr oft Beteiligte (Kunde?), die keinen Zugriff auf das Modellierungswerkzeug haben Erzeugung von Snapshots, falls das Modellierungswerkzeug keine echte Versionierung beherrscht Reduktion der Komplexität durch spezialisierte Dokumente (ausblenden der für den Leser unwichtigen / nicht relevanten Informationen) Reuse von Modellinformationen für generierte Dokumente zur Vollständigen Dokumentation von Einzelteilen -> Beispiel: Dokument Use Cases 19

Wenn das dann alles funktioniert Was sind die Vorteile bei Einsatz von spezialisierten DSLs? Allgemein: Erhöhung der Effizienz Wiederverwertbare Fachdefinitionen (auswertbar, generierbar, ) Exakte Beschreibung der Fachlichkeit Grafische Modellierung: Guter Überblick Gute Abstraktion Textuelle Modellierung: sehr effizienter Editor 20

Wenn das dann alles funktioniert Was können die Nachteile sein? Zu hoher initialer Aufwand durch die Entwicklung der DSL und der zugehörigen Plugins Verlust der Allgemeingültigkeit der verwendeten Sprache (Kommunikation nach außen!) Zu hohe Aufwände bei der Wartung Vorgehen (noch) stark abhängig von der eingesetzten Toollandschaft 21

Unsere Erfahrungen Vorgehen ist dann sehr hilfreich, wenn die Modelle zur (Code-/Config) Generierung verwendet werden Die Einarbeitungsaufwände, um grafische Editoren handhabbar zu machen, können sehr groß werden Einsatz von eigenen DSL für uns nur dann sinnvoll, wenn das Problem überhaupt abstrahiert werden kann Die Modelle (mehrfach) wiederverwendet werden können (z.b. Code und Doku) die Modellinformationen extern kommuniziert werden können (via Tool oder Doku) 22

Bleibt nur noch ein Danke! und herzlich willkommen an unserem Stand http://www.exxcellent.de/ 23