supported by the player. The first phase represents
the implementation of the player based on the
characteristics of SMIL 1.0. This version supports:
(1) scheduling of single (e.g. sVideo) and composed
actions (e.g. eInteractiveButton_eVideo, denoting
that both actions occur simultaneously), (2) the
control of presentation through the buttons play,
pause and stop, (3) the presentation of a list of timers
associated with each state of the TLSA, (4) the
implementation of an optimized algorithm for
prefetching of media objects during the presentation,
and (5) the presentation of remote media based on
the http, ftp and rtp protocols. Several tests with
satisfactory results were carried out based on the
presentation of local and remote media objects.
The second phase represents the
implementation of the player based on the
characteristics of SMIL 2.0. The functionalities
implemented and enhanced on the player are: (1) the
scheduling of semantic actions on the TLSA, such as
lastest_<>, earliest_<> and excl_<>, which are
applied during the translation from a SMIL 2.0
document into an RT-LOTOS specification in order
to avoid the state space explosion on the respective
reachability graph; (2) management and presentation
according to the user profile, (3) the management of
events during presentation, and (4) the management
of exclusive presentation.
3.1 The Architecture of the TLSA
Player
The components of the architecture of the TLSA
Player were defined in order to implement an
operational scheduling procedure based on the
TLSA. Figure 3 depicts a global view of the
architecture for the implementation of this player.
Scheduler
Parser
Graphic
Interface
Data
Structures
Media
Controller
TLSA Player
Events
Manager
Triggering
Controller
Excl
Manager
Scheduler
Parser
Graphic
Interface
Data
Structures
Media
Controller
TLSA Player
Events
Manager
Triggering
Controller
Excl
Manager
Figure 3: The architecture of the TLSA Player.
The Scheduler is considered to play a main role
in this architecture since it is responsible to start the
reading and the analysis of the TLSA and the
Contextual Information, to start the presentation of
the document, and to manage this presentation until
it is finished. Consider Figure 4 which details the
Scheduler and its relations with all the other
components. Basically, the operation of the TLSA
Player can be described according to the relations
between the components of its architecture, as
follows:
(1) When the TLSA Player is executed, the
component MainReader starts to read and to analyze
the Contextual Information File and the TLSA;
(2) During this analysis, the information
concerning the TLSA and the Contextual
Information File are recorded in the associated Data
Structures;
(3) In order to begin the presentation, the
Graphic Interface is updated;
(4) Also, the player prepares the preloading
(Prefetching) of the media objects, which can be
carried out completely under a static mode or
gradually under a dynamic mode;
(5) When the MainReader component handles a
state of the TLSA, it triggers a timer (Active Timer)
associated with this state;
(6) The control of all the transitions of a state is
managed by the component Thread Controller;
(7) Thread Controller creates a thread for each
valid transition leaving the current state;
(8) The triggering condition associated with each
transition from the current state (each thread created)
is evaluated by Triggering Controller. As soon as a
triggering condition associated with a thread is
validated, the associated transition is triggered. It is
interesting to note that when an action related to a
user interaction or to the end of presentation of
continuous media takes place (since these events are
non-deterministic), its occurrence is announced to
the component ArcFiring so that the triggering
condition of the associated transition can be
evaluated;
(9) At this time, Thread Controller determines
an action (associated with the beginning or the end
of presentation) to carry out in order to manage the
presentation of the document. This action
corresponds either to the presentation of a single
media object (Media Controller), or to the exclusive
presentation of some media objects (Excl Manager);
(10) If the action to be executed corresponds to
the beginning or the end of an exclusive
presentation, the component Excl Manager will
create a thread associated with an exclusive
presentation in particular. Excl Manager determines
the instants of beginning and end of presentation of
ICEIS 2007 - International Conference on Enterprise Information Systems
270