<!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>Modeling Cross-Device Systems with Use Case Diagrams</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dennis Wolters</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Gerth</string-name>
          <email>c.gerth@hs-osnabrueck.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gregor Engels</string-name>
          <email>engelsg@uni-paderborn.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, Paderborn University</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Business Management and Social Sciences, Osnabruck University of Applied Sciences</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>89</fpage>
      <lpage>96</lpage>
      <abstract>
        <p>Information systems often support a variety of di erent device types like desktop computers, smartphones or tablets. Some can even be used in a cross-device manner, i.e., using multiple devices in parallel or being able to switch from one device to another while interacting with the system. Even though there is increasing support to implement such cross-device systems, existing modeling languages only provide limited means to specify them. In this paper, we present an extended form of UML use case diagrams, which allows to properly take the cross-device features of a system into account and serves as a rst step towards a model-based development process for cross-device systems.</p>
      </abstract>
      <kwd-group>
        <kwd>cross-device system</kwd>
        <kwd>requirements analysis</kwd>
        <kwd>use case modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Due to the availability of multiple devices, users start using information systems
in a cross-device manner [
        <xref ref-type="bibr" rid="ref11 ref2">2,11</xref>
        ], i.e., by performing tasks on di erent devices, use
them in parallel or switch from one to another. If a software system does not
support such cross-device interactions, users have to coordinate these
interactions themselves which is usually a cumbersome task because application states
have to be recreated or synchronized somehow [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], e.g., by manually copying
data or using synchronization tools. For seamless interactions as described by
Satyanarayanan [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], cross-device interactions must be considered at design time
in such a way that the realized system coordinates the interaction and the user
has little to none coordination overhead. For this purpose, various approaches
[
        <xref ref-type="bibr" rid="ref15 ref5 ref9">5,9,15</xref>
        ] exist that ease the implementation of cross-device systems. However,
the support to model such systems in early phases of development, e.g., during
requirements analysis, is rather limited.
      </p>
      <p>During requirements analysis, use cases are de ned to sketch the functionality
provided by the system under development. The relation between use cases,
actors and other systems are visualized using UML use case diagrams. If it is not
important which device type is used to interact with the system, e.g., when only
a single device type should be supported, the standard use case diagrams su ce.
However, when developing cross-device systems it is important to specify, which
functionality is o ered by which type of device and what kind of interactions
are possible. Standard UML use case diagrams do not support modeling such
information. In this paper, we present an approach for the high-level modeling
of cross-device systems in terms of extended use case diagrams. Our approach
provides a clear separation of concerns and can be used during requirements
analysis to pragmatically take cross-device interactions into account.</p>
      <p>The remainder of this paper is structured as follows: In Section 2, we
introduce two examples for cross-device systems and identify the shortcomings of
standard UML use case diagrams. Subsequently, we present our extension to use
case diagrams in Section 3. Related work is discussed in Section 4. The paper is
concluded in Section 5, which also gives an outlook on future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Scenarios and Requirements</title>
      <p>This section provides two scenarios, which describe examples for cross-device
systems. We explain the limitations of standard UML use case diagrams with
regard to modeling cross-device interactions supported by such systems.
Afterwards, we derive requirements for an approach to model cross-device systems
with extended use case diagrams.</p>
      <p>In the use case diagrams in this paper, we assume for associations between
an actor and a use case a default multiplicity of 1 on the actor's end and 0::1 on
the use case's end. Hence, by default an actor does not have to perform a use
case but if a use case is performed, the associated actors are required.</p>
      <p>Scenario 1: In this scenario a railway company wants to provide a ticket
system, which enables users to buy tickets at Ticket Vending Machines (TVMs),
on computers, and with smartphones. A smartphone is seen as special kind
of computer, which is mobile and allows location-speci c services. It shall be
possible that a customer starts the booking process on one device and migrates to
another while keeping the current progress. This way the customer can start the
booking process on his personal computer at home by selecting a train connection
and choosing ticket options, pay with his smartphone on the way to the train
station, and afterwards switch to a TVM to receive the ticket.</p>
      <p>Figure 1 shows three di erent ways to model this scenario with UML use
