<!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 Model Driven Engineering of Plastic User Interfaces</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jean-Sébastien Sottet</string-name>
          <email>jean-sebastien.sottet@imag.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gaëlle Calvary</string-name>
          <email>gaelle.calvary@imag.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jean-Marie Favre</string-name>
          <email>jean-marie.favre@imag.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CLIPS-IMAG, University of Grenoble</institution>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LSR-IMAG, University of Grenoble</institution>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Developing advanced User Interfaces (UI) is very challenging, in particular when many variants of a same UI are to be produced for different platforms. The development of plastic user interfaces is even more demanding. In Human Computer Interaction, plasticity denotes the capacity of a UI to withstand variations of the context of use while preserving usability. A context of use is a triplet &lt; user, platform, environment &gt;. Plasticity raises many issues for both the design and run time of UIs. This paper shows how Model Driven Engineering concepts can be used in this area.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The core idea of this paper is to investigate Model Driven
Engineering for the development and execution of plastic UIs. In
HCI, plasticity denotes the capacity of a UI to withstand
variations of context of use while preserving usability. A context
of use refers to the triplet &lt; user, platform, environment &gt;. With
ubiquitous computing, UIs are no longer confined in a unique
desktop, but they can be distributed or migrated among a dynamic
set of interaction resources. As a result, UIs must be mold
dynamically in order to adapt gracefully to the new context of use.
While product line approaches deal with the production of
variants of UIs (e.g., a UI specifically crafted for PC or PDA or
phone), plasticity is even more challenging coping with the
change of the context of use. The UI can fully migrate from one
platform to another one (e.g., from a PC to a PDA when the
battery of the PC gets low); the UI may be redistributed among a
set of platforms (e.g., a remote controller will migrate to a PDA)
or the UI may stay on the current platform but be remold in order
to accommodate to variations in the context of use (e.g.,
luminosity level). Adaptation should be done in an opportunistic
manner for preserving usability.</p>
      <p>While code-centric approaches might be suited for the
development of simple and single UIs, they simply fail for
developing plastic UIs. Many facets of the interactive system, in
particular its plasticity domain (i.e., the set of contexts of use it is
able to cover) must be modeled explicitly. This is what Model
Driven Engineering is suited for.</p>
      <p>
        Figure 1 shows an overview of a MDE framework based on the
