UML-basierte Modellierung von Multimediaanwendungen Stefan Sauer Gregor Engels Universität...

Post on 05-Apr-2015

108 views 2 download

Transcript of UML-basierte Modellierung von Multimediaanwendungen Stefan Sauer Gregor Engels Universität...

UML-basierte Modellierung von

MultimediaanwendungenStefan SauerGregor Engels

Universität Paderborn{sauer|engels}@uni-paderborn.de

Modellierung‘99 - Karlsruhe, 12. März 1999

UniPaderborn

Inhalt

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 1

UniPaderborn

• Motivation OMMMA Objektorientierte Modellierung von

Multimediaanwendungen

• Entwicklungsstrategie von OMMMA• Konzepte für OMMMA• OMMMA-L - die Sprache Diagrammtypen

Kombination der Diagrammtypen

• OMMMA-Tools• Ausblick: Resultate & Perspektiven

Motivation OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 2

UniPaderborn

Objektorientierte Modellierung von Multimediaanwendungen

Motivation OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 2

UniPaderborn

OMMMA: Charakteristika von MM-Anwendungeninteraktive SoftwareKomposition von MedienobjektenAnwendungsstruktur, MedienobjektePräsentation (GUI-Layout, Audio)Benutzerinteraktion, Ereignisverarbeitungvordefiniertes (echt)zeitliches Ablaufverhalten

Objektorientierte Modellierung von Multimediaanwendungen

Motivation OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 2

UniPaderborn

OMMMA: Charakteristika von MM-Anwendungeninteraktive SoftwareKomposition von MedienobjektenAnwendungsstruktur, MedienobjektePräsentation (GUI-Layout, Audio)Benutzerinteraktion, Ereignisverarbeitungvordefiniertes (echt)zeitliches Ablaufverhalten

OMMMA: Modellierung von MM-Anwendungenunvollständiger MM-Entwicklungsprozeßintegrierte Modellierung der MM-AspekteZuordnung von Aspekten zu DiagrammtypenPragmatik: Verwendung & Kombination

Objektorientierte Modellierung von Multimediaanwendungen

Motivation OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 2

UniPaderborn

OMMMA: Charakteristika von MM-Anwendungeninteraktive SoftwareKomposition von MedienobjektenAnwendungsstruktur, MedienobjektePräsentation (GUI-Layout, Audio)Benutzerinteraktion, Ereignisverarbeitungvordefiniertes (echt)zeitliches Ablaufverhalten

OMMMA: Modellierung von MM-Anwendungenunvollständiger MM-Entwicklungsprozeßintegrierte Modellierung der MM-AspekteZuordnung von Aspekten zu DiagrammtypenPragmatik: Verwendung & Kombination

OMMMA: OO-ModellierungStruktur & Dynamik, durchgängigesKonzept, ...

Objektorientierte Modellierung von Multimediaanwendungen

Motivation OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 2

UniPaderborn

OMMMA: Charakteristika von MM-Anwendungeninteraktive SoftwareKomposition von MedienobjektenAnwendungsstruktur, MedienobjektePräsentation (GUI-Layout, Audio)Benutzerinteraktion, Ereignisverarbeitungvordefiniertes (echt)zeitliches Ablaufverhalten

OMMMA: Modellierung von MM-Anwendungenunvollständiger MM-Entwicklungsprozeßintegrierte Modellierung der MM-AspekteZuordnung von Aspekten zu DiagrammtypenPragmatik: Verwendung & Kombination

OMMMA: OO-ModellierungStruktur & Dynamik, durchgängigesKonzept, ...

Objektorientierte Modellierung von Multimediaanwendungen

UML: OMG-Standardallgemein

pure UML? nein:- Präsentation- zeitliches Ab- laufverhalten- Pragmatik

Motivation OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 2

UniPaderborn

OMMMA: Charakteristika von MM-Anwendungeninteraktive SoftwareKomposition von MedienobjektenAnwendungsstruktur, MedienobjektePräsentation (GUI-Layout, Audio)Benutzerinteraktion, Ereignisverarbeitungvordefiniertes (echt)zeitliches Ablaufverhalten

OMMMA: Modellierung von MM-Anwendungenunvollständiger MM-Entwicklungsprozeßintegrierte Modellierung der MM-AspekteZuordnung von Aspekten zu DiagrammtypenPragmatik: Verwendung & Kombination

OMMMA: OO-ModellierungStruktur & Dynamik, durchgängigesKonzept, ...

OMMMA-L

Objektorientierte Modellierung von Multimediaanwendungen

Integrierte,konsitente

