Zwischenbericht PG OMMMA

Slides:



Advertisements
Ähnliche Präsentationen
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Advertisements

Kapitel 4 Datenstrukturen
Anwendungsfalldiagramm
Anwendungsfalldiagramm
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Sequenzdiagramm.
Objektorientierung mit VBA
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Abhängigkeitsbeziehung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
DOM (Document Object Model)
Kann eine XML-Datenbank temporal sein? Universität zu Köln Hauptseminar: Datenbanken vs. Markup Dozent: Prof. Dr. Manfred Thaller Referentin: Cigdem Varol.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Modularisierungstechniken
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Modellierung komplexer Realität mit Objekten
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
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.
Grundlegende Analysen & Zwischendarstellungen
Universität Paderborn OMMMA 1 Abschlußbericht PG OMMMA Objektorientierte Modellierung von MultiMedia-Anwendungen OS Angewandte Informatik
UML-basierte Modellierung von Multimediaanwendungen
RDF-Schema Seminar: „Semantic Web“ André Rosin,
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Kennlinie Lichtregelung in JavaNNS Version 1.1
UML Begleitdokumentation des Projekts
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
Objektorientierte Modellierung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Software Engineering SS 2009
5 Methoden und Werkzeuge zur Prozessmodellierung
Delphi II - OOP IFB Fortbildung
Clustered Neuronal Network A C#.NET project for Compute Cluster Server 2003.
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
Seminar XML-Technologien: VoiceXML/SMIL 1 Was ist SMIL ? Synchronized Multimedia Integration Language Ausprache wie das englische Wort smile {smaIl} August.
Unified Modeling Language Repetition / Einführung zu UML
Entwurfs- und Implementationsdiagramme
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
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
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
UML-Kurzüberblick Peter Brusten.
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Fachkonzepte in der UML
Zustandsübergangsdiagramme (1)
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
Das IT - Informationssystem
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Multimedia und Semiotik Ein Vortrag im Rahmen des Seminars zur Lehrveranstaltung GIS IV von Stefan Hoersch.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Sichtbarkeit einschränken
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
 Präsentation transkript:

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/

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

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)

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

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

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

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

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)

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)

Framework

Beispiel eines Anwendungs-musters (Objektdiagramm)

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

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

Bounding Boxes Beispiele für Spezialisierungen der Bounding Box

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

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

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

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

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

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

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

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

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%

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

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.

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

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“

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

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

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

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

Meta- modell

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

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

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)

Rose Extensibility Interface (REI) OMMMA-Editor

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

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!

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

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

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

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