<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards automatically interfacing application services integrated into an automated, model-based user interface generation process</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kai Breiner</string-name>
          <email>breiner@cs.uni-kl.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oliver Maschino</string-name>
          <email>maschino@cs.uni-kl.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Görlich, Gerrit Meixner</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Fraunhofer Institute for Experimental, Software Engineering (IESE)</institution>
          ,
          <addr-line>67663 Kaiserslautern</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>German Research Center for Artificial</institution>
          ,
          <addr-line>Intelligence (DFKI), 67663 Kaiserslautern</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>TU Kaiserslautern, Software, Engineering Research Group</institution>
          ,
          <addr-line>67663 Kaiserslautern</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The impact of user interface quality has grown in software system engineering. This importance will grow further with upcoming new paradigms such as Ambient Intelligence or Ubiquitous Computing. These paradigms confront the production industry with a new diversity of usage situations. In previous work, we have shown the adaptation of a task-oriented, model-based Useware engineering process to future paradigms by extending existing models and shifting the development/generation of the user interface (UI) from development time to run-time. While separating the UI design from the application engineering process, the problem of the generated UI interfacing with the corresponding service functions emerged. We propose a solution by integrating the respective linkage information into the function model, which will be introduced in this paper.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Modern industry production environments are characterized by a
heterogeneous set of technical devices, which consequently
provide an also heterogeneous set of interaction devices as well as
concepts [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Also, using modern communication technology,
these devices can be interconnected and therefore share
information about the current state of the whole environment.
Thus, if this particular information is available at any time and in
any place, this could also be a disadvantage, namely, if it is not
presented properly in terms of format and structure [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Confronted with this diversity of interaction concepts and
information, it will be more difficult for users to fulfill their tasks
or react in proper time in case of an emergency [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. For this
reason, it is important to also consider information about the
usage situation (e.g. users’ roles, user position, environmental
conditions, etc.). Additionally, the use of (independent)
information and interaction structures generates new
humanmachine-interaction concepts and Useware engineering methods
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        The goal of our approach is to support the users in performing
their tasks as adequately as possible. Basically, the idea to solve
the problem of “explosive diversity” was to combine all the user
interfaces of nearby devices into a single holistic interaction
device with a homogenous interaction concept, which results in
improved usability as well as in an optimization of the users’
workflows. The benefits and the sufficiency of such universal
remote controls have already been proven in the context of
intelligent households [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Faced with a similar initial situation,
universal controls also emerge in the domain of production
industry [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Because intelligent production environments appear
to be highly dynamic, it was not an option to provide a simple,
static, universal control device. Analyzing a generic environment
will always lead to a formal description (model), which in the
following will be the starting point of our UI generation approach
as described below. The contribution of our paper will be the
seamless integration of given functional interfaces into the
completely automated generation process, resulting in a fully
functional and usable context-sensitive UI. We have developed
this process as an extension to the Useware development process,
and we will summarize it in the following section.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. TOWARDS A MODEL-BASED</title>
    </sec>
    <sec id="sec-3">
      <title>GENERATION PROCESS</title>
      <p>
        Evidently, a modern user interface’s level of acceptance is
determined by its ease of use. Furthermore, this also applies to
entire software products, because for the user, the UI is the
product. [
        <xref ref-type="bibr" rid="ref9">17</xref>
        ] In order to improve this property, the Useware
development process – developed by the Center for
HumanMachine-Interaction and successfully applied in numerous joint
ventures and industrial projects [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] – has to be adapted
systematically.
      </p>
      <p>
        The starting point of this process is always the systematic analysis
of the user and the respective environment, which is the sole
guarantee for the efficient use of the final user interface to be
developed. Subsequently, the result of this phase will be
formalized during the structural design and the design phase,
resulting in a room-based use model (useML, see Figure 1), as
described in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. On the basis of this model, it was the UI
programmers’ task to implement the final UI. Automating this
step between design and implementation is the research focus of
the GaBi project, which aims at achieving this goal by defining a
model-based code generation process. One major challenge we
explored in our previous work was to automatically interface the
application services while generating the user interface [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. We
propose bridging this gap by including all the necessary
information in an extended model, as described below.
      </p>
    </sec>
    <sec id="sec-4">
      <title>3. INTERFACING SERVICES</title>
      <p>In our scenario, all the devices located in an intelligent production
environment to be monitored and controlled already possess a
certain predefined set of well-defined service interfaces. The type
and communication channel of each service interface strongly
depend on the brand or manufacturer of the device. It is also
thinkable – as implemented in our demonstration environment –
that communication with several devices is encapsulated in or
delegated by other communication devices (e.g., Bluetooth
DataEagle, PLC, etc.), which is an attempt to homogenize most of
the service interfaces to be used. The UI device through which the
user should be able to control all these devices has to access all
these service interfaces.</p>
      <p>Since the intention was to provide a complete UI generation
process without manual intervention, the generator needs to know
how the respective service interfaces are accessed and how the
information needs to be structured when a certain user task is
executed. This means that all the information needed to construct
the entire UI must be included in the source model – the
roombased use model. Like this model, most of the current models
provide a detailed description of the human tasks that could be
performed, but make no statement about the service functions to
be executed.</p>
      <p>Existing technologies for describing graphical user interfaces
include, among others, the XML-based XML User Interface
Language [14] or SwixML [15]. These languages describe a user
interface and a specific generator creates the final user interface
from their description. This is a semiautomatic process and does
not fit our requirements, because with these languages, it is only
possible to describe the graphical user interface and there is no
information about accessing service interfaces. The result of such
approaches is a (compilable) UI source code, containing variation
points for manually inserting interfacing code. To meet this
challenge, we analyzed the interface definitions and extended the
useML model [13] with all the relevant information.</p>
    </sec>
    <sec id="sec-5">
      <title>3.1 Challenges</title>
      <p>For many reasons, the necessary information is not trivial to
provide, because of the communication diversity already
mentioned. Only because the application domain of our scenario
is restrictive in terms of possible communication ways as well as
other factors such as user roles can the risk of the already
introduced explosive diversity be handled.</p>
      <p>
        First, common task and domain models, which are usually
employed in model-based user interface development (MBUID)
processes, assume that all tasks can be canonically mapped to an
obvious domain data operation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Yet, in many real
environments, service interfaces as well as their manipulating
operations are not equivalent to the users’ tasks [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Therefore,
each task can be mapped to one (or a set of) operation(s), which
has to be done manually because in most the cases, the underlying
semantics are not machine-interpretable.
      </p>
      <p>useML
communication
protocol</p>
      <p>device list
expert knowledge</p>
      <p>final
user interface
software developer usability engineer</p>
      <p>user interface development process</p>
      <p>Second, the basic idea behind MBUID is to separate domain
knowledge from design knowledge. Thus, the idea is that domain
experts should be able to create a use model containing all the
users’ tasks, without having any knowledge about the
implementation of the final user interface. The generator includes
expert knowledge regarding the user interface design and
transforms the model into an efficient user interface. Including
information about the communication with an application’s
interface into the model would imply that the domain expert also
needs to have knowledge about some details of the user interface
implementation. Hence, the current workflow is visualized in
Figure 2, which shows, besides the three major input documents,
the roles of both the software developer (technical
implementation) and the usability engineer (expert knowledge in
design aspects). Among other risks (e.g., human errors), it is also
possible that when this process is applied twice using the same
documents, it can result in varying output (final user interface) in
several ways. This depends on several context factors during the
development process, such as the expert knowledge involved in
the process.</p>
    </sec>
    <sec id="sec-6">
      <title>3.2 Idea – Extending useML</title>
      <p>The solution we propose to meet these challenges is to completely
automate this process. Consequently, the documents describing
the functionality and the interfaces of the devices to be controlled
need to be formalized in a machine-interpretable way.
Additionally, the obstacle of automatically integrating the
necessary code fragments in order to establish communication
with the desired devices needs to be conquered. To achieve this
goal, we introduce an extension to the sophisticated useML
description. In the following, we will call this model the function
model. Each device compound (see Figure 1) possesses its own
function model, because is theoretically possible that each
compound needs to be addressed in a unique way. In detail, it
consists of two sections:</p>
      <p>Connection – including information about establishing
the connection to the device to be controlled
Data – a basic structure of the content of the
communication
•
•
•
•
•
•
•
•
One important aspect of this extension is the manner of
communication, which is described in the node connection. This
model was elicited from sample projects and implemented with
the use of the uniform resource identifier (URI) standard [16].
Hence, the general communication information can be stored in a
generic way. Therefore, it contains the following information:
Scheme – define the kind of communication and the
needed additional parameters
Host – the host to be addressed according to the scheme
Data-Reference – reference to the data structure that the
information needs to be encoded with
Priority – if multiple schemes are available, in order to
choose the most adequate one
Optionally, it is possible in our case to add parameters to describe
the communication in more detail, which is specific in our sample
environment:</p>
      <p>Device-Number – an unique number of the device to be
addressed
Device-Type – the concrete type of the device (e.g.
XYPump)
Now that a UI generator knows how to communicate with the
production environment, it is necessary to encode the transmitted
content as well as its semantic. In order to develop the appropriate
model, we analyzed sample device descriptions recorded in
spreadsheet files that contain the composition of Bluetooth
frames. In regular projects, Useware developers used these
documents to choose and adjust the widgets of the UI, but also to
code the action events and the communication with the
environment using the widespread Profibus protocol. This led to a
data model attached to each elementary use object. In accordance
with the message-based communication in the demonstration
environment, the data model provides information for processing
incoming frames and for constructing outgoing frames according
to the current user input. A data node in our model contains:
•</p>
      <p>Position – the
communication frame
starting
position
within
the
•
•
•
•
•
•
•
•</p>
      <p>Length – the number of the data blocks used for one
data set
Identifier – of the data set
DataFormat – basis of the interpretation of the content
Unit – human-understandable identifier of the data
content
ConversionFactor – if the content needs to be
postprocessed
RangeMin/RangeMax – boundary conditions of the
value
SignificantDigits – the number of the significant digits
StatusMessage – special device-dependent status
message encoded in one bitvector
Also, there are optional properties of the data model:
This data model in combination with the communication model
forms the integrated function model, which allows for deducting
from elementary use objects how certain bits of information need
to be transferred in order to execute the desired application logic.</p>
    </sec>
    <sec id="sec-7">
      <title>4. FEASABILITY STUDY –</title>
    </sec>
    <sec id="sec-8">
      <title>DEMONSTRATOR</title>
      <p>To show the feasibility of our approach and that of the function
model, we implemented a basic generator that accepts the
adjusted useML specification as input. In general, all elementary
use objects are mapped to an object that will be displayed on the
screen – the interpretation of task constellation towards widget
composition is still ongoing work. The device compound structure
of the room-based use model is canonically mapped to a
generated simple navigation structure on our sample UI. Thus, a
user is able to select a device of the compound and perform the
tasks as specified in the useML description. Generating a
functional UI was the major purpose of this rudimentary
generator. How the generator integrates the communication will
be elaborated in the following, where the universal control UI will
be considered a product of the generation process.</p>
      <p>In general, due to the structure of the extended useML, each
elementary use object possesses (if necessary) its own function
node, which is a link to a certain data entry in the function model
of its device compound. Thus, if the user interacts with the user
interface (triggering a particular elementary use object), we are
able to identify the corresponding function, extract the user data
from the user interface, and compose the communication frame
with the help of the function mode and vice versa.</p>
      <p>For the purpose of demonstration, we installed the user interface
generator on a Paceblade Slimbook P110 TabletPC [10]. This
device possesses a 12.1″ touch screen, which can be used without
keyboard or mouse.</p>
      <p>We analyzed the communication of our sample environment – the
SmartFactoryKL – and filled in the new models, which are now
part of the room-based use model. Figure 3 shows the universal
remote device (foreground) in action while controlling devices of
the SmartFactoryKL (background).</p>
    </sec>
    <sec id="sec-9">
      <title>5. CONCLUSION AND FUTURE WORK</title>
      <p>The result of our study is that it is feasible to provide all
information on a certain industrial production environment in
order to enable an automatic user interface generator to create a
functional user interface.</p>
      <p>But there are certainly some basic limitations. We extended a
given user interaction model with communication information,
because the application domain was clearly restricted. Thus, we
did not have to face the problem of combinational explosion
(restricted set of types of devices), which always occurs when
there are infinite options of combinations between devices,
communication channels, etc. On the contrary, in our
environment, there is a clearly defined and standardized
communication protocol and a predefined set of device types.
The advantage of our approach is that we facilitated the
development of a completely automated user interface generator
on the basis of only a user interaction model, an environmental
description, and the description of the manner of communication.
Furthermore, this allows for developing universal control devices
that are able to adapt to changing peripheral constellations and
always provide an adequate user interface.</p>
      <p>Since we now have an automated development process, it is our
vision to improve the usability of the generated user interface by
including a pattern repository that the generator can make use of.
This will lead to user interfaces providing holistic interaction
(look’n’feel) for the control of various devices. Beside other
effects, we expect to significantly reduce the number of human
errors that result from switching between different
interactionconcepts. Also, the reaction time in case of critical situations
might be reduced, which is vital in production environments.</p>
    </sec>
    <sec id="sec-10">
      <title>6. ACKNOWLEDGMENTS</title>
      <p>Our work as well as the GaBi project is funded in part by the
German Research Foundation (DFG).
[10] http://www.paceblade.com, last visited 23.09.08.
[14] https://developer.mozilla.org/en/XUL, last visited 23.09.08.
[15] http://www.swixml.org, last visited 23.09.08.
[16] Berners-Lee, T., Fielding, R., and Masinter, L. 1998 Uniform
Resource Identifiers (URI): Generic Syntax. RFC. RFC
Editor.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Adam</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Breiner</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mukasa</surname>
            <given-names>K.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Trapp</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <year>2007</year>
          .
          <article-title>Challenges to the Model Driven Generation of User Interfaces at Runtime for Ambient Intelligent Systems</article-title>
          . Workshop: Model Driven Software Engineering for Ambient Intelligence Applications, European Conference on Ambient Intelligence, Darmstadt.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Görlich</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Breiner</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <year>2007</year>
          .
          <article-title>Useware modelling for ambient intelligent production environments</article-title>
          . Workshop:
          <article-title>Model-Driven Development of Advanced User Interfaces</article-title>
          ,
          <source>MoDELS</source>
          <year>2007</year>
          , Nashville.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Görlich</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Breiner</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <year>2007</year>
          .
          <article-title>Intelligent Task-oriented User Interfaces in Production Environments</article-title>
          . Workshop: Model-Driven
          <string-name>
            <surname>User-Centric</surname>
            <given-names>Design</given-names>
          </string-name>
          &amp; Engineering, 10th IFAC/IFIP/IFORS/IEA Symposium on Analysis,
          <article-title>Design, and Evaluation of Human-Machine-</article-title>
          <string-name>
            <surname>Systems</surname>
          </string-name>
          , Seoul.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Bödcher</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mukasa</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Zühlke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <year>2005</year>
          .
          <article-title>Capturing Common and Variable Design Aspects for Ubiquitous Computing with MB-UID</article-title>
          .
          <source>In: Proceedings of the Workshop on Model Driven Development of Advanced User Interfaces</source>
          .
          <source>Montego Bay</source>
          , Jamaica.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Zuehlke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <year>2004</year>
          .
          <article-title>Useware-Engineering für technische Systeme</article-title>
          . Springer, Berlin.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Adam</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Breiner</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mukasa</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Trapp</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <year>2008</year>
          .
          <article-title>An Apartment-based Metaphor for Intuitive Interaction with Ambient Assisted Living Applications</article-title>
          .
          <source>22nd European Conference on Human-Computer Interaction HCI2008</source>
          , Liverpool.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Zühlke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Thiels</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <year>2008</year>
          .
          <article-title>Useware engineering: a methodology for the development of user-friendly interfaces</article-title>
          ,
          <source>in: Library Hi Tech</source>
          , Vol.
          <volume>26</volume>
          , No.
          <volume>1</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Hofmann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Holzkämper</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <year>2008</year>
          .
          <article-title>NEW HMI - Möglichkeiten und Grenzen abstrakt-geographischer Visualisierung in Bereich der Anlagensteuerung</article-title>
          . In: Brau,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Diefenbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Hassenzahl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Koller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Peissner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            and
            <surname>Röse</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          (Editors),
          <source>Usability Professionals</source>
          <year>2008</year>
          , pp.
          <fpage>204</fpage>
          -
          <lpage>208</lpage>
          , Fraunhofer IRB Verlag,
          <year>Sep 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Trapp</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <year>2008</year>
          .
          <article-title>Generating User Interfaces for Ambient Intelligence Systems</article-title>
          .
          <source>PhD-Thesis</source>
          , Software Engineering Research Group, University of Kaiserslautern.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>