Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität Paderborn OMMMA 1 Abschlußbericht PG OMMMA Objektorientierte Modellierung von MultiMedia-Anwendungen OS Angewandte Informatik 30.06.1999.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Paderborn OMMMA 1 Abschlußbericht PG OMMMA Objektorientierte Modellierung von MultiMedia-Anwendungen OS Angewandte Informatik 30.06.1999."—  Präsentation transkript:

1 Universität Paderborn OMMMA 1 Abschlußbericht PG OMMMA Objektorientierte Modellierung von MultiMedia-Anwendungen OS Angewandte Informatik

2 2 Projektgruppe OMMMA Betreuer:Stefan Sauer Prof. Dr. Gregor Engels Teilnehmer:Joachim Bertram Carsten Kemper Mirko Klotz Stefan Nabbefeld

3 3 Inhalt zEinleitung yMotivation & Ziele yZwischenstand zOMMMA-L & OMMMA-Tool yDiagrammsprachen yIntegration yDemo OMMMA-Tool zBewertung & Perspektiven

4 4 Intro: Ziele & Kontext zDefinition einer objektorientierten Modellierungssprache für Multimedia zVerwendung von UML-Standard als Basis OMMMA-L zErstellung eines Modellierungswerkzeuges OMMMA-Tool

5 5 Objektorientierte Modellierung von MultiMedia-Anwendungen Motivation OMMMA

6 6 OMMMA: Charakteristika von Multimedia- Anwendungen Motivation OMMMA

7 7 OMMMA: Charakteristika von MM-Anwendungen interaktive Software Komposition von Medienobjekten Ê Anwendungsstruktur, Medienobjekte Ë Präsentation (GUI-Layout, Audio) Ì Benutzerinteraktion, Ereignisverarbeitung Í vordefiniertes (echt)zeitliches Ablaufverhalten Motivation OMMMA

8 8 OMMMA: Charakteristika von Multimedia- Anwendungen OMMMA: Modellierung von Multimedia- Anwendungen Motivation OMMMA

9 9 OMMMA: Modellierung von MM-Anwendungen unvollständiger MM-Entwicklungsprozeß integrierte Modellierung der MM-Aspekte Ê Zuordnung von Aspekten zu Diagrammtypen Ë Pragmatik: Verwendung & Kombination Motivation OMMMA

10 10 OMMMA: Charakteristika von Multimedia- Anwendungen OMMMA: Modellierung von Multimedia- Anwendungen OMMMA: Objektorientierte Modellierung Motivation OMMMA

11 11 OMMMA: OO-Modellierung Kopplung von Struktur - & Dynamik -Beschreibung durchgängiges Konzept Modularisierung, Vererbung, Wiederverwendung... Motivation OMMMA

12 12 OMMMA: Charakteristika von Multimedia- Anwendungen OMMMA: Modellierung von Multimedia- Anwendungen OMMMA: Objektorientierte Modellierung UML pure UML? Motivation OMMMA

13 13 UML - Unified Modeling Language : OMG-Standard allgemeine Modellierungssprache Erweiterbarkeit: Sprache (Profiles) & Modell pure UML? Adäquate Spezifikation von MM-Aspekten - Präsentation (-) vordefiniertes zeitliches Ablaufverhalten - Pragmatik Motivation OMMMA

14 14 OMMMA: Charakteristika von Multimedia- Anwendungen OMMMA: Modellierung von Multimedia- Anwendungen OMMMA: Objektorientierte Modellierung OMMMA-L Integrierte, konsistente MM-Modellierung UML pure UML? Motivation OMMMA

15 15 Entwicklungsstrategie für OMMMA OMMMA-L & OMMMA-Tool Werkzeuge Methoden (Vorgehensmodell) Sprachen Konzepte Pragmatik Semantik Syntax

