<!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>Metamodel-based definition of interaction with visual environments¤</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Esther Guerra</string-name>
          <email>eguerra@inf.uc3m.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>General Terms Design, Human Factors</institution>
          ,
          <addr-line>Theory</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Juan de Lara Universidad Aut o ́noma Dep.</institution>
          <addr-line>Computer Science Madrid</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Paolo Bottoni University “La Sapienza” Dep.</institution>
          <addr-line>Computer Science Rome</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Universidad Carlos III Dep.</institution>
          <addr-line>Computer Science Madrid</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2002</year>
      </pub-date>
      <abstract>
        <p>Metamodel approaches to building visual environments are becoming common in the ¯eld of domain speci¯c visual languages, mainly focusing on the de¯nition of visual editors and of simulation environments. Recent e®orts tackle the generation of complex interaction management both in the editing and in the executing phases. We present an approach to interaction speci¯cation which takes into account metamodel information both on the objects that can be manipulated and on the spatial relations among them. Interaction dynamics are de¯ned through a visual, declarative and formal notation based on graph grammars.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Categories and Subject Descriptors</title>
      <p>Software [SOFTWARE ENGINEERING]: Design Tools
and Techniques|User Interfaces</p>
    </sec>
    <sec id="sec-2">
      <title>1. INTRODUCTION</title>
      <p>
        Metamodelling frameworks for diagrammatic languages
