entwurf dom nenspezifischer modelle im web mit oryx
play

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 |


  1. Entwurf domänenspezifischer Modelle im Web mit Oryx Matthias Kunze Mathias Weske (Koautor) 1.10.2009 | Methodische Entwicklung von Modellierungswerkzeugen

  2. 2 ✔ x ✔ ✔ ✔ ✔ ✔ x 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  3. DSML Domänenspezifische Modellierung 3 • verlagert den Systementwurf in den Problemraum • abhängig vom Verständnis des Begriffs Domäne 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>, ... Hier : Methodische Entwicklung von Werkzeugen, die von dieser Unterscheidung abstrahieren können, z.B. Oryx 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  4. Agenda 4 Domain Domain ¡ Software Specific ¡Model Domain ¡Expert Software ¡Expert 1. Oryx Modellierungsplattform ¡ Anforderungen, Umsetzung DSML DSML ¡Architect 2. DSML mit Oryx Notation, Syntax, Semantik 3. Demo 4. Ausblick 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  5. Oryx Web-basierte Modellierungsplattform 5 • 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 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  6. Oryx – Modelleditor 6 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  7. Oryx – Modelleditor graphisches Modellierungswerkzeug 7 • 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

  8. Oryx – Modellrepository 8 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  9. Oryx – Modellrepository zentrale Speicherung und Verwaltung 9 von Modellen für Forschungszwecke • Sharing • Rating • Tagging große, existierende Modellsammlung (>3000) für empirische Forschung • Statistiken • Suche von Modellen 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  10. Architektur und Erweiterbarkeit 10 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  11. Modellierungssprache [JS06, TR03, tHP97 ] = Notation 11 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 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  12. Stencil Set Metamodel der domänenspezifischen 12 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

  13. Stencil Set 13 + + komplett zum Modellieren in der gegebenen Sprache • Container für Modellelemente (Shape Repository/Shape Menü) • syntaktische Modellierungshilfe • Konfiguration von Modellelementen (Property Editor) 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  14. Notation – Stencil Set (BPMN) 14 { "type": "node", "id": "Task", "title": "Task", "groups": ["Activities"], graphische Repräsentation "description": "An atomic activity.", "icon": " node_task.png ", "view": "activity/node.task.svg" , "properties": [ ... <? xml version="1.0" encoding="UTF-8" standalone="no"?> < svg ... width="102" height="82" version="1.0"> < oryx:magnets > ], ... </ oryx:magnets > "roles": [ < 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 > } 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  15. Syntax – Stencil Set (BPMN) 15 "rules": { "connectionRules": [ { "role":"SequenceFlow", "connects": [ { { "from":" sequence_start ", "to":" sequence_end " "type": "node", }, "id": " Task ", ... ] ..., }, "roles": [ "cardinalityRules": ..., "containmentRules": ... " sequence_start ", } � " sequence_end ", ... Tasks werden (u.A.) ] durch SequenceFlow } verbunden 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  16. Syntax – Stencil Set (BPMN) 16 "rules": { "connectionRules": [ { "role":"SequenceFlow", "connects": [ { { "from":" sequence_start ", "to":" sequence_end " "type": "node", }, "id":" StartEvent ", ... ] ... }, "roles" [ "cardinalityRules": ..., "containmentRules": ... "sequence_start", } "to_task_event", "from_task_event", StartEvent hat kein sequence_end, d.h. "Startevents_all", keine eingehenden ], Sequenzflusskanten ... } 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  17. Plugins funktionelle Erweiterung des Editors 17 • 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

  18. 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({ Plugin 'name': ORYX.I18N.StepThroughPlugin.stepThrough, 'functionality': this.load.bind(this), registrieren ... }); }, showPlayOnShape : function(shape){ ... }, showOverlayOnShape : function(shape, attributes, node){ ... }, hideOverlayOnShape : function(shape){ Events auf ... Modellelemente }, ... registrieren }); 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  19. Demo 19 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  20. Effizientes Modellieren: Shape Menü 20 „ Morphen “ von Shapetypen kontextabhängiger Vorschlag von Folgeshapes 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  21. Syntax Enforcement im Stencil Set 21 korrekte Verbindung von Tasks mit Sequence Flow; Magnete werden angezeigt End Event darf keine ausgehenden Kanten haben 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  22. 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. 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  23. Semantik: Step Through 23 zurück 1.10.2009 | Matthias Kunze, Mathias Weske | Methodische Entwicklung von Modellierungswerkzeugen

  24. Ausblick Forschung mit Modellsammlungen – Repository 24 Disp • Analyse von Modellstrukturen R • Wiederverwendung von Modellen beim Modellieren Oryx ¡Backend R • Unterstützung für Modellinstanzen, insb. Prozesse Model Database 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

Recommend


More recommend