16 16 OMMMA-L: Zwischenstand View Controller Model static ApplicationLogic Media Model Model dynamic Zustandsdiagramm Layout- diagramm Klassendiagramm Erweitertes Sequenzdiagramm M MM C MM V MM

17 17 Klassendiagramm zDas Klassendiagramm... yist auf Datenebene die Basis der zu modellierenden Anwendung ywird in in das Framework eingebettet ydefiniert, welche Objekttypen zu einer Anwendungseinheit (=Szene) gehören können zDas Framework... ybesteht aus der vorgegebenen Medientyphierarchie und dem zu modellierenden logischen Anwendungsmodell; beide Teile stehen zueinander in Beziehung yAnwendungsframework

18 18 Layoutdiagramm zneues, nicht in UML enthaltenes Diagramm zdient zur graphischen Notation von Positionen und Flächen der MM.- Objekte zenthält die statische Beschreibung der Benutzungsoberfläche der Multimedia-Anwendung zdabei ist nur die räumliche Anordnung der Objekt zueinander von Interesse, nicht deren wirkliche Gestalt zwesentliche Modellierungselemente des Layoutdiagramms sind : yBounding Box yLayoutsicht bzw. Layoutview

19 19 OMMMA-Sequenzdiagramm zerweitertes UML-Sequenzdiagramm zdient zur Modellierung des vorbestimmten zeitlichen Verhaltens einer Szene zDie Erweiterungen: yParametrisierung yAktivierungs- und Deaktivierungsverzögerung yAktivierungssegmente yAnimationsaktivierung yMedienfilter yZeitangaben auf der Zeitachse durch Intervalle

20 20 Zustandsdiagramm zIn übergeordneten Zuständen werden Beziehungen der Szenen zueinander modelliert zZustandsübergänge werden durch Benutzerinteraktionen oder zeitabhängige Ereignisse bedingt zDen einfachen Zuständen werden die entsprechenden Sequenzen zugeordnet Dem internen Ereignis do wird ein ausführbares Sequenzdiagramm zugeordnet.

21 21 Rose Extensibility zgenutzt werden yStereotypen yRose Automation xCOM-Schnittstelle xRose Application Object xRose Extensibility Type Library znicht genutzt werden yAdd-In Manager yRose Script Rose Extensibility Interface Rose Script Rose Automation Diagrams Rose Application Model Elements

22 22 OMMMA-L & OMMMA-Tool zDiagrammsprachen Syntax, Editor, interne Repräsenatation in Rose, Metamodell: yKlassendiagramm yPräsentationsdiagramm yerweitertes Sequenzdiagramm yZustandsdiagramm zIntegration OMMMA zDemo OMMMA-Tool

23 23 Klassendiagramm: Syntax zKlassendiagramm yModellierung der Zugehörigkeit von Szenenobjekten zu Szenen yEinbettung in Framework xLogical Patterns entfernt aus dem Framework zFramework yMedientyphierarchie... xumfaßt alle verfügbaren Medientypen xist bei Bedarf in Rose erweiterbar bzw. anpassbar xwird zur Laufzeit in das OMMMA-Tool eingelesen ylogisches Anwendungsmodell... xenthält alle Klassen, die in den einzelnen Szenen benutzt werden

24 24 Klassendiagramm: Syntax (Framework) TemporalMediaDiscreteMedia AudioVideoAnimationGraphicsImageText CompressedVideoRawVideo MPEGVideo... ApplicationEntity Media * 1 * 1 MMApplication ApplicationUnit 1..*

25 25 Klassendiagramm: Editor zBesondere Merkmale des Klassendiagramms: yhierarchische Baumstruktur yKonsistenz zu Sequenzdiagrammen notwendig Verzicht auf eine direkte Bearbeitung in UML-Notation, statt dessen spezialisierte (eingeschränkte) Eingabemöglichkeit in OMMMA-Tools

26 26 Klassendiagramm: Repräsentation in Rose

27 27 Klassendiagramm: Metamodell