European CAMELEON project [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] addressing the development of
Plastic UIs. A (simplified) version of this framework will be
shortly described in this paper. Each package on the first line
represents a metamodel (M2 level of the meta pyramid [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). As
the reader can see, many facets have to be made explicit (e.g., the
User, the Platform, …). The models representing a specific
interactive system fit in the M 1 level. In a given column, all
models conform to [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] the same metamodel. For clarity, mappings
and transformations are not shown in the figure.
      </p>
      <p>The paper is threefold. Section 2 focuses on the right part of
Figure 1, that is the development of "rigid" (i.e., not plastic) UIs.
Specific requirements for plasticity are described in Section 3 (left
part of Figure 1). Finally Section 4 concludes the paper.
Context of Use</p>
      <p>Property</p>
      <p>Domain</p>
    </sec>
    <sec id="sec-2">
      <title>2. MDE OF RIGID USER INTERFACES</title>
      <p>
        Before addressing the specific requirements for plasticity, let's see
how Model Driven Engineering can be used for the development
of classical rigid UIs by opposition to plastic UIs. This implies the
use of (1) a development process (or better said a family of
development processes), (2) a set of metamodels and (3) a set of
mappings and transformations. A more detailed discussion on this
approach can be found in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>2.1 Development Process</title>
      <p>
        Current industrial practices are still mostly code-centric (right
bottom of Figure 1). Conversely, Model Driven Engineering
processes are based on successive refinements of models, with the
integration of new information at each step [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Teresa [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and
UsiXML [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] exemplify forward engineering processes. They
consist in reifying models step by step from an entry point [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] (in
most cases, the task model) until reaching the final running
program. Typical development processes start from domain
models such as user tasks and concepts models. Then, based on
this knowledge and design choices, the UI is designed in terms of
workspaces, interactors and finally program elements dependent
on specific platforms and libraries. In practice, processes are
iterative rather than straightforward and the number of steps may
vary. Moreover as suggested by Figure 1, very often it is
necessary to adapt an initial model to the various constraints
introduced at each level. For instance an initial task model
(M1Tsk) might be tuned into another one (M1-Tsk') to take into
account constraints related to concrete library toolkits (M1-Tsk'').
      </p>
    </sec>
    <sec id="sec-4">
      <title>2.2 (Meta)Models for Rigid UI Engineering</title>
      <p>
        Metamodels are keys to Model Driven Engineering. To be
productive, each model must be accompanied with a precise and
explicit metamodel (otherwise the model cannot be interpreted
and transformed by a machine). The development of classical
rigid UIs implies five metamodels [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. A simplified backbone
composed of four metamodels is given in Figure 2. The mappings
between metamodels will be explained in the next section.
〈
〈
〈
〈
〈
      </p>
      <p>Task. A task describes how a user's objective can be reached
by following a given procedure. From a MDE point of view,
task models are trees made of binary and unary operators.
Concept. This model describes the domain of discourse.
Typically such models can be described using UML class
diagrams. These are usually referred as Domain Model in
Software Engineering and Product Line communities.</p>
      <p>
        Workspace. Also referred as Abstract User Interface [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], this
model describes the network of workspaces in which tasks
are performed.
      </p>
      <p>
        Interactor. Also referred as Concrete User Interface in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
this model can still be described in terms of abstract
Interactors. Various levels of abstraction can be considered
here.
      </p>
      <p>P r o g r a m . The last "models" are direct abstractions of
programs and/or other implementation techniques. Such
models are Platform Specific Models (PSM) in the MDE
jargon. They just represent the actual implementation of the
UI.</p>
      <p>Obviously, all models expressed with these metamodels should be
connected together because they just represent different points of
view on the same UI. Mappings and transformations are briefly
discussed in the next section.</p>
    </sec>
    <sec id="sec-5">
      <title>2.3 Mapping and Transformations</title>
      <p>
        With metamodels, mappings and transformations are the
cornerstones of MDE. Without them, all the models would be
isolated. Conversely, the idea is to incrementally transform
abstract models at high level of abstraction (Platform Independent
Models, PIM in MDE jargon) into Platform Specific Models. This
is obviously an over simplification. Monolithic code generators
are not suited for advanced user interfaces. MDE approaches are
based on libraries of small composable and extensible
transformations. The designer selects and if necessary tunes the
appropriate transformations. If no transformation is available, a
new one can be written thanks to transformation languages. It is
then added to a library for further use. In this way, expertise can
be captured and packaged into transformation libraries.
Quite often transformation engines are associated to specific
modeling environments based on a given set of metamodels for UI
development. This is the case for instance for TransformiXML
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] in the UsiXML environment. While this kind of approaches
is worth, it is specific to UI development. It does not cover the
whole software engineering process.
      </p>
      <p>
        The core idea of our approach is to use generic Model Driven
Engineering techniques and extensive libraries of metamodels.
This approach is being investigated in the Zooomm project [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
While emerging standards for expressing MDE transformations
are under active development (e.g. QVT), we investigate [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] the
appropriateness of the ATL generic MDE transformation
language [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] for plasticity. The following piece of code is an
example of transformation written in ATL. It describes very
simple rules transforming Tasks into Workspaces:
•
•
      </p>
      <p>The rule TaskToSpace creates one workspace w per user task
t. The workspace takes the name of the task;
The rule OrOperatorToSequence applies to the task model. It
transforms all OR operators o between two user tasks
( o . R i g h t T a s k ) into two sequence operators (from
o.motherTask to o.leftTask and o.leftTask to o.rightTask).
module M2TaskToM2Workspace {
from M1Task : M2Task
to M1Workspace : M2Workspace
-- One workspace for each task
rule TaskToSpace {
from t : M2Task!Task
to w : M2Workspace!Space (</p>
      <p>name &lt;- t.name
}</p>
      <p>)
...
-- OrOperator
rule OrOperatorToSequence{
from o : M2Task!BinaryOperator (</p>
      <p>o.name = "or"
)
to leftSequence : M2Workspace!Sequence (
origin&lt;- [Task2Space.e]o.motherTask,</p>
      <p>destination&lt;-[Task2Space.e]o.rightTask )</p>
    </sec>
    <sec id="sec-6">
      <title>3. TOWARDS MDE OF PLASTIC UI</title>
      <p>As shown on the left of Figure 1, additional models are necessary
for the engineering of plastic UIs.</p>
    </sec>
    <sec id="sec-7">
      <title>3.1 Additional (Meta)Models for Plastic UI</title>
      <p>For plasticity, we need additional metamodels for capturing both
the context of use and the usability of the interactive systems.
•
•</p>
      <p>
        User. This model represents the end-user of the interactive
system. It may capture general information (e.g., age,
gender), the skill level of the end-user (e.g. Rasmussen [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ])
in both computer science and in the applicative domain.
Environment. This model represents the physical (e.g., the
noise level), social conditions where the interaction takes
•
•
place. From an engineering perspective, the environment can
be modeled as a graph of contexts and situations [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
Additionally the model could contain social rules such as
"switch off the volume in a train", etc.
      </p>
      <p>
        Platform. This model exhibits the hardware and software
platform sustaining the interaction. It is fundamental when
considering redistributable UIs. The simple metamodel
below describes the hardware core elements of such a system
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Platform modeling is an important issue in Model Driven
Engineering, and expertise from this domain could be reused.
Usability. While some elements could be modeled in a single
package, existing frameworks (e.g., Scapin &amp; Bastien [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
IFIP [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]) show that many elements could be attached on
relations between models. For instance, the IFIP
observability property may be seen as a link between
concepts and concrete UI elements. If the concept is not
mapped on an UI element then it is not observable.
      </p>
    </sec>
    <sec id="sec-8">
      <title>3.2 Runtime Adaptation</title>
      <p>
        While models are mostly used at design time in MDE and
product-line engineering, plasticity may rely on an extensive use
of models at run-time. Moreover, all abstraction levels and
traceability links are required during execution to compute the
adaptation. For instance, moving a selection task from a PC to a
PDA is easier when reasoning at the task level rather than at the
implementation level. The corresponding interactors can be
simply found by following the mapping links [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Then for a
migration, a new set of program elements should be computed on
the target platform, and this through traceability links. Sometime
adaptation requires knowledge about the heuristics that were used
former design choices. For instance, some concepts could have
been suppressed for targeting small devices. These concepts
should be recovered when migrating to a more powerful device.
      </p>
    </sec>
    <sec id="sec-9">
      <title>4. CONCLUSION</title>
      <p>The use of models is not new in User Interface development. First
attempts have been directed towards full automatic generation of
UI code. Experience has shown that the resulting UIs were usually
poor in terms of usability. Moreover, the use of quite monolithic
code generators make it impossible to customize the interface
when needed and specific heuristics based on application domains
could not be integrated. Finally, existing environments were not
designed with interoperability in mind.</p>
      <p>The approach presented in this paper is quite different. Instead on
focusing on the user interface only, general Model Driven
Engineering techniques have been used. The key idea is to merge
experiences from both the MDE and the UI development
communities. Instead of developing specific model based tools
such as transformation languages for the development of UI,
reusing emerging MDE technologies is promising. First versions
might not be fully suited to UI development specificities, but if
this is the case, this would lead to new requirements for MDE.
The framework presented here is used both at design time and
run-time. This last point is quite innovative with respect to
rational MDE applications that consider platform migration as a
quite heavy development process.</p>
    </sec>
    <sec id="sec-10">
      <title>5. ACKNOWLEDGMENTS</title>
      <p>This work has been supported by the SIMILAR European
Network of Excellence.
6.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Myers</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hudson</surname>
            <given-names>S.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pausch</surname>
            <given-names>R</given-names>
          </string-name>
          .
          <article-title>"Past, Present, and Future of User Interface Software Tools"</article-title>
          ,
          <source>Transactions on Computer-Human Interaction (TOCHI)</source>
          , Vol
          <volume>7</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>1</given-names>
          </string-name>
          ,
          <fpage>2000</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Planet</surname>
            <given-names>MDE</given-names>
          </string-name>
          ,
          <article-title>"A Web Portal for the Model Driven Engineering Community"</article-title>
          http://planetmde.org
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Favre</surname>
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <article-title>"Foundations of Model (Driven) (Reverse) Engineering", Dagsthul Seminar on Language Engineering for Model Driven Development</article-title>
          , DROPS, http://drops.dagstuhl.de/portals/04101, 2004
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Favre</surname>
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <article-title>"Foundations of the Meta-pyramids: Languages and Metamodels"</article-title>
          , DROPS, http://drops.dagstuhl.de/portals/04101, 2004
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Calvary</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Coutaz</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Thevenin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Limbourg</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouillon</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanderdonckt</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <article-title>"A Unifying Reference Framework for MultiTarget User Interfaces</article-title>
          ,
          <source>Interacting With Computers</source>
          ,
          <year>2003</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Sottet</surname>
            <given-names>J.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvary</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Favre</surname>
            <given-names>J.M.</given-names>
          </string-name>
          , "Ingénierie de l'
          <article-title>Interaction Homme-Machine Dirigée par les Modèles"</article-title>
          ,
          <source>IDM05</source>
          , Paris,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Scapin</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bastien</surname>
            ,
            <given-names>C.H.</given-names>
          </string-name>
          ,
          <article-title>"Ergonomic Criterias for Evaluating the Ergonomic Quality Interactive Systems." Behaviour and Information Technologies</article-title>
          , Vol
          <volume>16</volume>
          ,
          <year>1997</year>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Abowd</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Coutaz</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nigay</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <article-title>"Structuring the Space of Interactive System Properties"</article-title>
          ,
          <source>Proceeding of the IFIP</source>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Demeure</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvary</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sottet</surname>
            <given-names>J.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanderdonkt</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <article-title>"A Reference Model for Distributed User Interfaces"</article-title>
          , TAMODIA'
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Limbourg</surname>
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanderdonckt</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Michotte</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouillon</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Florins</surname>
            , M. Trevisan
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>"UsiXML: A User Interface Description Language for Context-Sensitive User Interfaces"</article-title>
          ,
          <source>AVI</source>
          <year>2004</year>
          , Gallipoli,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Mori</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paternò</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santoro</surname>
            <given-names>C</given-names>
          </string-name>
          .
          <article-title>"Design and Development of Multidevice User Interfaces through Multiple Logical Descriptions" IEEE Transactions on Software Engineering</article-title>
          ,
          <year>August 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Limbourg</surname>
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanderdonckt</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Michotte</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouillon</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>LopezJaquero</surname>
          </string-name>
          , V.,
          <article-title>"UsiXML: a Language Supporting Multi-Path Development of User Interfaces", 9th IFIP Working Conference on Engineering for Human-Computer Interaction EHCI 2004</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Nunes</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cunha</surname>
            <given-names>J.F</given-names>
          </string-name>
          ,
          <article-title>"Toward Flexible Automatic Generation of User-Interface via UML and XMI"</article-title>
          , 5th Workshop Iberoamericano de Ingenieria de Requisitos y Ambientes Software,
          <source>IDEAS 2002</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Zooomm</surname>
          </string-name>
          ,
          <article-title>"Zooomm, The International ZOO Of MetaModels, Schemas and Grammar for Software Engineering”</article-title>
          , http://zooomm.org
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Mori</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paternò</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santoro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          “
          <article-title>Tool Support for Designing Nomadic Applications”</article-title>
          <source>Proceedings ACM IUI'03</source>
          ,
          <string-name>
            <surname>Miami</surname>
          </string-name>
          , pp.
          <volume>141</volume>
          ACM press
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Limbourg</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          <article-title>"Multi-path Development of User Interfaces"</article-title>
          ,
          <source>PhD</source>
          of University of Louvain La Neuve, Belgium,
          <year>2004</year>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Crowley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Coutaz</surname>
          </string-name>
          , G. Rey,
          <string-name>
            <given-names>P.</given-names>
            <surname>Reignier Perceptual</surname>
          </string-name>
          <article-title>Components e for Context-Aware Computing</article-title>
          ,
          <string-name>
            <surname>UbiComp</surname>
          </string-name>
          <year>2002</year>
          :, Göteburg, Sweden Sept./Oct. 2002
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Rasmussen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>1983</year>
          ).
          <article-title>Skills, rules, and knowledge; signals, signs, and symbols; and other distinctions in human performance models</article-title>
          .
          <source>IEEE Transactions on Systems, Man, and Cybernetics</source>
          , SMC-
          <volume>13</volume>
          ,
          <fpage>257</fpage>
          -
          <lpage>266</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>