case diagrams: (a) Each device type is represented as a system and the use
cases are duplicated if o ered by multiple device types. (b) The device type
information is weaved into di erent actor roles. Using this approach, we are also
able to express that a smartphone is a special kind of computer. (c) For each
device type a separate use case is created. In all three diagrams, we face the
problem that the device usage information (computer, smartphone, and TVM)
is mixed with other concerns. Additionally, it is not speci ed that it is possible
to migrate from one device to another. In (a) and (c), migration possibilities
could be speci ed using «extend» associations between the use cases. However,
modeling transitions between di erent devices with «extend» associations is
not be very intuitive because the use cases are not extended just the device is
changed. Moreover, using «extend» relations is not possible for variant (b), since
we only have a single use case for all device types.
Customer</p>
      <p>Ticket Vending</p>
      <p>Machine
Book a</p>
      <p>Ticket
Computer</p>
      <p>Book a</p>
      <p>Ticket
Smartphone</p>
      <p>Book a
Ticket
(b)</p>
      <p>Ticket System</p>
      <p>(c)</p>
      <p>Customer
at a TVM
with a
Computer</p>
      <p>Book a
Ticket</p>
      <p>with a
Smartphone</p>
      <p>Customer</p>
      <p>Ticket System</p>
      <p>Book a Ticket
at a TVM
Book a Ticket
with a</p>
      <p>Computer
Book a Ticket</p>
      <p>with a
Smartphone</p>
      <p>Scenario 2: In the second scenario, a system shall be developed which allows
students to collaboratively work on a document, while they are supervised by a
teacher. The system shall allow each student to contribute by using their own
tablet and/or to collaborate with other students using smart board located in
each classroom. So there is a one to one relation between a tablet and a student
as well as a many to one relation between students and a smart board.</p>
      <p>We omit a standard use case diagram for Scenario 2, since none of the
approaches used for Scenario 1 really helps to de ne the Scenario 2. Modeling the
device types as separate systems or duplicating use cases for each device type
is not feasible for Scenario 2, because students could be involved with the same
instance of a document editing use case on di erent devices. The approach of
specifying the device usage along with the actors does not work either, since it
does not allow to specify how many student can use a device. In Section 3, we
present an extended use case diagram depicting Scenario 2.</p>
      <p>Summarizing, we derive the following requirements for an approach to specify
cross-device interactions in extended use case diagrams:</p>
      <p>R1 Explicit device type modeling: Device types being relevant for the
system must be modeled explicitly so that it is clear which device types are in
the scope of the system.</p>
      <p>R2 De nition of device usage: A use case might involve multiple
human actors which use certain devices to interact with the system. It must be
speci able which device types have to be used and by whom.</p>
      <p>R3 Variability in the device usage: Human actors may have the choice
between di erent device types to perform a use case. Such variability in the
device usage must be expressible.</p>
      <p>R4 Speci cation of cross-device interactions: Cross-device interactions
like distributing a use case across di erent devices or migrating from one device
to another must be speci able.</p>
      <p>Use Case Diagrams for Cross-Device Systems
In this section, we present our extended use case diagrams for modeling
crossdevice systems. We use the scenarios from previous section to explain our
approach and show how we address the Requirements R1 to R4. In the following,
we use lled out circles like ¶ to refer to certain parts of Figure 2.b, which shows
the extended use case diagram for Scenario 1 and hollow circles like À to refer
to certain parts of Figure 3, which shows the diagram for Scenario 2.</p>
      <p>To explicitly de ne the device types being relevant for the system (see
Requirement R1), we de ne a device type taxonomy. Figure 2.a shows an example
of such a taxonomy for Scenario 1. At the top of any device type taxonomy is
the class \Device", representing any kind of device. Below more speci c device
types are declared, in our example TVMs, computers, and smartphones as
special kinds of computers. In contrast to Figure 1, the relevant device types are
now explicitly listed and their hierarchy is not hidden in the inheritance between
actors like in Figure 1.b.
(a)</p>
      <p>Device</p>
      <p>(b)
Computer</p>
      <p>TVM</p>
      <p>2
Smartphone</p>
      <p>Customer</p>
      <p>1
«device type»</p>
      <p>Computer
«device type»</p>
      <p>TVM</p>
      <sec id="sec-2-1">
        <title>Ticket System</title>
        <p>3
4
0..*
«migratable»5
Book a Ticket</p>
        <p>In order to address Requirement R2, we use classes marked with the