MM-Modellierung

UML: OMG-Standardallgemein

pure UML? nein:- Präsentation(-)zeitliches Ab- laufverhalten- Pragmatik

Entwicklungsstrategie für OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 3

UniPaderborn

OMMMA-L: UML-basierte Diagrammsprache zur Objektorientierten Modellierung von MultiMedia-Anwendungen

Entwicklungsstrategie für OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 3

UniPaderborn

OMMMA-L: UML-basierte Diagrammsprache zur Objektorientierten Modellierung von MultiMedia-Anwendungen

Entwicklungsschritte

Konzepte• Bestimmung der zu modellierenden Charakteristika; Beziehungen• Zuordnung zu MM-Aspekten

Entwicklungsstrategie für OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 3

UniPaderborn

OMMMA-L: UML-basierte Diagrammsprache zur Objektorientierten Modellierung von MultiMedia-Anwendungen

Entwicklungsschritte

Konzepte

Sprachen (Syntax und Semantik)• Zuordnung von MM-Aspekten zu Diagrammtypen• Analyse vorhandener Sprachelemente in UML; Adaption & Erweiterung

Entwicklungsstrategie für OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 3

UniPaderborn

OMMMA-L: UML-basierte Diagrammsprache zur Objektorientierten Modellierung von MultiMedia-Anwendungen

Entwicklungsschritte

Konzepte

Sprachen (Syntax und Semantik)

Methoden (Pragmatik)• Richtlinien für Verwendung und Kombination der Diagrammtypen

integriertes & konsistentes Anwendungsmodell

Entwicklungsstrategie für OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 3

UniPaderborn

OMMMA-L: UML-basierte Diagrammsprache zur Objektorientierten Modellierung von MultiMedia-Anwendungen

Entwicklungsschritte

Konzepte

Sprachen (Syntax und Semantik)

Methoden (Pragmatik)

Formalisierung: Verfeinertes Metamodell (&

Semantikdefinition)

Entwicklungsstrategie für OMMMA

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 3

UniPaderborn

OMMMA-L: UML-basierte Diagrammsprache zur Objektorientierten Modellierung von MultiMedia-Anwendungen

Entwicklungsschritte

Konzepte

Sprachen (Syntax und Semantik)

Methoden (Pragmatik)

Formalisierung: Verfeinertes Metamodell (&

Semantikdefinition)

Werkzeuge (OMMMA-Tools)• syntaxgest. Editoren, Konsistenzprüfung; • Codegenerierung; Prozeßunterstützung

Beispielanwendung: Komponistenlexikon

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 4

UniPaderborn

Konzepte: Multimedia-Aspekte

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 5

UniPaderborn

AnwendungsstrukturMedienobjekte

Präsentation• GUI-Layout• Audio-Kanäle

BenutzerinterkationEreignisverarbeitung

vordefiniertes (echt-)zeitliches Ablaufverhalten

Erweiterung der MVC-Perspektive

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 6

UniPaderborn

UML MVCgenerische low-levelModellierungssprache

OMMMA-L MVCMM

Multimedia als „generische Domäne“

M C(V)

Einfluß

Evolution

View Model Controller

MultimediaModel

MMM CMMVMM

Erweiterung/Spezialisierung: Syntax; Semantik; Pragmatik

• Integration des MVC-Modells in die Modellierung

• Anpassung/Erweiterung für Multimediaanwendungen

Konzepte: Multimedia-Aspekte

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 5

UniPaderborn

AnwendungsstrukturMedienobjekte

Präsentation• GUI-Layout• Audio-Kanäle

BenutzerinterkationEreignisverarbeitung

vordefiniertes (echt-)zeitliches Ablaufverhalten

Erweitertes MVC: MVCMM

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 7

UniPaderborn

ModelView

Controller

Modeldynamic

Modelstatic

ApplicationLogic

Media

MMM

CMM

VMM

OMMMA-L - die Sprache

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 8

UniPaderborn

View

ControllerModelstatic

ApplicationLogic

Media

Model

Modeldynamic

Zustandsdiagramm

Layoutdiagramm

Klassendiagramm

Erweitertes Sequenzdiagramm

MMM

CMM

VMM

OMMMA-L Beispielanwendung: Komponistenlexikon

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 4

UniPaderborn

Klassendiagramm

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 9

UniPaderborn

• unveränderte UML-Notation

• Statisches Model Modelstatic eines MVCMM-Modells

• Zuordnung der statischen Anwendungsstruktur zu den

Medientypen

ContinousMedia DiscreteMedia

Animation

Media MMApplication

ApplicationUnit

