Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Zwischenbericht PG OMMMA Projektgruppe Objektorientierte Modellierung von Multimedia- Anwendungen Betreuer:Stefan Sauer Prof. Dr. Gregor Engels Teilnehmer:Joachim.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Zwischenbericht PG OMMMA Projektgruppe Objektorientierte Modellierung von Multimedia- Anwendungen Betreuer:Stefan Sauer Prof. Dr. Gregor Engels Teilnehmer:Joachim."—  Präsentation transkript:

1 1 Zwischenbericht PG OMMMA Projektgruppe Objektorientierte Modellierung von Multimedia- Anwendungen Betreuer:Stefan Sauer Prof. Dr. Gregor Engels Teilnehmer:Joachim Bertram Carsten Kemper Mirko Klotz Stefan Nabbefeld OS Angewandte Informatik - 9.Dez.1998

2 2 Inhalt zIntro: Objektorientierte Modellierung von Multimedia-Anwendungen zDiagrammtypen zDiagrammkombination zVerfeinertes Metamodell zRose Extensibility zArchitektur der Implementierung zZusammenfassung & Ausblick

3 3 Intro: Ziel & Kontext von OMMMA zDefinition einer objektorientierten Modellierungssprache für Multimedia zVerwendung von UML-Standard als Basis zErstellung eines Modellierungswerkzeuges zErweiterung um eine Ablauf- oder Generierungskomponente (Programmiersprachen, MM-Standards)

4 4 Intro: OMMMA: Charakteristika von MM-Anwendungen zInteraktive Softwaresysteme zStrukturierte Kombination kontinuierlicher und diskreter Medientypen - inhaltlich, zeitlich, räumlich ÊStruktur der Anwendung, Medienobjekte ËLayout der Benutzungsschnittstelle ÌBenutzerinteraktion und Ereignisverarbeitung ÍVordefiniertes zeitliches Ablaufverhalten visueller und auditiver Präsentationseinheiten

5 5 Intro: OMMMA - Modellierung von MM-Anwendungen zAutorensysteme:unvollständiger Entwicklungsprozeß keine Unterstützung einer Modellierung zIntegrierte Modellierung von Anwendung, UI, Medien (Struktur und Ablaufverhalten) zZuordnung von Aspekten zu speziellen Diagrammtypen zMetamodell zum Einsatz der Diagramme und deren konsistenter Kombination

6 6 Intro: OMMMA: OO-Modellierung von MM-Anwendungen zWarum OO? Einheitliches Konzept, Kopplung von Struktur- und Dynamikbeschreibung, Wiederverwendung, Modularisierung zWarum UML? OMG-Standard, industrieller Quasi-Standard zWarum nicht pure UML? Bestimmte Aspekte von MM-Anwendungen werden nicht unterstützt

7 7 Beispielanwendung: Komponistenlexikon Medienobjekte Hypertexteintrag, Porträts, Musikbeispiele & Notenblätter, Videosequenzen Logische Struktur inhaltliche Abhängigkeiten, Komposition z.B. eines Eintrags Einheitliches Layout wiederverwendbar Interaktivität einheitliche Benutzerführung Navigation: Buchstabenleiste, Scroll-Liste, Buttons, Steuerung Vordefinierte Abläufe Zeitverhalten, Synchronisation

8 8 Klassendiagramm / Framework 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 yist ein Anwendungsframework (und kein API wie bei Gibbs/Tsichritzis)

9 9 Medientyphierarchie / logisches Anwendungsmodell zDie Medientyphierarchie... yumfaßt alle verfügbaren Medientypen yist bei Bedarf erweiterbar zDas logische Anwendungsmodell... yenthält alle Klassen, die in einzelnen Szenen benutzt werden yenthält ggf. Logical Patterns (spezialisierte Muster)

10 10 Framework

11 11 Beispiel eines Anwendungs- musters (Objektdiagramm)

12 12 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 Gestaltungsmerkmale des Layoutdiagramms sind : yBounding Box yLayoutsicht bzw. Layoutview

