<!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>Transforming a Discourse Model to an Abstract User Interface Model</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sevan Kavaldjian</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cristian Bogdan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jürgen Falb</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hermann Kaindl</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>kavaldjian</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>bogdan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>kaindl}@ict.tuwien.ac.at</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Vienna University of Technology Institute of Computer Technology A-1040 Vienna</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        In previous work [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], we have already been able to
automatically generate usable user interfaces (UIs), even for
multiple devices and for real-world applications. We
generated such UIs from models, but since these models included
nite-state machinery they were more in the spirit of
abstract UIs rather than high-level interaction design.
      </p>
      <p>More recently, in the OntoUCP1 project, we wanted to
work with models that are more understandable to and
possibly more easily to build for humans. Therefore, we studied
several theories of human communication from various elds.
Based on insights from some of these theories, we focus on
high-level speci cations of discourse in the form of models.
These models specify discourse in the sense of dialogues,
where monologues are embedded and connected.</p>
      <p>From our previous work, we inherit the use of
communicative acts (and references to domain knowledge).
Communicative acts are derived from Speech Act Theory and
express intentions in the sense of desired e ects on the
environment.</p>
      <p>By integrating communicative acts with some results from
Rhetorical Structure Theory (RST) and Conversation
Analysis, we developed a new discourse metamodel. The
meta1OntoUCP (A Uni ed Communication Platform both for
Machine-Machine and Human-Machine Interaction based on
Ontologies), partially funded by the FIT-IT Program of the
Austrian FFG as project number 809254/9312. We also
acknowledge the ( nancial) support of the PSE division of
Siemens AG Osterreich.
model de nes what the discourse models should look like in
our approach.</p>
      <p>So, we strive for high-level modeling of discourse,
including dialogues. Such a discourse model is inspired by human
communication and serves as an interaction design for a
traditional information system. Currently we do not support
the generation of UIs with direct manipulation.</p>
      <p>From such an interaction design, user interfaces for several
devices are to be generated automatically. Since we knew
already how to generate them from a kind of abstract UI
model, we strived for generating an abstract UI from our
new interaction design models. We explain our model-driven
transformation approach on the basis of our metamodels and
self-de ned transformation rules.
2.</p>
      <p>TRANSFORMATION APPROACH</p>
      <p>Our approach to fully automated UI generation is a
twostep process illustrated in Figure 1. Model-to-model and
model-to-code transformations are necessary to transform a
discourse model to an abstract UI model and the abstract
UI model to multiple concrete UIs for diverse platforms. In
the following, we will explain the input (discourse model
structure), the output (structure of the abstract UI model)
and the transformation rules for the model-to-model
transformation step.</p>
      <p>Our discourse models use a self-de ned Domain Speci c
Language (DSL) for specifying the classes of possible
dialogues or interactions between the human and the machine.
The abstract syntax of the DSL is based on the metamodel
shown in Figure 2, which illustrates the used concepts.
Every discourse is composed of a tree where leaf nodes are
Communicative Acts and inner nodes are Rhetorical
Relations based on RST. The conceptual UML class diagram
Discourse
Model
relates &gt;
+rootNode 1
shown in Figure 2 is not as restrictive as our interpretation,
since it allows to create other kinds of graphs besides tree
structures. The association class is needed to model the
inserted sequence.</p>
      <p>The Communicative Acts are used to model the intention
of a communication and refer to elements of the domain of
discourse. Figure 3 shows a selection of the most
important Communicative Acts used in our approach. Two
corresponding Communicative Acts, like O er and Accept, form
a sequence, which is called Adjacency Pair. The Adjacency
Pairs build up the dialogue structure.</p>
      <p>Node
Communicative Act
+ contentCondition:
+ degreeOfStrength:
Assertion</p>
      <p>Directive</p>
      <p>Commissive
Informing</p>
      <p>Answer</p>
      <p>Question</p>
      <p>Request</p>
      <p>Accept</p>
      <p>Offer
isadjacent to
isadjacent to
isadjacent to</p>
      <p>
        The Rhetorical Relations are used to connect
