Download A Component Framework for Personalized Multimedia Applications PDF

TitleA Component Framework for Personalized Multimedia Applications
Author
LanguageEnglish
File Size8.7 MB
Total Pages373
Document Text Contents
Page 1

Fakultät II � Informatik, Wirtschafts- und Rechtswissenschaften

Department für Informatik

A Component Framework for

Personalized Multimedia Applications

Dissertation zur Erlangung des Grades eines
Doktors der Ingenieurwissenschaften

von

Dipl.-Inform. Ansgar Scherp

Gutachter:

Juniorprof. Dr. Susanne Boll
Prof. Dr. Ralf H. Reussner

Tag der Disputation: 25. August 2006

Page 186

Visio-FiniteStateAutomaton.vsd


170 8 Development of the MM4U Component Framework

public interface IMediaElementsAccessor {
public void openConnection ( )

throws MM4UCannotOpenMediaElementsConnectionException ;
public void closeConnection ( )

5 throws MM4UCannotCloseMediaElementsConnectionException ;

public abstract IMedium getMediumElement ( String mediumID)
throws MM4UMediumElementNotFoundException ;

public IMediaList getMediaElements (
10 IQueryObject queryObject ,

IUserProf i le userPro f i le ) throws MM4UMediumElementNotFoundException ;

public boolean addMediaElementsObserver ( IEventListener observer ) ;
public boolean removeMediaElementsObserver ( IEventListener observer ) ;

15 }

Listing 8.1: Provided interface of the Media Pool Accessor and Connectors
component

openConnection()

closeConnection()

getMediumElement(...),
getMediaElements(...),
addObserver(...),
removeObserver(...)

addObserver(...),
removeObserver(...)

Figure 8.3: Finite state automaton de�ning the provided protocol of the Media
Pool Accessor and Connectors component

8.7.3 Design and Implementation of a Component Instance

The UML class diagram shown in Figure 8.4 depicts the principal design of our
instance of the Media Pool Accessor and Connectors component. The abstract class
MediaElementsAccessorToolkit implements the provided interface IMediaElementsAcces-
sor. As the suffix Toolkit indicates, the class is implemented by applying the design
pattern abstract factory [GHJV04, Mar98]. To create a connector for a particular
media elements storage solution, a personalized multimedia application calls the
getFactory( <IMediaElementsConnectorLocator> ) method of the abstract factory with
a so-called locator object as parameter. Here, the corresponding factory class is in-
stantiated, e. g., URIMediaElementsConnectorFactory, which creates all internal objects
needed for an instance of the Media Pool Accessor and Connectors component.

As the parameter IMediaElementsConnectorLocator of the getFactory( . . .) method
shows, we use a slightly modified version of the abstract factory pattern. Instead of
passing an integer value for identifying the requested concrete user profile connec-
tor, as it is done with the original abstract factory pattern, we use the more flexible
mechanism of locator objects. A locator object is a list of properties targeted at hold-
ing the parameters necessary to instantiate a concrete media elements connector.

Page 187

8.7 Development of the Media Pool Accessor and Connectors Component 171

IMediaElementsAccessor
MediaElementsAccessorToolkit

...
+getFactory:IMediaElementsAccessor
+openConnection:void
+closeConnection:void
+getMediumElement:IMedium
+getMediaElements:IMediaList
+addMediaElementsObserver:boolean
+removeMediaElementsObserver:boolean

URIMediaElementsConnectorFactory
...
...

MediAEtherMediaElementsConnectorFactory
...
...

VizIRMediaElementsConnectorFactory
...
...

METISMediaElementsConnectorFactory
...
...

Figure 8.4: UML class diagram of the Media Pool Accessor and Connectors
component instance

Therefore, the aim of a locator object is twofold: First, the concrete locator object
is used within the getFactory( . . .) method of the MediaElementsAccessorToolkit class to
determine the concrete factory for the corresponding connector. Second, the param-
eters defined in the concrete locator object are used to initialize the determined me-
dia elements connector factory, i. e., the locator object’s parameter values are used to
instantiate the concrete connector for the specific media elements storage solution.

The more flexible concept of locator objects is necessary, as the parameters re-
quired to instantiate the connectors to the different media elements storage so-
lutions can be very different. For example, the parameters required for our con-
crete media elements connector URIMediaElementsConnector presented in the follow-
ing Section 8.7.3.1 are the URL of the media server’s root path and the name of
an index file storing meta data about the media elements. However, a JDBC-based
connector to a relational database such as Oracle 10g with interMedia extension
[Ora06a, Ora04] for managing media elements such as images, audio, and video ele-
ments, would require some different parameters. Here, information about the used
driver class and driver name, the database’s URL, and the login and password must
be provided.

For realizing the automatic notification of personalized multimedia applications
when new media elements are available, i. e., to provide for retrieving media el-
ements via server-push mode, we employ the design pattern observer [GHJV04].
This is reflected in the provided interface by the services addObserver( . . .) and re-

Page 372

356 Index

units of loading, 267
units of locality, 267
USE, 120
User Agent Pro�le, 94
user model, 25, 80, 82, 303
user modeling, 17

key aspects, 83
user pro�le, 82, 303
User Pro�le Accessor and Connectors

component, 176
User Pro�le Accessor layer, 75
User Pro�le Connectors layer, 74
user-adaptive application, 25
user-provided information, 27

variation point, 47, 204, 205, 303
variation point cards, 57
vCard, 83
video type, 78
visual layout, 98
vital signs, 86
VizIR framework, 174
vocational data, 85

WAM, 32, 38, 97
watermarks, 176
WAV, 20
Weinberg's law, 55
well-de�ned interfaces, 50
white-box framework, 49
white-box reuse, 49
WIP, 32, 39, 40
wizards, 243
write-once-run-everywhere principle, 234

X3D, 187
XML, 23
XMT, 97
XP, 147
XSL, 38
XSL-FO, 38
XSLT, 38
xSMART, 242

ZYX, 21, 29, 37

Page 373

357

About the Author

Ansgar Scherp—born in Vechta, Germany on December 15, 1974—studied com-
puter science at the Carl von Ossietzky University of Oldenburg, Germany from
1995 to 2001. He finished his studies with the diploma thesis “Process Model and
Development Methodology for Virtual Laboratories” and started working in 2001 as
scientific employee at the University of Oldenburg in a project developing methods
and tools for virtual laboratories. With a laboratory for genetics engineering, he
won (together with M. Schlattmann, A. Hasler, W. Heuten, and R. Kuczewski) the
audience award of the MEDIDA-PRIX contest for media-didactics in higher educa-
tion in 2002. From 2003 to 2006, he has been with the OFFIS Institute for Infor-
mation Technology, working as scientific employee in the R&D division Multimedia
and Internet Information Systems on a project called MM4U (short for “MultiMe-
dia For You”). The aim of this project is to develop a software framework for the
dynamic generation of personalized multimedia content. Within the MM4U project,
Ansgar Scherp wrote this PhD thesis about the conceptual design and the software
engineering issues of the MM4U framework. He received his doctoral degree with
distinction in August 2006.

Similer Documents