13 13 Merkmale des Layoutdiagramms Bounding Boxes zBounding Boxes, also die ein Objekt begrenzenden Rechtecke, werden verwandt zBounding Boxes können einander überlagern, eine Tiefenstaffelung ist vorgesehen zBounding Boxes werden spezialisiert in Präsentationsobjekte, nur zu Darstellungszwecken und Interaktionsobjekte, zur Interaktion mit dem Benutzer zDarstellung durch einfach (Präsentations-) oder doppelt (Interaktionsobjekte) dicke Umrandung zPräsentationsobjekte werden durch die Aktivierung eines Anwendungsobjektes im Sequenzdiagramm erzeugt zInteraktionsobjekte bedürfen zusätzliche einer Modellierung im Zustandsdiagramm ( was geschieht, wenn Knopf gedrückt wird ?)

14 14 Bounding Boxes Beispiele für Spezialisierungen der Bounding Box

15 15 Merkmale des Layoutdiagramms Layoutview zein LayoutDiagramm kann aus mehreren Teilansichten, sogenannten LayoutViews, bestehen zEine LayoutView entspricht im einfachsten Fall einer Bildschirmsicht der MM.-Anwendung zEine Sicht der MM.-Anwendung kann aber auch aus mehreren LayoutViews bestehen, die wiederum in einer Tiefenstaffelung angeordnet sein können zeine Layout-View könnte z.B. ein wiederkehrendes Steuerelement sein

16 Layoutviews Layoutview 1Layoutview 2 Layoutview3, resultiert aus Kombination der Layoutviews 1 und 2

17 17 Ansatz zur Umsetzung in ein UML- Modell zdas Layoutdiagramm wird in ein UML-Klassendiagramm umgesetzt zdabei werden die Eigenschaften, wie Position, Größe in Attribute der Klasse umgesetzt zdie Tiefenstaffelung wird durch eine Assoziation zwischen den beteiligten Klassen realisiert

18 18 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

19 19 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

20 20 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

21 21 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

22 22 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 :Bild2 :Bild3 :Bild4 :Bild5 :Bild1 :Bild6 :Anim

23 23 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%

24 24 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] *

25 25 Zustandsdiagramme 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.

26 26 Zustandsdiagramme zZustandsdiagramme bieten u.a. unterteilte und eingebettete Zustände zFrage: Wie können diese Möglichkeiten genutzt werden? Beispiel:

27 27 Zustandsdiagramme zZustands-Pattern dienen zur vereinfachten Handhabung häufig vorkommender Abläufe gleicher Art zDer Benutzer kann vorgefertigte Abläufe verwenden zBeispiel: Gehe n Schritte nach xy

28 28 Kombination zKombinationsmöglichkeiten: yinnerhalb einer Diagrammart yzwischen verschiedenen Diagrammarten zInnerhalb einer Diagrammart: yZustandsdiagramm xhierarchische Komposition ( Superstate ) ySequenzdiagramm xGrundsätzlich ist eine Kombination nicht nötig xUnterscheidung zwischen sequentieller und paralleler Ausführung nötig xvorstellbar ist sie für eine sequentielle Abfolge mehrerer Sequenzdiagramme xbei paralleler Ausführung nicht möglich yLayoutdiagramm xKombination vorgesehen (mehrere Layoutviews können eine Sicht der Anwendung bilden) und erweitert um die Relation gestaffelt

29 29 Kombination verschiedener Diagramme zBetrachtung der Kombination der Verhaltensdiagramme ( Sequenz- und Zustandsdiagramm) und des Layoutdiagramms ySchlüsselbegriff unserer Betrachtungsweise ist die Szene oder Application Unit yhiermit ist eine in sich geschlossene Einheit der MM.-Anwendung gemeint. yGeschlossenheit ist sowohl auf inhaltlich logischer Ebene zu sehen, wie auch in der Präsentation zDie Szene umfaßt einen Zustand im Zustandsdiagramm zdiesem Zustand ist ein Sequenzdiagramm zur Beschreibung des statischen zeitlichen Verhaltens zugeordnet zebenso ist diesem Zustand ein Layout zugeordnet, zur Modellierung der räumlichen Zusammenhänge

30 30 Kombination verschiedener Diagramme zEs ergibt sich folgendes Übersichtsbild aus dem Metamodel

31 31 Verhaltensdiagramme und Strukturdiagramm zim Klassendiagramm wird die statische Struktur der MM.- Anwendung beschrieben znur im Klassendiagramm definierte Objekte stehen in den anderen Diagrammen zu Verfügung zPräsentationsobjekte entsprechen den Aktivierungen der Szenenobjekte zdie Szenenobjekte sind mit den Instanzen der Medienobjekte assoziiert

32 Meta- modell

