reflects the prototype built within the project ibi
(ibi.or.at, 2015). By using these two prototypes, we
are able to identify and to evaluate necessary tasks
that user interaction developers need to fulfill in
order to generate interaction models, to embed and
connect these interaction models in the specific
framework and finally to interpret them by the
execution process during runtime (section 2.3).
2.1 CTTs and SCXMLs as Modeling
Methods for User Interaction
The literature relevant in this field mentions a couple
of projects using model-based user interface
generation approaches (Mori et al., 2004), (Peissner,
et al., 2012), (Popp, et al., 2013), (Brambilla et al.,
2014). Some rely on CTTs, some on Statecharts
(Harel, 1987) and some e.g. on the Business Process
Model and Notation (BPMN) (Zur Muehlen, et al.,
2008).
2.1.1 The CTT Interaction Model
CTT is an XML-based formal notation to represent
task models. It is of hierarchical structure, with
graphical syntax. CTT focuses on activities to be
executed by users or systems to reach a certain goal.
CTT distinguishes between system, user, interaction,
and abstract tasks. System tasks are executed by the
(software) system alone (e.g., data processing). User
tasks represent internal cognitive or physical
activities performed by the user of the system (e.g.,
selecting a problem solving strategy). Interaction
tasks are user performed interactions with the
system. Abstract tasks are used for composition of
task groups in the hierarchical structure of the CTT.
The notation provides an exhaustive set of temporal
operators, which express the logical temporal
relationships between the tasks.
CTTE (Mori et al., 2002) is a tool for the design
and analysis of CTTs. This allows creating and
editing task trees in a graphical way. The tool also
provides a CTT simulator for runtime behavior
analysis.
2.1.2 The Statechart Interaction Model
SCXML is an event-based state machine language.
It combines concepts from Harel State Tables
(Harel, 1987) and Call Control eXtensible Markup
Language (CCXML) (W3.org, 2015a), (Romellini et
al., 2005). SCXML is widely used for user interfaces
and dialog management in many different fields
such as AAL, cloud based services or video games
(Almeida et al., 2014), (Dragert et al., 2013), (Jeong
et al., 2012). It inherits semantics and special
features like compound states and parallel states
from Harel State Tables and combines it with event
handling and the XML representation of CCXML.
SCXML is used to describe finite state machines
(FSM). A FSM is a mathematical model with a finite
number of states where only one state can be active
at any given time, which is called current state.
Basic concepts in SCXML are states and
transitions, with an event attached to each transition.
When a concrete event is fired and the
corresponding source state is active, the target state
will become active and the source state inactive. The
active state can be queried continuously. In the
context of user interactions, states represent current
dialogs or windows and their transitions concrete
user or system actions. Using these techniques a user
or system action can evoke a state change. In the ibi
prototype, this change invalidates the previously
presented user interaction dialog and activates a
newly generated user interaction dialog. The state
machine can either be created directly in XML
notation or generated by using a GUI based tool
such as scxmlgui (Code.google.com, 2015a).
SCXML interpreters are available in various
programming languages such as in Java (Team
Commons, 2015), C++ (Code.google.com, 2015b)
or Python (GitHub, 2013).
2.2 Execution Frameworks for
Interaction Models
2.2.1 AALuis Execution Framework
The AALuis execution framework is an OSGi-based
(Alliance OSGi, 2003) flexible middleware layer.
The framework dynamically generates user
interfaces for connected services that provide CTT-
modelled interactions (Mayer et al., 2014). The
framework’s architecture consists of plug-in based
components, which are described in the following:
Figure 1 illustrates modules and the
communication flow in the AALuis execution
framework. The dialog manager component
orchestrates the process from abstract service
description and data, to the concrete interface
presented for a context specific interaction step.
Service managers mediate between service
endpoints and the dialog manager. Similarly, device
managers act as brokers between the devices and the
dialog manager.
The dialog manager administers all interactions
between the users and the system. For each
ICT4AgeingWell2015-InternationalConferenceonInformationandCommunicationTechnologiesforAgeingWelland
e-Health
244