Communicative Acts or Rhetorical Relations with each other. They
represent the dependencies between single interactions of
dialogues. More detailed information about our discourse
metamodel can be found in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Figure 4 shows a small part of an online shop discourse
model, that is typical for discourse models and which we
will use as a running example throughout the paper. The
example describes the interaction between the user and the
online shop. The nucleus branch N of the Background
relation conveys the main interaction sequence. The online shop
system o ers a list of product categories to the user. The
user accept s one of them. During the o ering process the
satellite branch S provides background information about
the product categories to the user. This part of an online
shop discourse model gets transformed to the abstract UI
model shown in Figure 5 by applying the rules Adjacency
Pair, O er-Accept and Informing in the listed order.
Details on each rule are described below.</p>
      <p>The abstract UI model is basically a tree representing the
UI structure. It is not completely independent of the target
device, since the device's real estate is considered for
building up the abstract UI structure. However, our abstract
user interface is completely independent of the considered
UI toolkit (e.g. Web, Java Swing, etc.). This tree
structure will be transformed to a toolkit-speci c concrete UI.
The concepts which are used in an abstract UI model are
speci ed in the abstract UI metamodel shown in Figure 6.
The most important concept of the metamodel is the
Widget class. It is specialized into two functional categories,
the OutputWidget s which have the function of only
presenting information and the InputWidget s which have the
function of presenting and gathering information from the user.
Thus, they are actually input/output widgets, but Figure 6
puts the focus on gathering information.</p>
      <p>Style
Textbox
+style
0</p>
      <p>Widget +elements
++ vniasmibele:: inintt[[00..11]]{{oorrddeerreedd}} 0. *
+widgets +sc0r.e*ens 0. *</p>
      <p>Panel
+ layout: int [0. 1] {ordered}</p>
      <p>The main issue that we address in this paper is how to
transfer models as exempli ed in Figure 4 to user interface
models at the abstract widget level. In particular, it means
a transformation from a mainly declarative model to a user
interface featuring procedural behaviour.</p>
      <p>The general principle behind our approach is that the
abstract UI model is made up of \presentation" units that are
set visible when the logic of the interaction with the user so
requires. Once this principle is established, our problem can
be speci ed as follows:</p>
      <p>
        Given a discourse tree with communicative acts as
leafs, generate the possible set of presentation units,
and the transitions between these presentation units.
Since a presentation unit has to be a coherent
discourse, it corresponds to a subtree of the overall
discourse tree. As such, we call this problem the discourse
tree partitioning problem. This problem and a solution
to it is described in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Given a presentation unit as a discourse subtree,
generate an abstract UI model based on heuristic rules.
Since this e ectively \pre-renders" a discourse tree into
an abstract UI model, we call this problem the
prerendering problem.</p>
      <p>In the abstract UI model, a complete tree or subtree with a
Panel as root element represents a presentation unit. Hence,
a complete abstract UI model can be a forest. Our
example in 4 represents exactly one presentation unit that
corresponds to the tree shown in Figure 5.</p>
      <p>Figure 7 illustrates that the transformation is ful lled by
mapping elements of the discourse metamodel to elements of
the abstract UI metamodel. Both metamodels are based on
the Ecore2 meta-metamodel. Transformation languages like
the ATLAS Transformation Language (ATL) support this
transformation concept. At the same time a state machine is
derived from the discourse model which controls the sending
and receiving of Communicative Acts.</p>
      <p>Ecore
Instance of</p>
      <p>Instance of
Discourse Metamodel mapping
Instance of</p>
      <p>Instance of
Discourse Model
transformation</p>
      <p>After having introduced the general transformation
