Entwurf domnenspezifischer Modelle im Web mit Oryx Matthias Kunze - - PowerPoint PPT Presentation

entwurf dom nenspezifischer modelle im web mit oryx
SMART_READER_LITE
LIVE PREVIEW

Entwurf domnenspezifischer Modelle im Web mit Oryx Matthias Kunze - - PowerPoint PPT Presentation

Entwurf domnenspezifischer Modelle im Web mit Oryx Matthias Kunze Mathias Weske (Koautor) 1.10.2009 | Methodische Entwicklung von Modellierungswerkzeugen 2 x x 1.10.2009 | Matthias Kunze, Mathias Weske |


slide-1
SLIDE 1

1.10.2009 | Methodische Entwicklung von Modellierungswerkzeugen

Matthias Kunze Mathias Weske (Koautor)

Entwurf domänenspezifischer Modelle im Web mit Oryx

slide-2
SLIDE 2

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

2

✔ ✔ ✔ ✔ ✔ x ✔ x

slide-3
SLIDE 3

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

DSML

Domänenspezifische Modellierung

  • verlagert den Systementwurf in den Problemraum
  • abhängig vom Verständnis des Begriffs Domäne

Hier: Methodische Entwicklung von Werkzeugen, die von dieser Unterscheidung abstrahieren können, z.B. Oryx

3

Software Architektur UML Class, FMC Block Diagram Unternehmen Organigramm, Wertschöpfungskette Prozesslogik EPC, BPMN Versicherungsunternehmen <Kundenkonto anlegen>, <Bonität prüfen>, ... Fallbearbeitung <Attest begutachten>, <Zeugen befragen>, ...

slide-4
SLIDE 4

2. DSML mit Oryx Notation, Syntax, Semantik 1. Oryx Modellierungsplattform Anforderungen, Umsetzung

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Agenda

4

3. Demo

  • 4. Ausblick

Domain ¡Expert Software ¡Expert Domain ¡ Domain Specific ¡Model Software DSML DSML ¡Architect

¡

slide-5
SLIDE 5

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Web-basierte Modellierungsplattform

  • Daten und Anwendung im Web
  • keine Installation/Deployment
  • jedes Modell hat eine URL (Bookmarks)

Forschungsplattform als Open Source Projekt

  • aktive Entwicklergemeinschaft
  • frei nutz- und verfügbar
  • einfach erweiterbar um neue

Funktionen und Sprachen

5

Oryx

slide-6
SLIDE 6

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Oryx – Modelleditor

6

slide-7
SLIDE 7

graphisches Modellierungswerkzeug

  • browserbasiert (JavaScript + SVG)
  • intuitiv bedienbar

einfache Erweiterung und schnelle Umsetzung neuer Modellierungssprachen

  • viele Editorfunktionen unabhängig von der Modellierungssprache
  • kanonisches Datenformat: JSON/RDF
  • Plugin-Konzept für wiederverwendbare und

spezifische Funktionalität

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Oryx – Modelleditor

7

slide-8
SLIDE 8

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Oryx – Modellrepository

8

slide-9
SLIDE 9

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Oryx – Modellrepository

zentrale Speicherung und Verwaltung von Modellen für Forschungszwecke

  • Sharing
  • Rating
  • Tagging

große, existierende Modellsammlung (>3000) für empirische Forschung

  • Statistiken
  • Suche von Modellen

9

slide-10
SLIDE 10

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Architektur und Erweiterbarkeit

10

slide-11
SLIDE 11

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Modellierungssprache

[JS06, TR03, tHP97]

= Notation

Konzepte aus der Domäne, deren Eigenschaften und Repräsentation

+ Syntax

Korrektheit von Modellen, d.h. Regeln bezüglich der richtigen Komposition der Konzepte

+ Semantik

Bedeutung der Modelle, d.h. Regeln um korrekte Modelle richtig zu interpretieren

11

slide-12
SLIDE 12

Metamodel der domänenspezifischen Modelle Notation

  • Elemente, Attribute (JSON)
  • Repräsentation (SVG, PNG)

Syntax

  • Verknüpfungsregeln
  • Kardinalitätsregeln
  • Enthaltenseinregeln

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Stencil Set

12

slide-13
SLIDE 13

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Stencil Set

komplett zum Modellieren in der gegebenen Sprache

  • Container für Modellelemente (Shape Repository/Shape Menü)
  • syntaktische Modellierungshilfe
  • Konfiguration von Modellelementen (Property Editor)

13

+ +

slide-14
SLIDE 14

{ "type": "node", "id": "Task", "title": "Task", "groups": ["Activities"], "description": "An atomic activity.", "icon": "node_task.png", "view": "activity/node.task.svg", "properties": [ ... ], "roles": [ ... ] }

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Notation – Stencil Set (BPMN)

14

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg ... width="102" height="82" version="1.0"> <oryx:magnets> ... </oryx:magnets> <g pointer-events="fill" oryx:minimumSize="50 40" oryx:maximumSize="200 160" > <rect id="taskrect" oryx:resize="vertical horizontal" x="0" y="0" width="100" height="80" rx="10" ry="10" stroke="black" stroke-width="1" fill="white" /> ... </g> </svg>

graphische Repräsentation

slide-15
SLIDE 15

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Syntax – Stencil Set (BPMN)