28 28 Präsentationsdiagramm: Syntax (1) zHinzunahme der auditiven Komponente Layoutdiagramm jetzt Präsentationsdiagramm zModellierung der räumlichen Beziehungen der Medienobjekte, dazu yLayoutview: (Teil-)ansicht der MM-Anwendung yBounding Box: umschließende Rechteck der Medienobjekte zdie Audiokomponente der Präsentation yAudioChannels

29 29 Präsentationsdiagramm: Syntax (2) zLayoutviews: ykönnen zu einer Gesamtsicht (Layoutdiagramm) kombiniert werden ykönnen sich überlagern (layered) zBounding Boxes: yUnterscheidung interactive (z.B. Checkbox,Button), non- interactive ( allg. Bounding Box ) ykönnen sich überlagern (layered)

30 30 Präsentationsdiagramm: Editor (1) Treeview der Präsentation der Szene mit den Audio- Channels Layoutview Bounding Boxes der Layoutview

31 31 Präsentationsdiagramm: Editor (2) Layoutview sich überlagernde Bounding Boxes BBox3 liegt auf BBox2, diese wiederum auf BBox1

32 32 Präsentationsdiagramm: Editor (3) Eine Präsentation pro Szene enthält : die Layoutviews die AudioChannels die Layoutviews wiederum enthalten die BoundingBoxes

33 33 Präsentationsdiagramm: Repräsentation in Rose (1)

34 34 zStruktur entspricht der internen Struktur im Editor zeine Präsentation pro Szene, enthält Layoutviews und AudioChannels zLayoutviews wiederum enthalten BoundingBoxes zzwischen den Layoutviews existiert Assoziation layered, um Tiefenstaffelung auszudrücken zebenso besteht die Assoziation layered zwischen den Bounding Boxes Präsentationsdiagramm: Repräsentation in Rose (2)

35 35 Präsentationsdiagramm - Metamodell Anbindung an Activation, Typ der Bounding Box wird durch Association Class Visual Presentation spezifiziert Anbindung zur Szene

36 36 OMMMA-Sequenzdiagramm zerweitertes UML-Sequenzdiagramm zdient zur Modellierung des vorbestimmten zeitlichen Verhaltens einer Szene und zur Zuordnung von Zeit, Ort, Medium und Applikationsobjekt zDie Erweiterungen: yParametrisierung yMedienfilter y(De-)Aktivierungsverzögerung yAktivierungssegmente yAnimationsaktivierung yZeitangaben auf der Zeitachse durch Intervalle

37 37 Parametrisierung zDie Parametrisierung erfolgt über Variablen der MMAnwendung yEs können mehrere Parameter zur bedingten Ausführung von Messages angegeben werden yAußerdem gibt es drei spezielle Parameter x1. Startmarke gibt eine Marke an ab dem das Sequenzdiagramm ausgeführt werden soll x2. Startzeitpunkt gibt einen Zeitpunkt an ab dem die Medien dargestellt werden sollen –es wird das ganze SeqDiag so schnell wie möglich abgearbeitet und dann zu dem vorgegebenen Zeitpunkt startet die Darstellung x3. Zuordnungsparameter abhängig von diesem Parameter wird das darzustellende Medienobjekt ausgewählt –dieses Parameter ist vom Typ enum und bestimmt die Zuordnung von Anwendungsobjekt zu Medienobjekt auf Basis einer vordefinierten Liste

38 38 Aktivierungen zEine Aktivierung besteht aus: yEinem senkrechten Rechteck yEiner Medienangabe in spitzen Klammern <> yEiner Layoutzuordnung durch Angabe der BBox :Bild BBox1

39 39 Aktivierungssegmente zAktivierungssegmente werden benutzt um ein Objekt mehrfach darzustellen oder um Audiokanäle zu verteilen yDargestellt wird dies in dem eine Aktivierung in parallele Segmente aufgeteilt wird yBei Audioobjekten wird auch noch der Ausgabekanal über das Segment geschrieben :Audio LR