principles, we concentrate only on the pre-rendering problem in
the remainder of this paper and introduce some rules that
are speci c to certain structural patterns occurring in the
discourse models. We have found many such patterns
during our modeling experience, and we continue to nd new
2Essential MOF like core meta model of the Eclipse
Modeling Framework (http://www.eclipse.org/emf/)
ones. Due to limited space, we only exemplify ve rules
which we believe illustrate the principle.</p>
      <p>Heavy Background Rule: Figure 8 shows a rule for a
\Heavy Background" relation, relating a large satellite
subtree with a nucleus subtree. The \nuclear" part is rendered
directly, but if there is no space for its background
information (which is presumed to be heavy for this rule to apply),
the background information is rendered in a separate
presentation unit, to which a link is presented.</p>
      <p>Discourse Model
Background</p>
      <p>S N
heavy
subtree
subtree</p>
      <p>Concrete UI</p>
      <p>Light Background Rule: Figure 9 shows another rule
for a Background relation on an interface. The satellite is
rendered on the right side of the presentation unit, while
the nucleus occupies the left area. In accordance to the
rule above, the \most nuclear part" takes the interface space
that is of highest surface and most central to the user focus.
This rule is used in our example to generate the basic tree
structure of Figure 5. The Light Background Rule can also
be localized (adapted), e.g., for cultures that write from right
to left, where it may be more suitable to place the satellite
at the left side.</p>
      <p>Discourse Model
Background</p>
      <p>S N
light
subtree
subtree</p>
      <p>Panel
( ow layout)</p>
      <p>Widget
(nucleus)
Widget
(satellite)</p>
      <p>Concrete UI</p>
      <p>x
widget for widget for
nucleus N satellite S
(in most (in most
cases a cases a
panel) panel)</p>
      <p>Adjacency Pair Rule: Every adjacency pair is
transformed to a Panel element of the abstract UI model
containing widgets according to the actual related communicative
acts. In our example, the rst panel on the second level in
Figure 5 results from the O er-Accept adjacency pair. If a
communicative act does not take part in an adjacency pair,
as it is the case with the Informing in Figure 4, a Panel
element is also created for the communicative act.</p>
      <p>O er-Accept Rule: Every O er -Accept adjacency pair
is transformed either to a Button element or to a ListWidget
element containing a Button element depending on the
number of content elements o ered. Because our example o ers
more than one product category, the ListWidget element is
needed to model an unde ned number of categories. Since
the acceptance of an O er requires a user action, a Button
element is used.</p>
      <p>Informing Rule: Every Informing communicative act is
transformed either to a Label element or to a ListWidget
element containing a Label element, depending on the number
of content elements o ered. This rule assumes that the
information will be forwarded in textual form, otherwise, e.g.,
a PictureBox or Audio element will be used. In the online
shop example, Label elements are used.</p>
      <p>
        More detailed information about the automatic generation
that is used as a basis for this approach can be found in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
and [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>RELATED WORK</title>
      <p>
        Model-based UI design methods developed and published
in the nineties including OVID [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], STUDIO [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], Idiom [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
and Point-of-View Analysis [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] focus on creating di erent
kinds of models, like user's conceptual models, task
models and interaction models. Unlike our approach, which is
model-driven, all the mentioned approaches above are
modelbased. That is, they allow expressing an interactive system
by abstract models in a rst step and use them in an
informal process or in a sequence of systematic steps to construct
a concrete user interface.
      </p>
      <p>In contrast, UI Frameworks like XUL3 (XML User
Interface Language) are able to generate UIs automatically but
they rely on UI models at the abstract widget level, which
is on a lower level than our discourse models.</p>
      <p>
        An advanced approach to specifying multi-device user
interfaces based on task models instead of discourse models
is presented in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The basic approach is to start
modeling tasks and to generate user interfaces for diverse devices
according to speci c device characteristics. In contrast to
our approach, some of the transformations between models
are done semi-automatically or manually. The
transformations are implicitly coded in the system, there is no genuine
transformation engine like ATL or ATOMS3.
      </p>
      <p>
        Florins et.al. describe in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] transformation rules for
pagination of UIs on di erent levels. In our approach, we
support splitting only while transforming the abstract UI model
to the concrete UI, but partitioning our discourse model in
presentation sets in the rst transformation step provides
important guidance for pagination [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Botterweck shows in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] a model-driven approach that
starts on the abstract UI level, but contains rich procedural
UI descriptions together with UI elements. Thus, it requires
UI modeling as well as dialogue modeling.
      </p>
    </sec>
    <sec id="sec-3">
      <title>CONCLUSION</title>
      <p>In this paper, we present a new approach to generating
abstract user interface models by applying model-driven
transformations to discourse models. Our discourse models are
derived from results of human communication theories,
cognitive science and sociology and are used for specifying
interaction design of human-computer interaction of information
systems. Thus, they contain additional metainformation,
like the intention of an interaction, which allows us to
dene sophisticated pre-rendering rules to transform the
discourse models to abstract UI models. Our transformation
takes already device constraints into account to generate a
UI structure well suited for the target device, but the
resulting abstract UI models are still independent of UI toolkits.
Taking this together with our previous work on
automatically generating concrete UIs, this paves the way for
automatic generation of concrete UIs from our new interaction
design models.</p>
    </sec>
    <sec id="sec-4">
      <title>REFERENCES</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bogdan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Falb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Kaindl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kavaldjian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Popp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Horacek</surname>
          </string-name>
          , E. Arnautovic,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Szep</surname>
          </string-name>
          .
          <article-title>Generating an abstract user interface from a discourse model inspired by human communication</article-title>
          .
          <source>In Proceedings of the 41th Annual Hawaii International Conference on System Sciences (HICSS-41)</source>
          , Piscataway, NJ, USA, to appear
          <year>2008</year>
          . IEEE Computer Society Press.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Botterweck</surname>
          </string-name>
          .
          <article-title>A model-driven approach to the engineering of multiple user interfaces</article-title>
          .
          <source>In Proceedings of the MoDELS'06 Workshop on Model Driven Development of Advanced User Interfaces</source>
          , Genova, Italy, Oct.
          <year>2006</year>
          .
          <article-title>CEUR-WS.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Browne</surname>
          </string-name>
          . STUDIO:
          <article-title>STructured User-Interface Design for Interaction Optimisation</article-title>
          . Prentice Hall, Englewood Cli s, NJ, USA,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Falb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Kaindl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Horacek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bogdan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Popp</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Arnautovic</surname>
          </string-name>
          .
          <article-title>A discourse model for interaction design based on theories of human communication</article-title>
          .
          <source>In CHI '06 extended abstracts on Human factors in computing systems CHI '06</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Falb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Popp</surname>
          </string-name>
          , T. Rock,
          <string-name>
            <given-names>H.</given-names>
            <surname>Jelinek</surname>
          </string-name>
          , E. Arnautovic, and
          <string-name>
            <given-names>H.</given-names>
            <surname>Kaindl</surname>
          </string-name>
          .
          <article-title>Using communicative acts in interaction design speci cations for automated synthesis of user interfaces</article-title>
          .
          <source>In Proceedings of the 21th IEEE/ACM International Conference on Automated Software Engineering (ASE'06)</source>
          , pages
          <fpage>261</fpage>
          {
          <fpage>264</fpage>
          ,
          <string-name>
            <surname>Piscataway</surname>
          </string-name>
          , NJ, USA,
          <year>2006</year>
          . IEEE Computer Society Press.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Falb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Popp</surname>
          </string-name>
          , T. Rock,
          <string-name>
            <given-names>H.</given-names>
            <surname>Jelinek</surname>
          </string-name>
          , E. Arnautovic, and
          <string-name>
            <given-names>H.</given-names>
            <surname>Kaindl</surname>
          </string-name>
          .
          <article-title>Fully-automatic generation of user interfaces for multiple devices from a high-level model based on communicative acts</article-title>
          .
          <source>In Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS-40)</source>
          , Piscataway, NJ, USA,
          <year>Jan 2007</year>
          . IEEE Computer Society Press.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Florins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Simarro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Michotte</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Michotto</surname>
          </string-name>
          .
          <article-title>Splitting rules for graceful degradation of user interfaces</article-title>
          .
          <source>In AVI '06: Proceedings of the working conference on Advanced visual interfaces</source>
          , pages
          <volume>59</volume>
          {
          <fpage>66</fpage>
          , New York, NY, USA,
          <year>2006</year>
          . ACM Press.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Mori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Paterno</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Santoro</surname>
          </string-name>
          .
          <article-title>Design and development of multidevice user interfaces through multiple logical descriptions</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>30</volume>
          (
          <issue>8</issue>
          ):
          <volume>507</volume>
          {
          <issue>520</issue>
          , 8
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Roberts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Berry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Isensee</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mullaly</surname>
          </string-name>
          .
          <article-title>Developing software using OVID</article-title>
          .
          <source>IEEE Software</source>
          ,
          <volume>14</volume>
          (
          <issue>4</issue>
          ):
          <volume>51</volume>
          {
          <fpage>57</fpage>
          ,
          <string-name>
            <surname>July-Aug</surname>
          </string-name>
          .
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Robertson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Carroll</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Mack</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. B.</given-names>
            <surname>Rosson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Alpert</surname>
          </string-name>
          , and J.
          <string-name>
            <surname>Koenemann-Belliveau</surname>
          </string-name>
          .
          <article-title>A self-guided, scenario-based learning environment for object-oriented design principles</article-title>
          .
          <source>In Proceedings of OOPSLA 94</source>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>M. van Harmelen</surname>
          </string-name>
          .
          <article-title>Object oriented modelling and speci cation for user interface design</article-title>
          .
          <source>In Interactive Systems: Design, Speci cation and Veri cation</source>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>