15 "rules": { "connectionRules": [ { "role":"SequenceFlow", "connects": [ { "from":"sequence_start", "to":"sequence_end" }, ... ] }, "cardinalityRules": ..., "containmentRules": ... }

Tasks werden (u.A.) durch SequenceFlow verbunden

{ "type": "node", "id": "Task", ..., "roles": [ "sequence_start",

  • "sequence_end",

... ] }

slide-16
SLIDE 16

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Syntax – Stencil Set (BPMN)

16 "rules": { "connectionRules": [ { "role":"SequenceFlow", "connects": [ { "from":"sequence_start", "to":"sequence_end" }, ... ] }, "cardinalityRules": ..., "containmentRules": ... }

StartEvent hat kein sequence_end, d.h. keine eingehenden Sequenzflusskanten

{ "type": "node", "id":"StartEvent", ... "roles" [ "sequence_start", "to_task_event", "from_task_event", "Startevents_all", ], ... }

slide-17
SLIDE 17

funktionelle Erweiterung des Editors

  • sprachunabhängige Funktionalität,
  • sprachspezifische Erweiterungen
  • Anbindung externer

Systeme Semantik – Abbildung eines Modells auf Bedeutung

  • Transformationen, z.B. sprachspezifische Serialisierung
  • Generatoren
  • Ausführungsengines

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Plugins

17

slide-18
SLIDE 18

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Ausführungssemantik: Step Through

18

ORYX.Plugins.StepThroughPlugin = ORYX.Plugins.AbstractPlugin.extend({ construct: function() { // Call super class constructor arguments.callee.$.construct.apply(this, arguments); this.facade.offer({ 'name': ORYX.I18N.StepThroughPlugin.stepThrough, 'functionality': this.load.bind(this), ... }); }, showPlayOnShape: function(shape){ ... }, showOverlayOnShape: function(shape, attributes, node){ ... }, hideOverlayOnShape: function(shape){ ... }, ... });

Plugin registrieren Events auf Modellelemente registrieren

slide-19
SLIDE 19

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Demo

19

slide-20
SLIDE 20

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Effizientes Modellieren: Shape Menü

20

kontextabhängiger Vorschlag von Folgeshapes „Morphen“ von Shapetypen

slide-21
SLIDE 21

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Syntax Enforcement im Stencil Set

21

End Event darf keine ausgehenden Kanten haben korrekte Verbindung von Tasks mit Sequence Flow; Magnete werden angezeigt

slide-22
SLIDE 22

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

BPMN Syntax Check als Plugin

22

BPMN erlaubt MessageFlows nur zwischen Aktivitäten, die in unterschiedlichen Pools liegen. Das Model ohne Pools wird als in einem Pool liegend betrachtet.

slide-23
SLIDE 23

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Semantik: Step Through

23

zurück

slide-24
SLIDE 24

Disp

R R

Oryx ¡Backend Model Database

Forschung mit Modellsammlungen – Repository

  • Analyse von Modellstrukturen
  • Wiederverwendung von Modellen beim Modellieren
  • Unterstützung für Modellinstanzen, insb. Prozesse

Modellierungsmethodologie

  • Wie werden Modelle erfasst und verstanden?

Kooperation und Interaktion

  • Signavio-Oryx Academic Initiative
  • BPMN Community
  • Entwicklung von Web-APIs und Mashup-Komponenten für Oryx

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Ausblick

24

slide-25
SLIDE 25

Forschung und Lehre „as a Service“

  • Modellierung in verschiedenen Sprachen
  • Übungsaufgaben unter Creative Commons
  • inhaltliche Pflege durch 6 Partneruniversitäten
  • technische Betreuung durch Unternehmen

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

25

Signavio-Oryx Academic Initiative

http://www.signavio.com/academic

slide-26
SLIDE 26

soziales Netzwerk für kooperative Prozessmodellierung

  • Tutorials
  • Best Practices
  • Referenzprozesse
  • Diskussionsforum

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

26

http://bpmn-community.org/

slide-27
SLIDE 27

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Zusammenfassung

Oryx – Modellierungsplattform

  • modellieren
  • verwalten
  • keine Installation

Domänenspezifische Modellierungssprachen

  • Stencil Sets: Notation + Syntax
  • Plugins: Semantik

Verzicht auf MOF-konformes Metamodel

27

slide-28
SLIDE 28

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Fragen? Antworten!

Matthias Kunze Business Process Technology Group matthias.kunze@hpi.uni-potsdam.de

28

http://oryx-project.org

externe Partner/Beitragende

slide-29
SLIDE 29

1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

Referenzen

[JS06] Ethan K. Jackson und Janos Sztipanovits. Towards a formal foundation for domain specific modeling languages. In EMSOFT ʼ06: Proceedings of the 6th ACM & IEEE International conference on Embedded software, Seiten 53–62, New York, NY, USA, 2006. ACM. [TR03] Juha-Pekka Tolvanen und Matti Rossi. MetaEdit+: defining and using domain- specific modeling languages and code generators. In OOPSLA ʼ03: Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, Seiten 92–93, New York, NY, USA, 2003. ACM. [tHP97]

  • A. H.M. ter Hofstede und H.A. Proper. How to Formalize It? Formalization Princip- les for Information System Development Methods. Bericht,

University of Queens- land, Australia, 1997. komplette Referenzliste, siehe Paper: „Entwurf domänenspezifischer Modelle im Web mit Oryx“

29