40 40 Animationsaktivierung z Die Animationsaktivierung ermöglicht mit einer Aktivierung eine ganze Sequenz von Aktivierung zu starten. ySo kann man zum Beispiel Animationen aus Einzelbildern ablaufen lassen yDie Darstellung ist eine horizontal unterteilte Aktivierung :Anim BBox1

41 41 Zeitangaben zZeitangaben werden durch eine Teilung der Zeitachse und Intervallangaben modelliert yDabei können genaue Zeitangaben, minimale Zeit, maximale Zeit oder unbestimmte Zeit (*) verwendet werden :Bild:Video:Musikstück Max(10sec) 1min 10sec [2min,10min] * BBox1 BBox2 Audio1

42 42 Medienfilter zDer Medienfilter wird genutzt um Pegeländerungen während der Präsentation eines Objektes zu modellieren yDies kann zum Beispiel die Lautstärke eines Audioobjektes oder auch die Helligkeit eines Bildes sein yDargestellt wird dieser Pegel als teilweise gefüllte Aktivierung. yDie gesamte Breite der Aktivierung ist dabei 100% Einblenden Ausblenden Dauerpegel 66% 0%100%

43 43 Parametrisierung zDie Parametrisierung erfolgt in einem Kasten oberhalb des Diagramms yAls Beispiel hier die Parameter Start und Ende als char werden übergeben und im Diagramm als S und E verwendet char S := Start char E:=Ende

44 44 Aktivierungs- /Deaktivierungsverzögerung zDa man von Multimediaobjekten nicht immer einen Start oder eine Beendigung in Nullzeit erwarten kann, muß man Verzögerungen mit modellieren yZu diesem Zweck werden Verzögerungen eingeführt die durch schraffierte Flächen repräsentiert werden. Für Objekte die nicht abrupt beendet werden können Für Objekte die zum Start noch Vorbereitung brauchen

45

46 46 Zustandsdiagramm: Syntax (1) zIn übergeordneten Zuständen werden Beziehungen der Szenen zueinander modelliert zZustandsübergänge werden durch Benutzerinteraktionen oder zeitabhängige Ereignisse bedingt zDen einfachen Zuständen werden die entsprechenden Sequenzen zugeordnet: Sequenzdiagramm spezifiziert die vordefinierte Aktionsfolge (action expression) der internen Aktion eingebetteter Zustandsautomat Dem internen Ereignis do wird ein ausführbares Sequenzdiagramm zugeordnet.

47 47 Zustandsdiagramm: Syntax (2) zZustandsdiagramme bieten u.a. unterteilte und eingebettete Zustände zBeispiel:

48 48 Zustandsdiagramm: Editor (Rose 98)

49 49 Zustandsdiagramm: Repräsentation in Rose zSyntax unverändert übernommen aus UML zSemantische Erweiterung: Kopplung von internen Aktionen an Sequenzdiagramme; Prüfung der Konsistenzbedingung erforderlich zEditor ist Rose 98 (nach Rational: Rose uses Harel notation) zVerwendung der internen Repräsentation von Rose, d.h. es existiert keine Repräsentation im OMMMA-Tool

50 50 OMMMA-L & OMMMA-Tool zDiagrammsprachen zIntegration OMMMA yintegriertes Metamodell yKombination der Diagramme ySystemarchitektur & Kommunikation in OMMMA-Tool zDemo OMMMA-Tool

51 51 OMMMA-L: Integration View Controller Model static ApplicationLogic Media Model Model dynamic Zustandsdiagramm Präsentations- diagramm Klassendiagramm Erweitertes Sequenzdiagramm M MM C MM V MM

52 C M dynamic M static V

53 C M dynamic M static V

54 C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 M dynamic M static V

55 PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 M dynamic M static V

