Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Elldrich Zehner Geändert vor über 11 Jahren
1
Universität Paderborn OMMMA 1 Abschlußbericht PG OMMMA Objektorientierte Modellierung von MultiMedia-Anwendungen OS Angewandte Informatik 30.06.1999
2
2 Projektgruppe OMMMA Betreuer:Stefan Sauer Prof. Dr. Gregor Engels Teilnehmer:Joachim Bertram Carsten Kemper Mirko Klotz Stefan Nabbefeld http://www.upb.de/fachbereich/AG/engels/ag_dt/Lehre/PG_OMMMA/
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
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
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 0..1 1..* 0..1 1..* * * +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
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.