1 Zwischenbericht PG OMMMA Projektgruppe Objektorientierte Modellierung von Multimedia- Anwendungen...

42
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 http://www.uni-paderborn.de/fachbereich/AG/engels/ag_dt/Lehre/PG_OMMMA/

Transcript of 1 Zwischenbericht PG OMMMA Projektgruppe Objektorientierte Modellierung von Multimedia- Anwendungen...

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

1

Zwischenbericht PG OMMMA

Projektgruppe Objektorientierte Modellierung von Multimedia-

AnwendungenBetreuer: Stefan Sauer

Prof. Dr. Gregor EngelsTeilnehmer: Joachim Bertram

Carsten KemperMirko KlotzStefan Nabbefeld

OS Angewandte Informatik - 9.Dez.1998http://www.uni-paderborn.de/fachbereich/AG/engels/ag_dt/Lehre/PG_OMMMA/

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

2

Inhalt

Intro: Objektorientierte Modellierung von Multimedia-Anwendungen

DiagrammtypenDiagrammkombinationVerfeinertes MetamodellRose ExtensibilityArchitektur der ImplementierungZusammenfassung & Ausblick

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

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)

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

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

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

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

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

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

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

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

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

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)

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

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)

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

10

Framework

TemporalMedia DiscreteMedia

Audio Video Animation Graphics Image Text

LogicalPattern1

LogicalPatternN

. . .

CompressedVideo RawVideo

MPEGVideo

. . .

. . .

ApplicationEntity

Media

*

1

*

1

MMApplication

CompositeUnit

ApplicationUnit

1..*1..*

1..*1..*

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

11

Beispiel eines Anwendungs-musters (Objektdiagramm)

ApplicationUnit

Video Portrait Notenblatt Musikbeispiel Bild-/Musiksteuerung

Komponisteneintrag

** ** ** 3..53..5 11

Hypertext

11

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

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

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

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 ?)

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

14

Bounding Boxes

Checkbox

Button A Button

Sliderbar

Scrollbar

Test a

Test b

Test c

Test d

Bounding- Boxeiner Animation

Image

Bounding-Box fürein Grafikobjekt

Text

Bounding-Box eines Texts

Video

Video beinhaltet eineBildfolge, Audio wirdgetrennt behandelt

Boundiing-Boxallgemein

Beispiele für Spezialisierungen der Bounding Box

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

15

Merkmale des LayoutdiagrammsLayoutview

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

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

Layoutviews

Text

Weiter Zurück

ImageImage

Image ImageText

Weiter Zurück

Layoutview 1 Layoutview 2

Layoutview3, resultiert aus Kombination der Layoutviews 1 und 2

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

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

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

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

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

19

Parametrisierung

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 := Startchar E:=Ende

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

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

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

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

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

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

:Bild2

:Bild3

:Bild4

:Bild5

:Bild1

:Bild6

:Anim

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

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

Ausblenden

Dauerpegel 66%

0% 100%

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

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]

*

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

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

Zustands-Name

entry / action-expressionexit / action-expressiondo / Sequenzdiagramm

Dem internen Ereignis „do“ wird ein ausführbares Sequenzdiagramm zugeordnet.

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

26

Zustandsdiagramme

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

Portra itanzeigen

do Portra itanzeige

Video anzeigendo

Video anzeigen

Idle

M usikabspielendo

M usikabspielen

/ P:=1

klick [auf CD-Player]/ M :=Result

klick [auf und

/ M :=Result

CD-Player <> STO P] Result

klick [auf Video]/ V:= Result

[(Portrait oder Musik angeklickt) oder Video gestoppt]

klick [/ P:=Resultauf Portrait]

klick [auf CD-Player und

==STO P]Result

Text u. CD-Playerdarstellen

do Text u. CD-Playeranzeige

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

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“

gehe_links

gehe_rechts

do gehe_links

do gehe_rechts

Bewertung