56 PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

57 PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

58 PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

59 PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

60 PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

61 61 Konsistenzbedingungen (1) zFolgende Konsistenzbedingungen sind festzuhalten: yM static - und M dynamic -Komponenten: xApplicationEntities sind mit einem Medientyp assoziiert xActivations im Sequenzdiagramm besitzen eine Referenz zu einem Medienobjekt, dieses beinhaltet die Instanz eines Medientyps yM static -Komponente und Controller-Komponente: xder Multimedia-Applikation wird das Zustandsdiagramm zugeordnet xSzenen werden Zustände des Zustandsdiagramms der Multimedia- Applikation zugeordnet

62 62 Konsistenzbedingungen (2) yM static -Komponente und View-Komponente: xActivations im Sequenzdiagramm haben eine Referenz auf die zugehörige Bounding Box yM static -Komponente und View-Komponente: xSzenen haben eine Referenz auf die Layoutviews yController-Komponente und M dynamic -Komponente: xim do-Teil des Zustandsdiagramms wird ein Sequenzdiagramm referenziert

63

64

65 SimpleActivation AuditivePresentation Stereotype of Class Stereotype of Classifier (Operation) Stereotype of Operation Stereotype of AssociationClass Stereotype of Classifier Stereotype of Subsystem VisualPresentation noninteractiveVPinteractiveVP 0..* ImagemapButtonCheckBoxSliderbar LayoutView * * +front * layered +back * CompositeActivation isConcurrent : Boolean MediaFilter BoundingBox 1..* * * +front * layered +back * Media ApplicationEntity *1..** MultimediaPresentation 1 1..* 1 11 Activation * * * * +parameter * * * * * * 1 * 1 * 1 * 1 * * 1 * 1 AudioChannel 1 * 1 * * * * *

66 OMMMA-Tool: Architektur Konsistenz Rational Rose Klassen-Editor Zustand-Editor OMMMA-Datenmodell Rose-Datenmodell Ext-Files MDL-Files REI OMMMA-Ctrl PresEd Window OMMMA-Tool-DM Präsen- tations- Editor RoseWindow OMMMA-Tool COM Client RoseApplication COM Server Konsistenz Szenen objekt- Editor Unparser SzOEd Window Konsistenz Sequenz- Editor SeqEd Window Aufruf Daten

67 67 OMMMA-Tool: Internes Anwendungsmodell

68 68 Kommunikation zwischen OMMMA-Tool und Rose zJede Eingabe-, Umbennungs- und Löschoperation erfolgt auf der internen Datenstruktur im OMMMA-Tool zZulässige Änderungen des Modells werden direkt an Rational Rose weitergeleitet zDadurch werden die Daten konsistent gehalten zVerwendung von Rose als Projekt-Repository

69 69 OMMMA-L & OMMMA-Tool zDiagrammsprachen zIntegration OMMMA zDemo OMMMA-Tool

