Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Zwischenbericht PG OMMMA

Ähnliche Präsentationen


Präsentation zum Thema: "Zwischenbericht PG OMMMA"—  Präsentation transkript:

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 Dez.1998

2 Inhalt Intro: Objektorientierte Modellierung von Multimedia-Anwendungen Diagrammtypen Diagrammkombination Verfeinertes Metamodell Rose Extensibility Architektur der Implementierung Zusammenfassung & Ausblick

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

4 Intro: OMMMA: Charakteristika von MM-Anwendungen
Interaktive Softwaresysteme Strukturierte 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 Intro: OMMMA - Modellierung von MM-Anwendungen
Autorensysteme: unvollständiger Entwicklungsprozeß keine Unterstützung einer Modellierung Integrierte Modellierung von Anwendung, UI, Medien (Struktur und Ablaufverhalten) Zuordnung von Aspekten zu speziellen Diagrammtypen Metamodell zum Einsatz der Diagramme und deren konsistenter Kombination Status Quo

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

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 Klassendiagramm / Framework
Das Klassendiagramm... ist auf Datenebene die Basis der zu modellierenden Anwendung wird in in das Framework eingebettet definiert, welche Objekttypen zu einer Anwendungseinheit (=Szene) gehören können Das Framework... besteht aus der vorgegebenen Medientyphierarchie und dem zu modellierenden logischen Anwendungsmodell; beide Teile stehen zueinander in Beziehung ist ein Anwendungsframework (und kein API wie bei Gibbs/Tsichritzis)

9 Medientyphierarchie / logisches Anwendungsmodell
Die Medientyphierarchie... umfaßt alle verfügbaren Medientypen ist bei Bedarf erweiterbar Das logische Anwendungsmodell... enthält alle Klassen, die in einzelnen Szenen benutzt werden enthält ggf. Logical Patterns (spezialisierte Muster)

10 Framework

11 Beispiel eines Anwendungs-musters (Objektdiagramm)

12 Layoutdiagramm neues, nicht in UML enthaltenes Diagramm
dient zur graphischen Notation von Positionen und Flächen der MM.-Objekte enthält die statische Beschreibung der Benutzungsoberfläche der Multimedia-Anwendung dabei ist „nur“ die räumliche Anordnung der Objekt zueinander von Interesse, nicht deren wirkliche Gestalt wesentliche Gestaltungsmerkmale des Layoutdiagramms sind : Bounding Box Layoutsicht bzw. Layoutview

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

14 Bounding Boxes Beispiele für Spezialisierungen der Bounding Box

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

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

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

18 OMMMA-Sequenzdiagramm
erweitertes UML-Sequenzdiagramm dient zur Modellierung des vorbestimmten zeitlichen Verhaltens einer Szene Die Erweiterungen: Parametrisierung Aktivierungs- und Deaktivierungsverzögerung Aktivierungssegmente Animationsaktivierung Medienfilter Zeitangaben auf der Zeitachse durch Intervalle

19 Parametrisierung char S := Start char E:=Ende
Die Parametrisierung erfolgt in einem Kasten oberhalb des Diagramms Als 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 Aktivierungs-/Deaktivierungsverzögerung
Da man von Multimediaobjekten nicht immer einen Start oder eine Beendigung in Nullzeit erwarten kann, muß man Verzögerungen mit modellieren Zu 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 Aktivierungssegmente
Aktivierungssegmente werden benutzt um ein Objekt mehrfach darzustellen oder um Audiokanäle zu verteilen Dargestellt wird dies in dem eine Aktivierung in parallele Segmente aufgeteilt wird Bei Audioobjekten wird auch noch der Ausgabekanal über das Segment geschrieben :Audio L R

22 Animationsaktivierung
Die Animationsaktivierung ermöglicht mit einer Aktivierung eine ganze Sequenz von Aktivierung zu starten. So kann man zum Beispiel Animationen aus Einzelbildern ablaufen lassen Die Darstellung ist eine horizontal unterteilte Aktivierung :Anim :Bild1 :Bild2 :Bild3 :Bild4 :Bild5 :Bild6

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

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

25 Zustandsdiagramme In übergeordneten Zuständen werden Beziehungen der Szenen zueinander modelliert Zustandsübergänge werden durch Benutzerinteraktionen oder zeitabhängige Ereignisse bedingt Den einfachen Zuständen werden die entsprechenden Sequenzen zugeordnet Dem internen Ereignis „do“ wird ein ausführbares Sequenzdiagramm zugeordnet.

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

27 Zustandsdiagramme Zustands-Pattern dienen zur vereinfachten Handhabung häufig vorkommender Abläufe gleicher Art Der Benutzer kann vorgefertigte Abläufe verwenden Beispiel: „Gehe n Schritte nach xy“

28 Kombination Kombinationsmöglichkeiten: Innerhalb einer Diagrammart:
zwischen verschiedenen Diagrammarten Innerhalb einer Diagrammart: Zustandsdiagramm hierarchische Komposition ( Superstate ) Sequenzdiagramm Grundsätzlich ist eine Kombination nicht nötig Unterscheidung zwischen sequentieller und paralleler Ausführung nötig vorstellbar ist sie für eine sequentielle Abfolge mehrerer Sequenzdiagramme bei paralleler Ausführung nicht möglich Layoutdiagramm Kombination vorgesehen (mehrere Layoutviews können eine Sicht der Anwendung bilden) und erweitert um die Relation gestaffelt

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

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

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

32 Meta- modell

33 Metamodell Mechanismen, die dem Benutzer dienen sollen, werden wenn möglich schon im Metamodell umgesetzt Beispiel: „Gruppieren“ 1 1..*

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

35 Rose Extensibility Interface (REI)
Anpassen der Menüs (Datei: rose.mnu) Rose-Funktionen automatisieren über „Rose Scripting“ (Summit BasicScript/VBA) Automatisierung mit anderen Anwendungen (OLE) Zugriff auf Rose-Klassen, -Eigenschaften und -Methoden (COM) Rose Add-Ins: RoseScript(e) angepaßte Menüs erweiterte Properties, Ereignisse, Stereotypen)

36 Rose Extensibility Interface (REI)
OMMMA-Editor

37 COM (Component Object Model) / DCOM (Distributed COM)
Komponentenmodell von Microsoft (dadurch weitestgehend plattformabhängig) als Alternative zu CORBA Anwendungen von COM: OLE / ActiveX Weg für den Zugriff auf Software-Dienste Technischer Hintergrund zu COM kompliziert, Benutzung jedoch einfach Speziell 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 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 Architektur: Benutzungsmodell
Der Benutzer modelliert für eine Anwendung alle vier Diagrammarten Dabei muß er das Klassendiagramm vor dem Sequenz- und Layoutdiagramm modellieren Das Klassen- und das Zustandsdiagramm wird in Rose modelliert und Layout- und Sequenzdiagramm in einem externen Tool Das Tool wird in Rose als Add-In eingebunden Die gesamte Anwendung wird dann innerhalb von Rose zusammengeführt Dabei werden die Modelle des externen Tools zu erst vereint Danach werden das Gesamtmodell zusammengeführt

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

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

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


Herunterladen ppt "Zwischenbericht PG OMMMA"

Ähnliche Präsentationen


Google-Anzeigen