stereotype «device type» (see ¶) to reference a device type de ned in the taxonomy.
Consequently, the name of a device type class must match a device type of the
corresponding device type taxonomy. In extended use case diagrams, we use
device type classes to re ne the association between human actors and use cases.
This is done by indirectly associating a human actor with a use case, i.e., a
human actor is associated with a device type to describe that a human actor uses
a certain device type (see ·). Additionally, a device type is associated with a
use case to describe that the interaction of a human actor with this use case
is done via this device type (see ¸). Thereby, we can de ne the device usage
explicitly instead interweaving it with other concerns. In Figure 2.b, the human
actor Customer is associated with use case Book a Ticket over the device types
Computer and TVM, meaning either of these device types can be used to book a
ticket. This also implies that a smartphone can be used for this use case because
we have de ned in the device type taxonomy that a smartphone is a special type
of computer (see Figure 2.a).</p>
        <p>In Section 2, we de ne that the default multiplicity is 1 on the actor's end
and 0::1 on the use case's end. For our language extension, we de ne it in a
similar manner: The default multiplicity on an association between a human
actor and a device type is 1 on the human actor's end and 0::1 on other end.
Thus, not every human actor has to use all devices but when a device is used,
the associated actors need to be present. Similarly, the default multiplicity on
associations between a use case and a device type is 1 on the device type's end
and 0::1 on the end of the use case. Thereby, the default multiplicities de ne that
not every device necessarily has to perform all use cases to which it is connected
but if a use case is performed, the devices are required.</p>
        <p>We are able to de ne the relation between actors and devices as well as
between devices and use cases more precisely by using multiplicities. For instance,
we can specify that a TVM can only be part of one ticket booking session at
a time, while a computer can be part of multiple sessions, which is de ned by
the 0:: multiplicity (see ¸). On this abstraction level, a session includes a use
case instance along with the involved actors and devices. Furthermore, we can
express for Scenario 2 that multiple students can use a smart board (see À) but
there should only be one student per tablet.</p>
        <p>1
1..*</p>
        <sec id="sec-2-1-1">
          <title>Student</title>
          <p>«device type»
Smart Board
«device type»
Tablet
2
0..*
3</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Classroom Document Editor</title>
        <p>Edit
Document</p>
        <p>«extend»
Supervise
Students
«device type»
Tablet</p>
        <sec id="sec-2-2-1">
          <title>Teacher</title>
          <p>
            Requirement R3 states the need to express that a variety of di erent device
types might be used to perform a use case. We o er two possibilities to specify
this variability: (i) Either we choose a common ancestor of device types which
shall support the use case or (ii) by explicitly listing the device types supporting
the use case. In Figure 2.b both options are used. By specifying that a
computer can be used, it is implied that also a smartphone can be used, since a
smartphone is a special type of computer (c.f. Figure 2.a). Whereas the TVM is
explicitly listed since it is not de ned as a special type of computer. To express
the variability in the device usage, we enrich the concrete syntax of UML use
case diagrams with OR and XOR operators known from feature diagrams [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ]
(see ¹ and Á). Basically, these operators are just a new concrete syntax for
certain UML constraints (cf. with XOR in [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ]). However, we nd it very helpful to
use this syntax since it is widely known, especially when it comes to the topic of
variability, and in contrast to UML constraints like XOR, the feature diagram
operators imply a reading direction for the constraint. In Figure 2.b, an exclusive
choice operator is used (see ¹) to describe that the booking of a ticket can either
be done on a device of type Computer or TVM but not on both. Whereas in
Figure 3, an inclusive choice operator is used to de ne that a smart board, or
tablets, or both can be used to edit a document (see Á). When an OR or XOR
operator is used the lower bound of all multiplicities on the opposite end must
be 0. Otherwise the multiplicities might contradict the operator. If no explicit
multiplicities on the opposite ends are de ned, a default multiplicity of 0::1 is
implied. For instance, if we would not imply a lower bound of 0 on the opposite
side of the XOR operator in Figure 2.b, the multiplicities would specify that
both a computer and a TVM are required, which contradicts the XOR operator
(see ¹) that speci es that only one of these device types shall be used.
          </p>
          <p>Requirement R4 demands that cross-device interactions must be speci able.
For this purpose, we introduce the stereotype «migratable», which can be
applied on use cases (see º) to de ne that the device being used can be substitute
at runtime by another device while keeping the state, as for example described
in Scenario 1. The possibility to distribute a use case on multiple devices can be
speci ed by using multiplicities with upper bound greater than 1 or by allowing
the usage of multiple device types for a use case. In Scenario 2, a document can
be edited on multiple tablets in parallel as de ned by the multiplicity 0:: (see
Â). Moreover, the OR operator allows that both device types can be used at
the same time (see Á). Hence, a smart board can be used in addition or as an
alternative to multiple tablets.</p>
          <p>The di erent stereotypes introduced by our approach are speci ed as a UML