11..*

11..*

TextImageGraphics

TextEntry

1

1

1

1

Portrait

1

1

1

1

MusicSheet

1

1

1

1

ComposerEntry

1

1

1

1

1

1..3

1

1..3

1

*

1

*

Video

MusicPiece*0..1 *0..1

1

2..*

1

2..*

Film

1

0..2

1

0..2

1

1

1

1

Audio

1

1..*

1

1..*

1

1

1

1

MMMstatic

Layoutdiagramm

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 10

UniPaderbornNeu

Modellierung des Layouts als Teil der Präsentation

• Layoutsichten: komponierbar• Bounding Box: Visualisierungsobjekte, Interaktionsobjekte

AlphabetArrowAnimation

ImageBox ImageVideoBox

Prev Rew StopPlay Pause FfwNext

HypertextBox

End

Prev1 Next1

LViewEnc

LViewCom

VMM

Zustandsdiagramm

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 11

UniPaderborn

• Interaktivität: dynamische Ablaufstruktur der gesamten MM-Anwendung• nahezu unverändert aus UML übernommen• Erweiterung von internen Transitionen: Ausführen eines Sequenzdiagramms Kopplung der ereignisgesteuerten mit der inhärent vordefinierten Ablaufdynamik

PlayMusic

do Music(M)

MMAStateDiagram

CMM

Erweitertes Sequenzdiagramm

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 12

UniPaderborn

Musicint MTitle KNMn: MusicSheet KNMa: MusicPiece Sym42a: MusicPieceSym42n: MusicSheet

L R L R[MTitle ==

Mozart1]

[MTitle ==

Mozart2]

ImageVideoBox

ImageVideoBox

0

T [s]

max 0,5max 0,2

2:10

0:25

Highlight: Marker

0:35HBox1

HBox2

HBox3

HBox4

0:35

0:35

0:25

MMMdynamic

OMMMA-L - die Sprache

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 8

UniPaderborn

View

ControllerModelstatic

ApplicationLogic

Media

Model

Modeldynamic

Zustandsdiagramm

Layoutdiagramm

Klassendiagramm

Erweitertes Sequenzdiagramm

MMM

CMM

VMM

OMMMA-L - die Sprache

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 12

UniPaderborn

View

ControllerModelstatic

ApplicationLogic

Media

Model

Modeldynamic

Zustandsdiagramm

Layoutdiagramm

Klassendiagramm

Erweitertes Sequenzdiagramm

+ Pragmatik

MMM

CMM

VMM

C

Mdynamic

Mstati

c

V

Pragmatik: Verwendung &Kombination der Diagrammtypen

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 13

UniPaderborn

C

Mdynamic

Mstati

c

V

Pragmatik: Verwendung &Kombination der Diagrammtypen

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 13

UniPaderborn

1..*

*

ContinousMedia DiscreteMedia MMApplicationApplicationUnit1

1..*

1

1..*

Portrait MusicSheet MusicPiece* 0..1* 0..1Film

Media

ApplicationEntity1..*

*

TextEntry

ComposerEntry

1

1..3

1

1..3

1

2..*

1

2..*

1

*

1

*

1

0..2

1

0..2

1

1

1

1

C

Mdynamic

Mstati

c

VUniPaderborn

Musicint MTitle KNMn: MusicSheet KNMa: MusiPiece

L R[MTitel ==

Mozart1]

ImageVideoBox

0

T [s ]

max 0,5max 0,2

2:10

Highlight: Marker

0:35HBox1

HBox2

HBox3

HBox4

0:35

0:35

0:25

1..*

*

ContinousMedia DiscreteMedia MMApplicationApplicationUnit1

1..*

1

1..*

Portrait MusicSheet MusicPiece* 0..1* 0..1Film

Media

ApplicationEntity1..*

*

TextEntry

ComposerEntry

1

1..3

1

1..3

1

2..*

1

2..*

1

*

1

*

1

0..2

1

0..2

1

1

1

1

C

Mdynamic

Mstati

c

VUniPaderborn

Musicint MTitle KNMn: MusicSheet KNMa: MusiPiece

L R[MTitel ==

Mozart1]

ImageVideoBox

0

T [s ]

max 0,5max 0,2

2:10

Highlight: Marker

0:35HBox1

HBox2

HBox3

HBox4

0:35

0:35

0:25

1..*

*

ContinousMedia DiscreteMedia MMApplicationApplicationUnit1

1..*

1

1..*

Portrait MusicSheet MusicPiece* 0..1* 0..1Film

Media

ApplicationEntity1..*

*

TextEntry

ComposerEntry