70 70 Bewertung: Ziele und Erreichtes zZiele der PG-OMMMA: ySprache zur objektorientierten Modellierung von Multimedia- Applikationen (orientiert an UML) yEditor (Syntaxgesteuert) zErreicht: yOMMMA-L (Erweiterung von UML) yOMMMA-Tool (angebunden an RationalRose98) zOffen geblieben: yEditiermöglichkeit für einige Details (besonders Verfeinerungen des Sequenzdiagramm yEin auf unseren Editor aufbauender Codegenerator yPortierung des Editors nach JAVA

71 71 Bewertung: Ablauf der PG-OMMMA z2 Semester fast ausschließlich an Sprache OMMMA-L gearbeitet zAber: yOMMMA-L eine Grundlage für Forschung in AG-Engels yOMMMA-L Stoff von Vorlesung MMSE yOMMMA-L bereits veröffentlicht hohe Motivation für unser Team zEntwicklung des Prototyps in unserem freiwilligen 3. Semester

72 72 Bewertung: Erweiterung von Rose zGeplant war: yRose erweitern um das Layoutdiagramm yRose-Sequenzdiagramm erweitern um die Aspekte des OMMMA- Sequenzdiagramms yKlassen- und Zustandsdiagramm übernehmen zDaraus wurde: yOMMMA-Layoutdiagramm-Editor yRose-Sequenzdiagramme entsprachen nicht dem UML-Standard Eigener Sequenzdiagramm-Editor ynur eingeschränkte Konsistenzprüfung auf Rose-Klassendiagramm- Editor, damit nicht syntaxgesteuert realisierbar Eigene Repräsentation für das Klassendiagramm

73 73 Bewertung: Erweiterung von Rose (2) zErhofften weniger Aufwand beim Erweitern eines etablierten Case- Tool (und die Möglichkeit Code zu generieren) zErkauften uns damit viele Probleme, die nicht eingeplant waren yInterne Struktur von Rose nicht dokumentiert ykeine Möglichkeit, ein Diagramm vor dem Editieren zu schützen ykein zugreifbarer Event-Handler in Rose zEinfache Erweiterung damals nur über VisualBasic möglich: yRose Schnittstelle nur COM/DCOM yJava nur CORBA

74 74 Bewertung: Erweiterung von Rose - Konsistenz zKlassendiagramm: Daten-Grundlage für die Editoren im OMMMA- Tool yOMMMA-L-Konsistenzprüfung auf Klassendiagramm nicht automatisch während der Eingabe (Rose-Events über COM nicht zugreifbar) nicht syntaxgesteuert yLösung: Eigene Klassendiagramm-Repräsentation yAlternative ohne Syntaxsteuerung: explizites Aufrufen einer Konsistenzüberprüfung in Rose zZustandsdiagramm: Konsistenzprüfung auf den Daten des OMMMA- Tools

75 75 Perspektiven (1) zPG OMMMA yProjektbericht & Dokumentation zStudien-/Diplomarbeiten yVerfeinerung der Sprachdefinition OMMMA-L zSHK-Tätigkeiten yWeiterentwicklung des OMMMA-Tool-Prototypen yReimplementierung ??

76 76 Perspektiven (2) zForschung yVerfeinerung in Sequenzdiagrammen, Präsentationsdiagrammen yModellierung von Anwendungsbeispielen yRevision von OMMMA-L yA-UML: Head-Unit im Automobil (A-UML) yUML Profiling

77 Universität Paderborn OMMMA 77 The End

78 78 Zustandsdiagramm - Transitionen zTransitionen (nach UML) bestehen aus: yevent-signature [guard-condition] / action-expression ^send-clause ymit event-signature: event-name (parameter,...) yund ^send-clause: destination-expression.destination-message-name (argument,...) zTransitionen (in Rose98):

79 79 Zustandsdiagramm - Rational Rose 98 (2) zEingabemöglichkeiten in Rose98 yFür Zustände

80 80 Zustandsdiagramm - Rational Rose 98 (3) zEingabemöglichkeiten in Rose98 yFür Transitionen

81 81 Bewertung: Danksagungen zF. Wegener: für schnelle und unbürokratische Hilfe in Rechner und Folienfragen ;-)

82 82 Perspektiven (1) zPG OMMMA yProjektbericht: xSyntaxdefinition OMMMA-L xOMMMA-Tool Dokumentation xBenutzerhandbuch zStudien-/Diplomarbeiten zSHK-Tätigkeiten yWeiterentwicklung OMMMA-Tool yReimplementierung ??

83 83 Beispiel eines Klassendiagramms


Herunterladen ppt "Universität Paderborn OMMMA 1 Abschlußbericht PG OMMMA Objektorientierte Modellierung von MultiMedia-Anwendungen OS Angewandte Informatik 30.06.1999."

Ähnliche Präsentationen


Google-Anzeigen