pro le. The usage of OR/XOR operators is optional, since they could be de ned,
in a less readable form, using UML constraints. Even though it is not commonly
used, the UML meta model does not forbid to associate actors and use cases
with classes (in our cases classes representing device types). Hence, aside from
our UML pro le, no additional changes to the UML meta model are necessary.</p>
          <p>Our approach provides a clear separation of concerns by modeling device
usage as an additional dimension in use case diagrams instead of interweaving
it with other concerns like systems, actors or use cases (cf. Figure 1). This
allows changing the level of abstraction or the viewpoint whenever needed in the
respective project. For instance, cross-device interactions may not be of interest
in any case or for all stakeholders. In such a case, we can automatically abstract
from device usage by replacing an association from an actor to a device type and
from a device type to a use case with an association between the actor and the
use case. Similarly, it would also be possible to change the viewpoint by focusing
on use cases o ered by certain device types, or alternatively, by focusing on the
device usage of certain use cases.</p>
          <p>
            In addition to use case diagrams, there usually exist further speci cations for
each use case. For instance, a textual description as well as an integrated process
diagram of the di erent scenarios of a use case, which visualizes what has to be
done in order to reach the goal of the use case. The device usage de ned in
extended use case diagrams can be re ned within such process diagrams using
our approach presented in [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ]. Thereby, we can de ne for which tasks a certain
device type is needed and when it is possible to migrate to another device.
By combining these two approaches we lay the foundation for a model-based
development process for cross-device systems.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        The development of cross-device systems is supported on various levels. On the
implementation level, approaches like Panelrama [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] for web applications or
Conductor [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for Android applications can be used to realize applications
supporting cross-device interactions. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], test and debug tools for cross-device
systems are provided. Instead of considering cross-device interaction at design
time approaches like [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] allow using existing web applications in a
crossdevice manner. However, these approaches do not work for every web
application and they are limited to web technologies. All of these approaches consider
cross-device usage at later stage of the development process, some even after
development, and they focus on certain platforms, mostly web technologies. In
contrast, our approach can be used at the beginning of the development process
during requirements analysis to document the need for cross-device interactions
independent of a concrete platform.
      </p>
      <p>
        We model variability in the device usage in use case diagrams. The lack of
means to model variability in use case diagrams is also identi ed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. However,
their focus is on modeling variability between use cases by de ning alternatives
for including other use cases or by specifying that the inclusion of another use
case is optional. The PLUSS approach [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] allows modeling variability in textual
use case descriptions instead of diagrams. Their approach would also allow to
link use cases to certain device types. However, as they do not explicitly focus on
device usage the relation between devices and human actors cannot be expressed
neither can cross-device interactions be speci ed.
      </p>
      <p>
        The Systems Modeling Process (SYSMOD) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] uses use case diagrams in a