1

1..3

1

1..3

1

2..*

1

2..*

1

*

1

*

1

0..2

1

0..2

1

1

1

1

C

LViewHB

LViewEnc

LViewCom

HBox2HBox3

HBox4

HBox1Mdynamic

Mstati

c

VUniPaderborn

Musicint MTitle KNMn: MusicSheet KNMa: MusiPiece

L R[MTitel ==

Mozart1]

ImageVideoBox

0

T [s ]

max 0,5max 0,2

2:10

Highlight: Marker

0:35HBox1

HBox2

HBox3

HBox4

0:35

0:35

0:25

1..*

*

ContinousMedia DiscreteMedia MMApplicationApplicationUnit1

1..*

1

1..*

Portrait MusicSheet MusicPiece* 0..1* 0..1Film

Media

ApplicationEntity1..*

*

TextEntry

ComposerEntry

1

1..3

1

1..3

1

2..*

1

2..*

1

*

1

*

1

0..2

1

0..2

1

1

1

1

PlayMusic

do Music(M)

MMAStateDiagram

C

LViewHB

LViewEnc

LViewCom

HBox2HBox3

HBox4

HBox1Mdynamic

Mstati

c

VUniPaderborn

Musicint MTitle KNMn: MusicSheet KNMa: MusiPiece

L R[MTitel ==

Mozart1]

ImageVideoBox

0

T [s ]

max 0,5max 0,2

2:10

Highlight: Marker

0:35HBox1

HBox2

HBox3

HBox4

0:35

0:35

0:25

1..*

*

ContinousMedia DiscreteMedia MMApplicationApplicationUnit1

1..*

1

1..*

Portrait MusicSheet MusicPiece* 0..1* 0..1Film

Media

ApplicationEntity1..*

*

TextEntry

ComposerEntry

1

1..3

1

1..3

1

2..*

1

2..*

1

*

1

*

1

0..2

1

0..2

1

1

1

1

PlayMusic

do Music(M)

MMAStateDiagram

C

LViewHB

LViewEnc

LViewCom

HBox2HBox3

HBox4

HBox1

VUniPaderborn

Mdynamic

Mstati

c

OMMMA-Tools

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 14

UniPaderborn

Ausblick: Resultate & Perspektiven

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 15

UniPaderborn

OMMMA-L: UML-basierte Diagrammsprache zur OO-Modellierung von Multimedia-Anwendungen• Zuordnung von MM-Anwendungsaspekten zu Diagrammtypen• Konstrukte für spezifische MMA-Eigenschaften:

Sequenzdiagramm & Layoutdiagramm

• Pragmatik: Richtlinien für Kombination der Diagramme zu integriertem & konsistentem Anwendungsmodell• Verfeinertes Metamodell: Syntax und statische Semantik

OMMMA-Tools: Entwicklung eines Editors & Konsistenz-Checkers mit Anbindung an Rational Rose 98

größere Anwendungsbeispiele modellieren Codegenerierungskomponente nach Java Komposition und Dekomposition in Diagrammen

Vision: Spezialisierte Modellierungssprachen

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 16

UniPaderborn

UML MVCgenerische low-levelModellierungssprache

OMMMA-L MVCMM

Multimedia als „generische Domäne“

M C(V)

Einfluß

Evolution

View Model Controller

MultimediaModel

MMM CMMVMM

Erweiterung/Spezialisierung: Syntax; Semantik; Pragmatik

Vision: Spezialisierte Modellierungssprachen

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 16

UniPaderborn

UML MVCgenerische low-levelModellierungssprache

OMMMA-L MVCMM

Multimedia als „generische Domäne“

DomainMMMLs MVCDMM

+ domänenspez. Sprachelemente

M C(V)

Einfluß

Evolution

View Model Controller

MultimediaModel

DomainMultimediaModel

MMM CMMVMM

MDMM CDMMVDMM

Erweiterung/Spezialisierung: Syntax; Semantik; Pragmatik

Vision: Spezialisierte Modellierungssprachen

UML-basierte Modellierung von MM-Anwendungen Modellierung‘99 StS 12.03.99 16

UniPaderborn

UML MVCgenerische low-levelModellierungssprache

OMMMA-L MVCMM

Multimedia als „generische Domäne“

DomainMMMLs MVCDMM

+ domänenspez. Sprachelemente

M C(V)

Einfluß

Evolution

View Model Controller

MultimediaModel

DomainMultimediaModel

MMM CMMVMM

MDMM CDMMVDMM

Metamodell - Stereotyping + ConstraintsAbb. auf generischen Formalismus