definition and management are particularly exploited to
construct environments for Domain Speci¯c Visual Languages
(DSVLs), as they allow a rapid implementation of visual
environments based on some abstract notion of visual
entities and of relations among them [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]. These environments
must support interaction to create visual sentences in the
de¯ned language and to manipulate the entities in them. The
di®erent interaction techniques should be constrained to
allow only transformations complying with the metamodel.
However, current approaches rely on standard forms of
interaction, typically recurring to mechanisms provided by the
implementation language, with little or no formal reference
to the metamodel. This imposes rigidities on the possible
interactions, or forces to explicitly programming the di®erent
alternatives for activating the same transformation.
We propose here the integration of a metamodel for
interaction { I { with one for diagrammatic languages { D { thus
decoupling the de¯nition of low-level user-generated events
from that of abstract high-level visual actions, to be served
with reference to the constraints embodied in D. To this
end, we rely on previous work separately developed by the
authors aimed at de¯ning metamodels for diagrammatic
languages syntax and semantics [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and integrating some level
of formality in the management of user interactions [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In
particular, we exploit the notion of family of diagrammatic
languages [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ] and put it to work in combination with
event-driven grammars [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which were originally not related
to the management of spatial relations. This kind of graph
grammars supports a strati¯ed view of interaction events
where patterns of user-generated events can be mapped to
more re¯ned high-level ones, which can in turn produce
cascading e®ects. This allows a complete con¯gurability of the
user interface, so that di®erent styles of interaction can be
used to produce the same e®ect, or a same user-generated
event can produce di®erent e®ects, according to the interface
modality. Relations between low- and high-level events can
be dynamically modi¯ed by substituting a grammar with
another, without having to reprogram the event listeners.
Paper organization. After presenting related work on
formal de¯nition of user interaction in Section 2, we discuss the
integration of the I and D metamodels in Section 3. Section
4 presents event-driven graph grammars and discusses their
use to manage di®erent levels of abstraction in event
de¯nition. Finally, Section 5 presents an application to the
management of the containment relation between nested states
in a simple variant of Statecharts, while Section 6 draws
conclusions and points to directions for future work.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2. RELATED WORK</title>
      <p>
        A formal model of interactive tasks and components must lie
at the basis of every proposal for their integration and
management. We do not consider here task-related formalisms,
such as ConcurTaskTrees [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and concentrate on models of
components and abstract interaction.
      </p>
      <p>
        Models of interaction control are either centralized, with
some high-level machine driving legal interaction, (e.g. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]),
or distributed, by associating with every interactive
component its own control mechanism. A formal approach to the
de¯nition of centralized interaction control is proposed in
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], leading to the de¯nition of veri¯able ¯nite state systems
from a Visual Event Grammar. An important e®ort in the
direction of distributed control is the proposal of Interactive
Cooperative Objects (ICOs) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], which encapsulate state and
behaviours, modelled through Petri nets, of Virtual Reality
objects with reference to the events that can have e®ect
on them and the way in which they react to these events
(business logic processes and rendering algorithms). ICOs
abstract from the speci¯c devices through which events are
produced, by mapping generated events to services
managing them.
      </p>
      <p>
        The Abstract User Interaction (AUI) approach to
graphical user interfaces [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] maps concrete user interactions,
depending on di®erent devices and style choices, to abstract
ones. Realisations of concrete interaction techniques for an
abstract interaction are provided on request, in a lazy
functional style. The consequences of an interaction are
modelled through calls to external functions. AUI is mainly
aimed at device-independence, but still attaches
computations to low-level events. In a similar way, [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] proposes an
abstract de¯nition of interface components as composition
of platform independent widgets and views, to be mapped
to their concrete realisation on a platform dependent model.
While we capitalize on the distinction between concrete and
abstract events, we allow for a wider scope of supported
interactions, as we rely on a metamodel including the base
classes for the visual elements in a DSVL, for the spatial
relationships between these elements, and for the GUI
elements with which the end user can interact, as well as classes
for the di®erent kinds of events and actions. Having an
explicit representation of actions resembles the concept of
\action languages", which are becoming popular to express
the semantics of metamodel-based languages [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. However,
our approach adds °exibility in that modelling the
semantics of events by means of graph grammar rules allows the
expression of complex conditions on their management as
subgraphs in the left-hand side of a rule.
      </p>
    </sec>
    <sec id="sec-4">
      <title>3. METAMODEL INTEGRATION</title>
      <p>
        In a diagrammatic language, signi¯cant spatial relations
exist among identi¯able elements. The latter are recognizable
entities in the language, to which a semantic role can be
associated, each element being univocally materialized by
means of a complex graphic element. Each such element is
composed in turn of simpler graphic elements, each
possessing one or more attach zones, which de¯ne its availability
to participate in di®erent spatial relations, such as
containment or touching. The existence of a spatial relation with
semantic relevance between two elements is assessed via the
predicate isAttached() implemented by each realisation of
AttachZone. Figure 1 shows the metamodel D including
these concepts. For space constraints, an abridged version
is presented (for a complete presentation, see [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]). In
particular, we restrict our analysis to direct spatial relations,
which are here always regarded as binary, without
considering emergent relations, such as those derived from closure
of direct ones. A visual environment also contains GUI
elements, e.g. buttons. Typically, an automatically generated
environment would contain a button for creating each
element of the DSVL alphabet §, as well as buttons for
performing visual actions (e.g. selecting, moving or deleting).
In order to relate interaction concepts with those in D, we
introduce a notion of interaction support. Low-level events
generated on an interaction support are thus related to the
corresponding visual element. Their e®ects can extend to
other elements, for example by navigating spatial relations.
Figure 2 shows the metamodel I for interaction. Low-level
events are received by some interaction support. Let § be
the set of IdentifiableElement concrete subclasses. A
typical set of low-level events for § is Low = fclick &lt;
X; x; y; time &gt; [mod](¾); drag &lt; X; x; y; time &gt; [mod](¾);
drop &lt; X; x; y; time &gt; [mod](¾)g, where [mod] indicates
some combination of key modi¯ers and X, x, y, and time
indicate a mouse button, a screen position and a time
respectively. Moreover, general scope events can occur on the
canvas on which visual entities are depicted or on the GUI
elements. The actual set of events depends on the
characteristics of the underlying event support system.
      </p>
      <p>At a higher level, a set Act of visual actions de¯nes the
types of signi¯cant interactive actions a user can perform,
again related to the identi¯able elements to be
manipulated. Typically, Act is such that 8¾ 2 §, Act ¾ fcreate(¾),
swapSelect(¾), delete(¾), move(¾), resize(¾), query(¾)g,
having omitted action-speci¯c parameters. Act can be
recursively enriched by letting designers de¯ne new types of
actions, based on events in Low and Act.</p>
      <p>We introduce a new type of high-level events for spatial
relations, such that a (direct) spatial relation can be brought to
bear, or cease to exist, between two identi¯able elements, as
an e®ect of such events, constituting a set RelAct. Let £ be
the set of subtypes of SpatialRelation. We have that 8µ 2
£; 8¾1; ¾2 2 § such that instances of µ relate pairs of type
(¾1; ¾2), RelAct ¾ finstall(µ; ¾1; ¾2); remove(µ; ¾1; ¾2)g. We
adopt here event-driven graph grammars both to describe
the mapping of user-generated events (in Low) to high-level
events (in Act [ RelAct) and to specify their e®ects.
4.</p>
    </sec>
    <sec id="sec-5">
      <title>EVENT-DRIVEN GRAPH GRAMMARS</title>
      <p>
        Event-driven graph grammars were proposed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] as a
means to handle user interaction in the editing phase. They
make the events that the visual elements can receive explicit,
and model the actions to be done upon event generation via
rules. An event-driven grammar is made of pre-rules and
post-rules to be applied before and after the event is
actually executed, and complements the DSVL metamodel with
interaction dynamics.
      </p>
      <p>Event management occurs in ¯ve steps. First, the user
generates an event on an interaction support, which is attached
to the associated element. Then, pre-rules are executed as
long as possible. They can modify model elements and
produce and delete events. Hence, they can be thought of as
pre- conditions (failing which the event is deleted and not
executed) and pre-actions for a given event. In the third step,
the existing event(s) are actually executed. At this point,
zero or more events may be associated to various model
elements. In the fourth step, the post-rules are executed as
long as possible. Finally, the events are deleted.
Event-driven rules may contain instances of abstract classes
in their left and right hand sides (LHS and RHS
respectively). Although no instance of abstract classes can be
present in the model, \abstract objects" in rules can be
matched to any concrete subclass instance. This feature
makes rules more compact and reusable. For example, rules
specifying the behaviour of Containers will be valid for any
language containing entities that inherit from this class.
Figure 3 shows a pre-rule that transforms a low-level event
into a visual, high-level action, modelling entity movement
in a drag and drop interaction modality. We use a compact
notation for the rules, in which LHS and RHS are presented
together. The elements to be added by the rule application
are shown in bold, and those to be removed in dashed lines.
For rules with negative application conditions (NACs), the
elements that should not be present are shown in a gray
area. Finally, if an attribute of an entity is modi¯ed, its
value appears as a tuple containing the values before and
after the rule application.</p>
      <p>Figure 3 shows a pre-rule checking whether some identi¯able
element has received a Drop low-level event in its interaction
support, while the \select" button in the user interface is
selected. In this case, it generates a Move high-level visual
action associated with the element. This rule uses \abstract
objects" and therefore is valid for any DSVL environment.
Event-driven rules can model other interaction modalities
(like point and click or grasp and stretch) rewriting patterns
of low-level events into high-level actions. Figure 4 shows a
set of rules modelling a point and click behaviour for moving
entities,. The user has already entered the MOVE modality
by selecting the corresponding button, which provokes the
deselection of any selected identi¯able element in the canvas.
The ¯rst rule selects the clicked element and deletes the click
event. The second rule looks for a click event which is not
associated to the interaction support area of any element
(i.e. the click was on the canvas), and then generates a
Move visual action associated with the selected element.
When generating an environment, the DSVL designer can
choose between these interaction modalities. In addition,
the high-level actions can be interpreted in di®erent ways
by di®erent sets of rules, providing an additional degree of
customization, as shown in the next Section.</p>
    </sec>
    <sec id="sec-6">
      <title>5. AN EXAMPLE: MANAGING CONTAIN</title>
    </sec>
    <sec id="sec-7">
      <title>MENT IN STATECHARTS</title>
      <p>
        In this Section we show how to customize containment
handling in an environment for a simpli¯ed version of
Hierarchical State Machines, de¯ned by the metamodel of Figure 5.
The visual entities re¯ne the relevant classes of
containmentand connection-based families of languages [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In
particular, a State may act both as a container for other states, and
as source or target of a connection (the Transition). Class
Substate is introduced as a specialization of Contains, whose
instances relate pairs of instances of State.
      </p>
      <p>The DSVL designer can con¯gure speci¯c behaviours for
handling the di®erent spatial relations (containment,
alignment, adjacency, etc.) We present an example where we
model di®erent behaviours that may occur when one
element is moved outside a container. In the ¯rst one, the
containee is disconnected from the container. In the second,
the container is resized to accommodate the new position of
the containee. In the third one, we forbid a containee to be
moved outside the container. The main idea is that the fact
of moving a containee outside a container will produce the
user-de¯ned event \Take Out". Hence, we make available
three rules interpreting the event in three di®erent ways.
Figure 6 shows a pre-rule that generates the take-out
userde¯ned event when an element is moved outside its
container. As this is a pre-rule, the Move action has not been
performed yet. This rule has a NAC that forbids applying
the rule more than once in a row.
their inclusion in the elements manageable through
eventdriven grammars is a further step towards a complete formal
de¯nition of the user interactions.
Figure 7 shows three di®erent interpretations for the
takeout event. The Detach containee rule removes the event
and adds a Remove spatial action. The Resize container
rule replaces the event by a resize attached to the container,
with the appropriate coordinates for resizing. Finally, rule
Not allowed deletes both the take-out and the Move event
of the containee, thus preventing its movement.
A movement of a state that concludes by placing it within a
di®erent container leads to the installation of a new spatial
relation between the moved state and the destination one.
In this case a new user-de¯ned event, named \Place In",
would be generated in a pre-rule analogous to Figure 6.</p>
    </sec>
    <sec id="sec-8">
      <title>6. CONCLUSIONS AND FUTURE WORK</title>
      <p>We have presented a novel approach to the de¯nition of
interaction modalities for DSVL environments based on a
metamodel. Low-level events and high-level actions are taken
into account, together with spatial relations and DSVL
concepts. Di®erent behaviours can be customized by means of
rules. The de¯nition of complex interaction patterns is
supported by separating the processing of events from a
management policy for all their envisaged consequences.
The advantages of such an approach are manifold. First,
using graph grammars enables a formal approach to
interaction de¯nition which is also visual and declarative, thus
favoring reuse of rules and reasoning on them. Moreover, as
rules are de¯ned at an abstract level, they are independent
of the concrete user interface. This decoupling of
deviceoriginated events from low-level abstract events, and from
the management of high-level actions, facilitates the
de¯nition of con¯gurable and adaptive environments.
Eventdriven graph grammars provide a visual, formal semantics
to an action language for DSVL environments. The
integration of di®erent GUI elements (such as buttons) into D and
The approach is being integrated into the ATOM3
architecture. Future work will study other interaction phenomena.
For example, the issue of grouping elements and de¯ning
actions which simultaneously a®ect all of them can be
tackled by viewing all the elements as contained in a temporary
dummy container. Other challenges include global
phenomena, such as context switch or complex layout rede¯nition.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Berstel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Crespi-Reghizzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Roussel</surname>
          </string-name>
          , and P. San Pietro.
          <article-title>A scalable formal method for design and automatic checking of user interfaces</article-title>
          .
          <source>ACM Transaction on Software Engineering and Methodology</source>
          ,
          <volume>14</volume>
          (
          <issue>2</issue>
          ):
          <volume>124</volume>
          {
          <fpage>167</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bottoni</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Costagliola</surname>
          </string-name>
          . On the de¯
          <article-title>nition of visual languages and their editors</article-title>
          .
          <source>In Diagrams</source>
          , pages
          <volume>305</volume>
          {
          <fpage>319</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bottoni</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Grau</surname>
          </string-name>
          .
          <article-title>A Suite of Metamodels as a Basis for a Classi¯cation of Visual Languages</article-title>
          .
          <source>In Proc. of 2004 IEEE VL/HCC</source>
          , pages
          <volume>83</volume>
          {
          <fpage>90</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
            <given-names>CS</given-names>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>J. de Lara</surname>
            and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>AToM3: A Tool for Multi-Formalism Modelling and Meta-Modelling</article-title>
          .
          <source>In Proc. of FASE'</source>
          <year>2002</year>
          , volume
          <volume>2306</volume>
          <source>of LNCS</source>
          , pages
          <volume>174</volume>
          {
          <fpage>188</fpage>
          . Springer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Guerra</surname>
          </string-name>
          and J. de Lara.
          <article-title>Event-Driven Grammars: Towards the Integration of Meta-Modelling and Graph Transformation</article-title>
          .
          <source>In Proc. of ICGT'</source>
          <year>2004</year>
          , volume
          <volume>3256</volume>
          <source>of LNCS</source>
          , pages
          <volume>54</volume>
          {
          <fpage>69</fpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Mori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Paternµo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Santoro</surname>
          </string-name>
          . CTTE:
          <article-title>Support for Developing and Analyzing Task Models for Interactive System Design</article-title>
          .
          <source>IEEE Trans. Software Eng.</source>
          ,
          <volume>28</volume>
          (
          <issue>8</issue>
          ):
          <volume>797</volume>
          {
          <fpage>813</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>P.</given-names>
            <surname>Muller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Studer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fondement</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Bezivin</surname>
          </string-name>
          .
          <article-title>Platform independent web application modeling and development with netsilon</article-title>
          .
          <source>Software and System Modeling</source>
          ,
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <volume>424</volume>
          {
          <fpage>442</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Navarre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Palanque</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bastide</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schyn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Winckler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. P.</given-names>
            <surname>Nedel</surname>
          </string-name>
          , and
          <string-name>
            <surname>C. M. D. S. Freitas</surname>
          </string-name>
          .
          <article-title>A formal description of multimodal interaction techniques for immersive virtual reality applications</article-title>
          .
          <source>In INTERACT</source>
          , volume
          <volume>3585</volume>
          <source>of LNCS</source>
          , pages
          <volume>170</volume>
          {
          <fpage>183</fpage>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>G. D.</given-names>
            <surname>Penna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Intrigila</surname>
          </string-name>
          , and
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>Ore¯ce. An environment for the design and implementation of visual applications</article-title>
          .
          <source>J. Vis. Lang. Comput.</source>
          ,
          <volume>15</volume>
          (
          <issue>6</issue>
          ):
          <volume>439</volume>
          {
          <fpage>461</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T.</given-names>
            <surname>Schattkowsky</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lohmann</surname>
          </string-name>
          .
          <article-title>Towards Employing UML Model Mappings for Platform Independent User Interface Design</article-title>
          . In MDDAUI, volume
          <volume>159</volume>
          <source>of CEUR Workshop Procs</source>
          .,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Schneider</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Cordy</surname>
          </string-name>
          .
          <article-title>Abstract user interfaces: A model and notation to support plasticity in interactive systems</article-title>
          . In C. Johnson, editor,
          <source>DSV-IS</source>
          , volume
          <volume>2220</volume>
          <source>of LNCS</source>
          , pages
          <volume>28</volume>
          {
          <fpage>48</fpage>
          . Springer,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>