similar fashion as we do. They introduce the notion of a user system through
which the user can interact with the system. The relation between a human
actor and a user system is modeled with information ows. In comparison, their
approach whether allows to express variability with regard to the used user
system nor does it allow to cover cross-device interactions supported by a system.
      </p>
      <p>
        Adapt Cases [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is an approach based on use cases which is able to specify the
adaption of a system. Migrating from one device to another or distributing parts
of a system could be described as an adaption of the deployment. Even though
Adapt Cases could be used to express this, the description of the adaption logic
is on a lower level of abstraction. Adapt Cases could be used as a re nement of
our approach, e.g., to describe automated migration or distribution rules.
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Future Work</title>
      <p>In this paper, we have presented extended use case diagrams which can be
used during requirements analysis for the high-level modeling of cross-device
systems. In contrast to standard UML use case diagrams, our extension enables
the modeling of device usage as a separate concern and allows the speci cation of
cross-device interactions by re ning the association between actor and use cases.
Thereby, we can pragmatically specify for use cases which device types can be
used and by whom they are used. Due to the clear separation of concerns, it is
possible to change the viewpoint if needed, e.g., by focusing on a certain device
type or use case. We have illustrated the bene ts of extended use case diagrams
with two examples of cross-device systems. We have de ned our extension as a
UML pro le with an optional addition to the concrete syntax of the UML.</p>
      <p>We are working on supporting further steps of the model-based development
process for cross-device systems, i.e., a method to re ne the device type
taxonomy to a device type model which allows managing concrete devices at runtime.
In addition, further types of models will be considered in the future in order to
cover other aspects like specifying the architecture of cross-device systems.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bokermann</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerth</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Engels</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Use Your Best Device! Enabling Device Changes at Runtime</article-title>
          . In: Sadiq,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>So</surname>
          </string-name>
          <string-name>
            <surname>er</surname>
          </string-name>
          , P., Volzer, H. (eds.)
          <source>BPM</source>
          <year>2014</year>
          , pp.
          <volume>357</volume>
          {
          <fpage>365</fpage>
          . No. 8659
          <string-name>
            <surname>in</surname>
            <given-names>LNCS</given-names>
          </string-name>
          , Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dearman</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pierce</surname>
            ,
            <given-names>J.S.:</given-names>
          </string-name>
          <article-title>"It's on my other computer!": Computing with Multiple Devices</article-title>
          .
          <source>In: CHI 2008</source>
          . pp.
          <volume>767</volume>
          {
          <fpage>776</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Eriksson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Borstler, J.,
          <string-name>
            <surname>Borg</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>The PLUSS Approach { Domain Modeling with Features, Use Cases</article-title>
          and
          <article-title>Use Case Realizations</article-title>
          . In: Obbink,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Pohl</surname>
          </string-name>
          ,
          <string-name>
            <surname>K</surname>
          </string-name>
          . (eds.)
          <source>Software Product Lines</source>
          <year>2005</year>
          , pp.
          <volume>33</volume>
          {
          <fpage>44</fpage>
          . No. 3714
          <string-name>
            <surname>in</surname>
            <given-names>LNCS</given-names>
          </string-name>
          , Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ghiani</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paterno</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santoro</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Push and Pull of Web User Interfaces in Multi-device Environments</article-title>
          .
          <source>In: AVI 2012</source>
          . pp.
          <volume>10</volume>
          {
          <fpage>17</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hamilton</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wigdor</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Conductor: Enabling and Understanding Cross-device Interaction</article-title>
          .
          <source>In: CHI 2014</source>
          . pp.
          <volume>2773</volume>
          {
          <fpage>2782</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Husmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nebeling</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pongelli</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Norrie</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <article-title>MultiMasher: Providing Architectural Support and Visual Tools for Multi-device Mashups</article-title>
          . In: Benatallah,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Bestavros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Manolopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Vakali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Zhang</surname>
          </string-name>
          , Y. (eds.)
          <source>WISE</source>
          <year>2014</year>
          , pp.
          <volume>199</volume>
          {
          <fpage>214</fpage>
          . No. 8787
          <string-name>
            <surname>in</surname>
            <given-names>LNCS</given-names>
          </string-name>
          , Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Luckey</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nagel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerth</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Engels</surname>
          </string-name>
          , G.:
          <article-title>Adapt Cases: Extending Use Cases for Adaptive Systems</article-title>
          .
          <source>In: SEAMS 2011</source>
          . pp.
          <volume>30</volume>
          {
          <fpage>39</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. von der Ma en, T.,
          <string-name>
            <surname>Lichter</surname>
          </string-name>
          , H.:
          <article-title>Modeling variability by UML use case diagrams</article-title>
          .
          <source>In: REPL@RE 2002</source>
          . pp.
          <volume>19</volume>
          {
          <issue>25</issue>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Nebeling</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Husmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zimmerli</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valente</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Norrie</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <article-title>XDSession: Integrated Development and Testing of Cross-device Applications</article-title>
          .
          <source>In: EICS 2015</source>
          . pp.
          <volume>22</volume>
          {
          <fpage>27</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. Object Management Group: Uni ed Modeling Language (
          <year>2015</year>
          ), http://www.omg. org/spec/UML/2.5/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Santosa</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wigdor</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>A Field Study of Multi-device Work ows in Distributed Workspaces</article-title>
          . In: UbiComp
          <year>2013</year>
          . pp.
          <volume>63</volume>
          {
          <fpage>72</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Satyanarayanan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Pervasive computing: Vision and challenges</article-title>
          .
          <source>IEEE Personal Communications</source>
          <volume>8</volume>
          (
          <issue>4</issue>
          ),
          <volume>10</volume>
          {
          <fpage>17</fpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Schobbens</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heymans</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trigaux</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          :
          <article-title>Feature Diagrams: A Survey and a Formal Semantics</article-title>
          . In: RE 2006. pp.
          <volume>139</volume>
          {
          <issue>148</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Weilkiens</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Systems Engineering with SysML/UML: Modeling, Analysis, Design</article-title>
          . Morgan Kaufmann (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wigdor</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : Panelrama:
          <article-title>Enabling Easy Speci cation of Cross-device Web Applications</article-title>
          .
          <source>In: CHI 2014</source>
          . pp.
          <volume>2783</volume>
          {
          <fpage>2792</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>