33 33 Metamodell zMechanismen, die dem Benutzer dienen sollen, werden wenn möglich schon im Metamodell umgesetzt zBeispiel: Gruppieren 1..* 1

34 34 Metamodell - BoundingBox Klassen BB interaktiv BB Präsentation BoundingBox x, y : int h, w : int name : string show() hide() Scrollbar min : int max : int value : int large : int small : int Sliderbar min : int max : int value : int l Button caption : string style : int Checkbox caption : string value : int style : int RadioButton caption : string value : int group : int Textbox input : string VertScrollbar HorScrollbar VertSliderbar HorSliderbar BBAnimationBBText...

35 35 Rose Extensibility Interface (REI) Anpassen der Menüs (Datei: rose.mnu ) zRose-Funktionen automatisieren über Rose Scripting (Summit BasicScript/VBA) zAutomatisierung mit anderen Anwendungen (OLE) zZugriff auf Rose-Klassen, -Eigenschaften und -Methoden (COM) zRose Add-Ins: yRoseScript(e) yangepaßte Menüs yerweiterte Properties, yEreignisse, yStereotypen)

36 36 Rose Extensibility Interface (REI) OMMMA-Editor

37 37 COM (Component Object Model) / DCOM (Distributed COM) zKomponentenmodell von Microsoft (dadurch weitestgehend plattformabhängig) als Alternative zu CORBA zAnwendungen von COM: OLE / ActiveX zWeg für den Zugriff auf Software-Dienste zTechnischer Hintergrund zu COM kompliziert, Benutzung jedoch einfach zSpeziell für Rational Rose: Zugriff aus anderen Programmen über die Rose Extensibility Type Library (Datei: RationalRose.tlb ) Alle Klassen von RoseScript verfügbar ( Rose voranstellen : z.B. RoseClassView statt nur ClassView )

38 38 COM-Beispiel: Aufruf von Rose aus Visual Basic... Dim app As New RoseApplication Dim model As RoseModel Dim cc As RoseClassCollection Dim i As Integer Print "Info's über Rose:" Print " Pfad: " & app.ApplicationPath Print " Version: " & app.Version Print 'Modell öffnen Set model = app.OpenModel("D:\Daten\Uni\OMMMA\Anwendungsmuster.mdl") Print "Alle Klassen im Modell:" Set cc = model.GetAllClasses For i = 1 To cc.Count Print " " & cc.GetAt(i%).Name Next i% app.Exit '<-- wichtig, nicht vergessen!...

39 39 Architektur: Benutzungsmodell zDer Benutzer modelliert für eine Anwendung alle vier Diagrammarten zDabei muß er das Klassendiagramm vor dem Sequenz- und Layoutdiagramm modellieren zDas Klassen- und das Zustandsdiagramm wird in Rose modelliert und Layout- und Sequenzdiagramm in einem externen Tool zDas Tool wird in Rose als Add-In eingebunden zDie gesamte Anwendung wird dann innerhalb von Rose zusammengeführt yDabei werden die Modelle des externen Tools zu erst vereint yDanach werden das Gesamtmodell zusammengeführt

40 40 Sicht des Users zFür den User hat die Anwendung folgendes Aussehen Framework ObjektdiagrammZustandsdiag.Layoutdiag.Sequenzdiag. modelliert benutzt OMMMA-Modell Rose OMMMA

41 41 Interne Architektur Sequenzdiagramm KlassendiagrammLayoutdiagramm Szenenmodell Zustandsdiagramm Rosemodell Export/ Import REI Klassennamen Speichern Laden Konsitenzcheck Rose OMMMA

42 42 Zusammenfassung & Ausblick zUML-basierte Diagrammsprache zur OO-Modellierung von Multimedia-Anwendungen zMethodik Zuordnung von MM-Anwendungsaspekten zu Diagrammtypen Kombination der Diagramme zu konsistentem Anwendungsmodell zVerfeinertes Metamodell: Syntax und statische Semantik des OMMMA-Modells zImplementierung von Editoren für Layout-Diagramm und erweitertes Sequenzdiagramm zKopplung an Rose 98 über Rose Extensibility Interface zChecker für Modellkonsistenz für interne und externe Diagramme


Herunterladen ppt "1 Zwischenbericht PG OMMMA Projektgruppe Objektorientierte Modellierung von Multimedia- Anwendungen Betreuer:Stefan Sauer Prof. Dr. Gregor Engels Teilnehmer:Joachim."

Ähnliche Präsentationen


Google-Anzeigen