software adaptation by real-time situation analytics.
The underlying software and monitoring technology
was introduced in (Märtin et al., 2016).
2.1 Model- and Pattern-based User
Interface Design
Model-based User Interface Design (MBUID)
during the last decades has paved the way for many
well-structured approaches, development
environments and tools for building high-quality
interactive systems that fulfil tough requirements
regarding user experience, platform-independence,
and responsiveness. At the same time model-driven
and model-based architectural and development
approaches (Meixner et al., 2014) were also
introduced to automate parts of the development
process and shorten time-to-market for flexible
interactive software products. As one de-facto
process and architectural standard for MBUID the
CAMELEON reference framework has emerged
(Calvary et al., 2002). CRF defines many model
categories and a comprehensive base architecture for
the construction of powerful model-based
development environments.
In order to allow for automation of the
development process for interactive systems, to raise
the quality and user experience levels of the
resulting application software and to stimulate
developer creativity, many software-pattern-based
design approaches were introduced during the last
15 years (Breiner et al., 2010).
In order to get the best results from both, model
and pattern-based approaches, SitAdapt is integrated
into the PaMGIS (Pattern-Based Modeling and
Generation of Interactive Systems) development
framework (Engel et al., 2015), which is based on
the CAMELEON reference framework (CRF).
PaMGIS contains all models proposed by CRF, but
also exploits pattern-collections for modeling and
code generation. The CRF is guiding the developer
on how to transform an abstract user interface over
intermediate model artifacts into a final user
interface. The overall structure of the PaMGIS
framework with its tools and resources, the
incorporated CRF models, and the new SitAdapt
component is shown in figure 1.
The SitAdapt component has full access to all
sub-models of the context of use model and interacts
with the user interface model.
Within CRF-conforming systems the abstract
user interface model (AUI) is generated from the
information contained in the domain model of the
application that includes a task model and a concept
model (i.e. typically an object-oriented class model
defining business objects and their relations) and
defines abstract user interface objects that are still
independent of the context of use.
The AUI model can then be transformed into a
concrete user interface model (CUI), which already
exploits the context model and the dialog model,
which is responsible for the dynamic user interface
behavior.
In the next step PaMGIS automatically generates
the final user interface model (FUI) by parsing the
CUI model. To produce the actual user interface, the
resulting XML-conforming UI-specification can
either be compiled or interpreted during runtime,
depending on the target platform. Chapter 3
discusses in detail, how SitAdapt complements and
accesses the PaMGIS framework.
2.2 Context- and Situation-Awareness
Since the advent of smart mobile devices, HCI
research has started to take into account the various
new usability requirements of application software
running on smaller devices with touch-screen or
speech interaction or of apps that migrate smoothly
from one device type to another. Several of the
needed characteristics for these apps targeted at
different platforms and devices can be specified and
implemented using the models and patterns residing
in advanced MBUID systems. Even runtime support
for responsiveness with the interactive parts
distributed or migrating from one (virtual) machine
to the other and the domain objects residing in the
Cloud can be modeled and managed by CRF-
conforming development environments (e.g.
Melchior et al., 2011).
The concept of context-aware computing was
originally proposed for distributed mobile
computing in (Schilit et al., 1994). In addition to
software and communication challenges to solve
when dynamically migrating an application to
various devices and locations within a distributed
environment, the definition of context given then
also included aspects such as lighting or the noise
level as well as the current social situation (e.g. are
other people around?, are these your peers?, is one
of them your manager?, etc.).
Since then, mobile software has made huge steps
towards understanding of and reacting to varying
situations. To capture the individual requirements of
a situation (Chang, 2016) proposed that a situation
consists of an environmental context E that covers
the user’s operational environment, a behavioral
context B that covers the user’s social behavior by