doBewertung

normal

do normal [Start==Ziel]

[Start>Ziel]

[Start<Ziel]klick [auf Buchstabe]/ Start:=Ziel und Z iel:=Result

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

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

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

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

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

30

Kombination verschiedener Diagramme

Es ergibt sich folgendes Übersichtsbild aus dem Metamodel

Assoziation imModell

Assoziation imModell

Zustandsdiagramm Sequenzdiagramm

Layout-Diagramm

Zustand b ( der eineSzene umfaßt)

Zustand a

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

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

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

Pseudostate

kind : PseuostateKind

SubmachineState

StateMachine

*

1

*

+submachine 1

CompositeState

isConcurent : BooleanAction

Guard

expression : BooleanExpression

StateVertex

1..*

0..1

+substate

1..*

+parent

0..1

InteractiveEntityVisualEntity

ActionSequence

*

0..1

+action*

{ordered}

0..1

StateMachine

Transition

1

0..1

1

+guard 0..1

0..1

0..1

+effect0..1

0..1

1 *

+source

1

+outgoing

*

1 *

+target

1

+incoming

*

*

0..1

+transitions *

0..1

Event

0..1

*

+trigger

0..1

*

1..*

0..1

1..*

0..1

MultimediaApplication 11 11

State

0..1

0..1

0..1

+entry0..1

0..10..1

0..1+exit

0..1

1

0..1

+top1

0..1

*

0..1+internalTransition

*

0..1

0..*

0..*

0..*

+deferredEvent

0..*

LayoutView

0..*

0..*

+front

0..*

layered

+back0..*

ApplicationUnit

1..*1..*

1

0..1

1

0..1

Presentation 1..*1..*

1..*

1

1..*

1

AuditiveEntity

AudioChannel

**

*

*

*

*

{overlapping}

SimpleState

Sequence

0..1

1

0..1

1

Media

ApplicationEntity

1..*1..* 1*

1*

Activation

**

PresentationEntity

MediaFilter

ActivationCompartment

1..*1..*

1

1

1

1

*

*

*

*

BoundingBox*

1

*

11..*1..*

+front

+back

layered

Meta-modell

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

33

Metamodell

Mechanismen, die dem Benutzer dienen sollen, werden wenn möglich schon im Metamodell umgesetzt

Beispiel: „Gruppieren“

LayoutView

layered

front

back

BoundingBox11

layered

front

back

1..*

1

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

34

Metamodell - BoundingBox Klassen

BB interaktiv BB Präsentation

BoundingBox

x, y : inth, w : intname : string

show()hide()

Scrollbar

min : intmax : intvalue : intlarge : intsmall : int

Sliderbar

min : intmax : intvalue : intl

Button

caption : stringstyle : int

Checkbox

caption : stringvalue : intstyle : int

RadioButton

caption : stringvalue : intgroup : int

Textbox

input : string

VertScrollbar

HorScrollbar

VertSliderbar

HorSliderbar

BBAnimation BBText

...

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

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)

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

36

Rose Extensibility Interface (REI)

OMMMA-Editor

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

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“)

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

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! ...

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

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

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

40

Sicht des Users

Für den User hat die Anwendung folgendes Aussehen

Framework

Objektdiagramm Zustandsdiag. Layoutdiag. Sequenzdiag.

modelliert

benutzt

OMMMA-Modell

Rose

OMMMA

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

41

Interne Architektur

Sequenzdiagramm

Klassendiagramm Layoutdiagramm

Szenenmodell

Zustandsdiagramm

Rosemodell

Export/Import

REI

REI

Klassennamen

Speichern

Laden

Konsitenzcheck

Rose OMMMA

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

42

Zusammenfassung & Ausblick

UML-basierte Diagrammsprache zur OO-Modellierung von Multimedia-Anwendungen

MethodikZuordnung von MM-Anwendungsaspekten zu DiagrammtypenKombination 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