Universität Paderborn OMMMA 1 Abschlußbericht PG OMMMA Objektorientierte Modellierung von MultiMedia-Anwendungen OS Angewandte Informatik 30.06.1999.

Slides:



Advertisements
Ähnliche Präsentationen
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Advertisements

Programmieren im Großen von Markus Schmidt und Benno Kröger.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Telefonnummer.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Objektorientierter Entwurf
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Sequenzdiagramm.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Objektorientierte Konzepte
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
UML-basierte Modellierung von Multimediaanwendungen
Zwischenbericht PG OMMMA
Differentielles Paar UIN rds gm UIN
Prof. Dr. Bernhard Wasmayr
Schieferdeckarten Dach.ppt
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Grundschutztools
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
AWA 2007 Natur und Umwelt Natürlich Leben
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
20:00.
5 Methoden und Werkzeuge zur Prozessmodellierung
Zusatzfolien zu B-Bäumen
Unified Modeling Language Repetition / Einführung zu UML
Eine Einführung in die CD-ROM
GBI Genios Wiso wiso bietet Ihnen das umfassendste Angebot deutsch- und englischsprachiger Literatur für die Wirtschafts- und Sozialwissenschaften. Wir.
Dokumentation der Umfrage
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Analyse von Ablaufdiagrammen
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
Das IT - Informationssystem
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
LOD Levels of Detail Oliver Gassner Christian Troger.
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Unternehmensbewertung Thomas Hering ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures Tabellenübersicht.
Folie Einzelauswertung der Gemeindedaten
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
Das IT - Informationssystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
 Präsentation transkript:

Universität Paderborn OMMMA 1 Abschlußbericht PG OMMMA Objektorientierte Modellierung von MultiMedia-Anwendungen OS Angewandte Informatik

2 Projektgruppe OMMMA Betreuer:Stefan Sauer Prof. Dr. Gregor Engels Teilnehmer:Joachim Bertram Carsten Kemper Mirko Klotz Stefan Nabbefeld

3 Inhalt zEinleitung yMotivation & Ziele yZwischenstand zOMMMA-L & OMMMA-Tool yDiagrammsprachen yIntegration yDemo OMMMA-Tool zBewertung & Perspektiven

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 Objektorientierte Modellierung von MultiMedia-Anwendungen Motivation OMMMA

6 OMMMA: Charakteristika von Multimedia- Anwendungen Motivation OMMMA

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 OMMMA: Charakteristika von Multimedia- Anwendungen OMMMA: Modellierung von Multimedia- Anwendungen Motivation OMMMA

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 OMMMA: Charakteristika von Multimedia- Anwendungen OMMMA: Modellierung von Multimedia- Anwendungen OMMMA: Objektorientierte Modellierung Motivation OMMMA

11 OMMMA: OO-Modellierung Kopplung von Struktur - & Dynamik -Beschreibung durchgängiges Konzept Modularisierung, Vererbung, Wiederverwendung... Motivation OMMMA

12 OMMMA: Charakteristika von Multimedia- Anwendungen OMMMA: Modellierung von Multimedia- Anwendungen OMMMA: Objektorientierte Modellierung UML pure UML? Motivation OMMMA

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 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 Entwicklungsstrategie für OMMMA OMMMA-L & OMMMA-Tool Werkzeuge Methoden (Vorgehensmodell) Sprachen Konzepte Pragmatik Semantik Syntax

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 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 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 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 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 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 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 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 Klassendiagramm: Syntax (Framework) TemporalMediaDiscreteMedia AudioVideoAnimationGraphicsImageText CompressedVideoRawVideo MPEGVideo... ApplicationEntity Media * 1 * 1 MMApplication ApplicationUnit 1..*

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 Klassendiagramm: Repräsentation in Rose

27 Klassendiagramm: Metamodell

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 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 Präsentationsdiagramm: Editor (1) Treeview der Präsentation der Szene mit den Audio- Channels Layoutview Bounding Boxes der Layoutview

31 Präsentationsdiagramm: Editor (2) Layoutview sich überlagernde Bounding Boxes BBox3 liegt auf BBox2, diese wiederum auf BBox1

32 Präsentationsdiagramm: Editor (3) Eine Präsentation pro Szene enthält : die Layoutviews die AudioChannels die Layoutviews wiederum enthalten die BoundingBoxes

33 Präsentationsdiagramm: Repräsentation in Rose (1)

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 Präsentationsdiagramm - Metamodell Anbindung an Activation, Typ der Bounding Box wird durch Association Class Visual Presentation spezifiziert Anbindung zur Szene

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 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 Aktivierungen zEine Aktivierung besteht aus: yEinem senkrechten Rechteck yEiner Medienangabe in spitzen Klammern <> yEiner Layoutzuordnung durch Angabe der BBox :Bild BBox1

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 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 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 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 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 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 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 Zustandsdiagramm: Syntax (2) zZustandsdiagramme bieten u.a. unterteilte und eingebettete Zustände zBeispiel:

48 Zustandsdiagramm: Editor (Rose 98)

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 OMMMA-L & OMMMA-Tool zDiagrammsprachen zIntegration OMMMA yintegriertes Metamodell yKombination der Diagramme ySystemarchitektur & Kommunikation in OMMMA-Tool zDemo OMMMA-Tool

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

C M dynamic M static V

C M dynamic M static V

C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 M dynamic M static V

PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 M dynamic M static V

PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

PlayMusic do Music(M) MMA State Diagram C LViewHB LViewEnc LViewCom HBox2 HBox3 HBox4 HBox1 V M dynamic M static

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

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 * * * * +parameter * * * * * * 1 * 1 * 1 * 1 * * 1 * 1 AudioChannel 1 * 1 * * * * *

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 OMMMA-Tool: Internes Anwendungsmodell

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 OMMMA-L & OMMMA-Tool zDiagrammsprachen zIntegration OMMMA zDemo OMMMA-Tool

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 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 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 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 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 Perspektiven (1) zPG OMMMA yProjektbericht & Dokumentation zStudien-/Diplomarbeiten yVerfeinerung der Sprachdefinition OMMMA-L zSHK-Tätigkeiten yWeiterentwicklung des OMMMA-Tool-Prototypen yReimplementierung ??

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

Universität Paderborn OMMMA 77 The End

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 Zustandsdiagramm - Rational Rose 98 (2) zEingabemöglichkeiten in Rose98 yFür Zustände

80 Zustandsdiagramm - Rational Rose 98 (3) zEingabemöglichkeiten in Rose98 yFür Transitionen

81 Bewertung: Danksagungen zF. Wegener: für schnelle und unbürokratische Hilfe in Rechner und Folienfragen ;-)

82 Perspektiven (1) zPG OMMMA yProjektbericht: xSyntaxdefinition OMMMA-L xOMMMA-Tool Dokumentation xBenutzerhandbuch zStudien-/Diplomarbeiten zSHK-Tätigkeiten yWeiterentwicklung OMMMA-Tool yReimplementierung ??

83 Beispiel eines Klassendiagramms