<!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>Enhancing Flexibility in User Interaction Modeling by Adding Design Uncertainty to IFML</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco Brambilla</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gianni Rosay</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eric Umuhozay</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Electronics</institution>
          ,
          <addr-line>Information and Bioengineering. Politecnico di Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-User interaction (UI) design is an important task in the development of software applications: in fact the success of the application itself, as well as the business behind it, is strongly related to the user experience. Unfortunately, designers can obtain realistic feedback from users about their actual expectations only at runtime, by analyzing the user behavior over the final application. A possible solution to this problem is to integrate the user feedback in the design phase, for example through A/B split testing, which allows to test the effectiveness of different variants of the application interface. However, so far A/B testing has been addressed only through manual coding and a-posteriori refactoring based on the analysis of the results. Model-driven development may enable the integration of such techniques with runtime log analysis and design-time application specifications. Unfortunately, creating new alternatives in the model usually corresponds to a combinatorial explosion of the application versions, making the testing hard to manage. In this paper, we propose a model-driven approach that enables to denote design alternatives in a compact way by adopting a model for uncertainty, integrated with a model for the user interaction design. Thus, the multiple possibilities can be represented by a single user interaction model (i.e., IFML model) from which a single software application will be generated, including all the variations that need to be evaluated. Uncertainty can then be solved by integrating the results of user behavior analysis (for instance, over the application logs of a web site). Thanks to this, our approach considerably reduces the costs of the user interaction optimization.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Over the last decade and half, modeling techniques have
been leveraged to cover requirement specification [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],
design [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], and verification/validation (e.g., [
        <xref ref-type="bibr" rid="ref19">18</xref>
        ]) of software
artifacts. In the context of user interaction (UI) modeling,
model-driven techniques have been proposed (see [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) for
a wide range of tasks, including model checking, full code
generation of the designed application, runtime user tracking
and integration with design-time models.
      </p>
      <p>One of the core aspects of UI design with respect to other
system perspectives, is that designers must aim at guaranteeing
a better user experience (e.g., the user expects to find the
desired information in the expected place and through intuitive
navigation paths), as this is key to the acceptance and adoption
of the designed application, as well as to the success of the
underlying business.</p>
      <p>
        The Interaction Flow Modeling Language (IFML) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] is designed for expressing the content, user interaction
and control behavior of software applications. Unfortunately,
‘the proof of the pudding is in the eating’: designers are
given relevant feedback about the actual expectations only
by analyzing the user behavior at runtime. Hence, some
aposteriori adaptations of the UI could be needed for meeting
the application goals. A way to address such difficulties
consists in reducing the gap between UI design and user
experience by involving users in the design phase, for example
through A/B split testing [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], in which different end-users
examine different alternatives, and the most effective ones are
selected based on statistical analysis of user behavior.
      </p>
      <p>
        This can be viewed as a form of bound design
uncertainty [
        <xref ref-type="bibr" rid="ref15">14</xref>
        ]: while a number of alternative solutions have been
contemplated, the designer does not hold enough information
or knowledge to decide at this stage of the process which is
the right one. A trivial strategy would consist in creating a
different IFML model for each alternative to be evaluated.
However, this implies various disadvantages: first, a small
set of alternatives in the model usually corresponds to a
combinatorial explosion of the application versions, making
the testing hard to manage due to the difficulty to precisely
back propagate user feedback to the right model. Second,
by designing independent models the designer misses all the
logics that covers the decisions on which alternatives to show
to which user, which runtime data to collect, and what kind of
analysis to run on the user behaviour to decide which variant
should be preferred.
      </p>
      <p>In this paper, we propose an extension to the IFML
modeling notation, which leverages uncertainty to a first-class status.
Uncertainty-related decisions are documented in an intentional
manner by means of models with uncertainty, which permit the
designer to make transitional decisions to be either confirmed
or undone in a traceable way once enough data analytics about
user behavior are available.</p>
      <p>The paper is organized as follows: Sect. II discusses the
background on the IFML language. In Sect. III, an example
clarifies the addressed problem. The extension to uncertainty
for IFML is presented in Sect. IV. Finally, related work is
discussed in Sect. V and conclusions are drawn in Sect. VI.</p>
    </sec>
    <sec id="sec-2">
      <title>II. BACKGROUND: IFML</title>
      <p>The Interaction Flow Modeling Language (IFML) is
designed for expressing the content, user interaction and control
behavior of the front-end of software applications. Its
metamodel uses the basic data types from the UML metamodel,
specializes a number of UML metaclasses as the basis for
IFML metaclasses, and presumes that the IFML Domain
Model is represented in UML.</p>
      <p>An IFML model supports the following design
perspectives: The view structure specification, which consists
of the definition of view containers, their nesting
relationships, their visibility, and their reachability; The view
content specification, which consists of the definition of
ViewComponents, i.e., content and data entry elements
contained within ViewContainers; The events specification,
which consists of the definition of Events that may affect
the state of the user interface. Events can be produced by
the user’s interaction, by the application, or by an external
system; The event transition specification, which consists
of the definition of the effect of an Event on the user
interface; The parameter binding specification, which consists
of the definition of the input-output dependencies between
ViewComponents and between ViewComponents and
Actions; and The reference to Actions triggered by the
user’s events. The effect of an Event is represented by an
InteractionFlow connection, which connects the event
to the ViewContainer or ViewComponent affected by
the Event. The InteractionFlow expresses a change of
state of the user interface: the occurrence of the event causes a
transition of state that produces a change in the user interface.</p>
      <p>
        IFML concepts can be stereotyped to describe more
precise behaviors. For instance, one could define specific
stereotypes for describing web pages (a specific kind of
ViewContainer); forms, lists and details (specific kinds
of ViewComponent); and submission or selection events.
By exploiting this extensibility feature, we defined custom
extensions of IFML for covering Web [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and mobile [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]
applications.
      </p>
      <p>Figure 1(a) shows a piece of a user interface that allows
to search an album by title or year, visualize a list retrieved
albums, and see details of a selected album. Figure 1(b)
shows the corresponding IFML model which consists of: (i) a
ViewContainer AlbumSearch which contains a specific
ViewComponent, a Form named Album Search. The form is
associated with a submission Event; (ii) a ViewContainer
Albums which contains a ViewComponent, List named
Album List; and (iii) a ViewContainer, Album containing
a ViewComponent, Details named Album Details.
(a)
(b)
«ParameterBindingGroup»
Title  AlbumTitle
Year  AlbumYear
«ParameterBindingGroup»
SelectedAlbum  AnAlbum
«Window» AlbumSearch
«Window» Albums
«Window» Album
«Form»</p>
      <p>Album
Search
«List»</p>
      <p>Album
List
«Details»</p>
      <p>Album
Details
Fig. 1: IFML Example: (a) a piece of user interface and (b)
the corresponding IFML model. The user enters data into an
input form and submits; the submission event causes a distinct
ViewContainer to appear with a list of matching albums; the
selection of an item in the list causes the display of the
corresponding details in a third ViewContainer.</p>
    </sec>
    <sec id="sec-3">
      <title>III. PROBLEM STATEMENT</title>
      <p>An interaction model is a design model that describes the
front-end of a software application with the aim to bind
the contents together in a way that supports the conceptual
models of its target users. Thus, interaction design decisions
have to meet customer preferences. As said, since testing and
understanding the user behavior will be possible when the
application is running, the designer could be uncertain about
the better strategy to adopt in the design of user interaction.
This can be translated in a set of design variants describing
slightly different user interactions. Such design alternatives
have to be compared and evaluated in terms of user acceptance,
usability, and effectiveness from a business perspective (e.g.,
leading to more or less transactions performed by a user).</p>
      <p>Given such issues, we aim at finding the most compact and
efficient way for describing these variants, so as to:
maximize traceability of all the phases of the
development;
minimize the risk of inconsistency across the variants;
integrate the generation of the code for the management
of the different variants and the selection of the
appropriate variant to be shown to the different users;
simplify the integration of the modeling of the variant
with the runtime data collection describing the user
behaviour across the variants;
enable integration of statistical analysis of runtime data
and final selection of the best variants with no additional
cost of development.</p>
      <p>In order to make the problem statement more concrete, we
now describe a simple running example which will be used
along the whole discussion.</p>
      <sec id="sec-3-1">
        <title>A. Example: Bookstore</title>
        <p>Bookstore is a kind of e-commerce web application for
book selling. The books are organized in categories. A book is
associated with its authors, comments, and editorial reviews.
The main functionalities of the applications include: (i) Book
searching which allows the user to search for a book, and
visualize its details (including the book’s authors and comments
related to the selected book); (ii) Book review which allows
the user to write a comment on a book; and (iii) purchasing,
which allows to buy a desired book.</p>
        <p>Figure 2 shows a piece of the user interaction model
allowing the user to visualize details of a selected book, in
Book Details Page. The details of the Book are displayed
along with two lists: a list of comments and another one for
the authors of the selected book. The user can access Author
page to see detailedc information (including other books he
co-authored) of the selected author. In Figure 3, we show an
alternative way to display the same content as in Figure 3. The
UI in Figure 3 is obtained from the one in Figure 2 through
the following actions:
removal of a List of authors from the Page Book</p>
      </sec>
      <sec id="sec-3-2">
        <title>Details</title>
        <p>addition of a new Page, Authors, containing the list of
authors of a selected book
addition of a new event, called authors, allowing the
user to visualize the List of authors of the selected book
To decide which version of the UI to keep for the final
implementation, one can conduct the experiments in which
end-users are directly asked to provide their preferences on
these two alternatives. However, little new alternatives in the
model usually correspond to a combinatorial explosion of the
application versions, making the testing hard to manage.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>IV. REPRESENTING UNCERTAINTY IN IFML</title>
      <p>
        Without dedicated support, working with uncertainty means
that modelers handle each alternative model separately. In
order to reduce the burden of managing a collection of models,
we consider uncertainty as a first-class concern in the design,
implementation, and deployment of those systems [
        <xref ref-type="bibr" rid="ref18">17</xref>
        ]. To this
end, the metamodel-independent approach discussed in [
        <xref ref-type="bibr" rid="ref14">13</xref>
        ]
able to manage a set of variants by means of a model with
uncertainty is exploited. The metamodel generation is realized
Fig. 3: Version 2 of Book Details. The details of a selected
book are displayed along with a list of its comments. The list
of authors is placed in a new page, Authors, reachable from
Book Details page via a new event, authors.
by means of a model-to-model transformation M2UM written in
ATL1. It takes as input a metamodel M conforming to Ecore2
and generates the corresponding metamodel with uncertainty
UM. At this point, modelers may specify their models with
uncertainty conform to UM. An um model is semantically
equivalent to a set of models m1; :::; mn conforms to M (i.e.,
all the candidate solution models represented in um).
The next sections illustrate in detail the uncertainty metamodel
and how it can be generated and utilized.
      </p>
      <sec id="sec-4-1">
        <title>A. Uncertainty IFML Metamodel</title>
        <p>The uncertainty metamodel U M is obtained by extending a
base metamodel M with specific connectives able to represent
the multiple outcomes of a transformation. These connectives
denote the uncertainty points where alternative model elements
are attached. Let us consider the IFML language presented in
Sec. II. 3. For the sake of brevity, we provide a restricted
version of the IFML metamodel that allows us to model the
case study discussed in Sect. III.</p>
        <p>The uncertainty metamodel UIFML is depicted in Fig. 4 as
an extension of the considered restricted IFML. In particular,
the uncertainty metamodel UIFML is generated extending the
base metamodel as follows:
1) the abstract metaclass TracedClass with references
include and exclude is added;
2) the metaclass OperatorType that enumerates the logical
operator literals AND, OR and XOR is added;
3) the abstract metaclass UClass, enabling the
representation of uncertain elements, is added. It has the attributes
name; the attribute uType of type OperatorType for
specifying the logical operator connecting alternatives;
4) for each metaclass C in base IFML, such that it does not
specialize other metaclasses:</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>1ATL Transformation Language: https://eclipse.org/atl/</title>
      <p>2EMF Ecore: http://www.eclipse.org/modeling/emf/
3For reason of readability, we omit the description of the language. The
interested reader may refer to the OMG specification
4.1) a corresponding abstract metaclass IC is created
such that C specializes IC. Such interface allows to
choose among a certain element or an uncertain one
4.2) a metaclass UC that extends IC and UClass is added.</p>
      <p>It specifies an association variants of type C and
multiplicity 1..* that relates the alternative elements
to the uncertainty point of type C and an association
uPoints of type UC and multiplicity 0..* enabling to
nest uncertainty points.</p>
      <p>
        4.3) the metaclass C is generalized by TracedClass,
The main advantage of such representation technique is that
the uncertainty represented by a set of alternative models is
leveraged to a first-class status. Hence, a complete set of
models can therefore be manipulated as whole, for instance with
an automated transformation (as done for instance in [
        <xref ref-type="bibr" rid="ref17">16</xref>
        ]),
without iterating over each individual in the set.
      </p>
      <sec id="sec-5-1">
        <title>B. IFML Model with Uncertainty</title>
        <p>At this point, modelers may specify their user interaction
models with uncertainty. In particular, by using the
aforementioned approach, the model in Fig. 2 and Fig. 3 can be
represented by means of a unique model with uncertainty
depicted in Fig. 5. The model is composed of a common part
and an uncertain part denoted by dashed lines.</p>
        <p>In particular, according to the example in Sect. III we have
two Uncertainty Points called respectively V1 and V2. Each
uncertainty point is composed of a set of elements that are in
common with the chosen version. For instance, the uncertainty
point V1 includes: a ViewComponent, List of Authors; an
Event allowing to see the details of the selected author; and
a Navigation Flow from Book Details Page to the Author
Page (containing the details of a selected author). While
the uncertainty point V2 includes: Event named authors,
which allows to access the list of authors of the selected
book; ViewContainer, a page named Authors. It contains
a ViewComponent named Authors, displaying the list of
authors of the selected book; a Navigation Flow from Book
Details Page to Authors Page; An Event named details,
leading to detailed information of the selected author; and a
Navigation Flow from the page of authors to the page
named Author, which contains the details selected author.</p>
        <p>
          V. RELATED WORK
a) Conceptual Modeling of WebApplications: This work
is widely related to a large corpus of researches that address
conceptual modeling of Web applications. Among them we
can cite: (i) Araneus [
          <xref ref-type="bibr" rid="ref11">20</xref>
          ], a modeling proposal for Web
applications that allows one to represent the hypertext
organization, with nested relations and inter-page links; (ii) W2000,
formerly HDM [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], which introduced a notion of model-based
design, clearly separating the activities of authoring
in-thelarge (hypertext schema design) and authoring in-the-small
(page and content production); (iii) OO-HDM [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], a
UMLbased approach for modeling and implementing Web
application interfaces; (iv) Hera [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], a model-driven design approach
and specification framework focusing on the development of
context-dependent or personalized Web information system;
(v) Web Application Extension for UML (WAE) [
          <xref ref-type="bibr" rid="ref12">11</xref>
          ], a UML
extension for describing Web application interfaces and the
client-server interactions; (vi) WebDSL [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ], a domain-specific
language consisting of a core language with constructs to
define entities, pages and business logic, plus extensions.
        </p>
        <p>
          b) Design Uncertainty: Uncertainty is ubiquitous within
contexts such as requirements engineering [
          <xref ref-type="bibr" rid="ref13">12</xref>
          ], software
processes [
          <xref ref-type="bibr" rid="ref20">19</xref>
          ] and adaptive systems [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]. Uncertainty
management has been studied in many works, often with the intention
to express and represent it in models. In [
          <xref ref-type="bibr" rid="ref16">15</xref>
          ], the notion of
partial model is introduced in order to let the designer specify
uncertain information by means of a base model enriched
with annotations and first-order logic. Model transformation
techniques typically operate under the assumption that models
do not contain uncertainty. Nevertheless, the work in [
          <xref ref-type="bibr" rid="ref17">16</xref>
          ]
proposes a technique for adapting existing model
transformations in order to deal with models containing uncertainty. In
particular, a lifting operation permits to adapt unidirectional
transformations for being used over models with uncertainty
preserving their original behavior. In [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] a formal approach
called MAVO is proposed and applied to design models in
order to express and allow automated reasoning in presence
of uncertainty.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>VI. CONCLUSION AND FUTURE WORK</title>
      <p>In this paper we proposed a model-driven approach that
enables to denote design alternatives in a compact way by
adopting a model for uncertainty, integrated with a model
for the user interaction design. In this way, the multiple
possibilities are represented in a single user interaction model
from which a single software application can be generated,
including all the variations that need to be evaluated.</p>
      <p>
        As future work, we plan to provide a visual editor for
the specification of models with uncertainty with graphical
and concrete syntaxes depending on the tool availability for
the considered modeling language. In our case, the adopted
syntaxes for specifying models do not affect the overall
approach since models are manipulated by considering their
abstract syntaxes. Whereas, a specialized visualization of the
uncertainty will allow the modeler to benefit from hiding,
partitioning, constraining, and abstracting while traversing
an uncertain model. Furthermore, we plan to manage the
uncertainty by integrating the proposed approach with other
approaches for user behavior analysis like the one proposed
in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Acerbis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bongio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Butti</surname>
          </string-name>
          .
          <article-title>Model-Driven Development Based on OMG's IFML with WebRatio Web and Mobile Platform</article-title>
          .
          <source>In Proceedings of ICWE 2015</source>
          , pages
          <fpage>605</fpage>
          -
          <lpage>608</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Ameller</surname>
            and
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Al</surname>
          </string-name>
          .
          <article-title>Handling non-functional requirements in ModelDriven Development - An ongoing industrial survey</article-title>
          .
          <source>RE</source>
          , pages
          <fpage>208</fpage>
          -
          <lpage>213</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Amyot</surname>
          </string-name>
          and
          <string-name>
            <surname>G. Mussbacher.</surname>
          </string-name>
          <article-title>User requirements notation: The first ten years, the next ten years</article-title>
          .
          <source>Journal of Software</source>
          ,
          <volume>6</volume>
          (
          <issue>5</issue>
          ):
          <fpage>747</fpage>
          -
          <lpage>768</lpage>
          ,
          <year>July 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Baresi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Garzotto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Paolini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Paolini</surname>
          </string-name>
          .
          <article-title>From web sites to web applications: New issues for conceptual modeling</article-title>
          .
          <source>In ER (Workshops)</source>
          , pages
          <fpage>89</fpage>
          -
          <lpage>100</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bernaschina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Koka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mauri</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Umuhoza</surname>
          </string-name>
          .
          <article-title>Integrating modeling languages and web logs for enhanced user behavior analytics</article-title>
          .
          <source>In Proceedings of the 26th International Conference on World Wide Web Companion, WWW '17 Companion</source>
          , pages
          <fpage>171</fpage>
          -
          <lpage>175</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bernaschina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mauri</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Umuhoza</surname>
          </string-name>
          .
          <article-title>A big data analysis framework for model-based web user behavior analytics</article-title>
          .
          <source>In International Conference on Web Engineering</source>
          , pages
          <fpage>98</fpage>
          -
          <lpage>114</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Fraternali</surname>
          </string-name>
          .
          <article-title>Interaction Flow Modeling Language: Model-driven UI engineering of web and mobile apps with IFML</article-title>
          . Morgan Kaufmann,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fraternali</surname>
          </string-name>
          , et al.
          <article-title>The interaction flow modeling language (IFML)</article-title>
          .
          <source>Technical report, version 1</source>
          .0., The Object Management Group (OMG), http://www.ifml.org.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mauri</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Umuhoza</surname>
          </string-name>
          .
          <article-title>Extending the interaction flow modeling language (ifml) for model driven development of mobile applications front end</article-title>
          .
          <source>In International Conference on Mobile Web and Information Systems</source>
          , pages
          <fpage>176</fpage>
          -
          <lpage>191</lpage>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          , E. Umuhoza, and
          <string-name>
            <given-names>R.</given-names>
            <surname>Acerbis</surname>
          </string-name>
          .
          <article-title>Model-driven development of user interfaces for iot systems via domain-specific components and patterns</article-title>
          .
          <source>Journal of Internet Services and Applications</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <fpage>14</fpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>G.</given-names>
            <surname>Mecca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Merialdo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Atzeni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Crescenzi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Crescenzi.</surname>
          </string-name>
          <article-title>The (short) araneus guide to web-site development</article-title>
          .
          <source>In WebDB</source>
          , pages
          <fpage>13</fpage>
          -
          <lpage>18</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Conallen</surname>
          </string-name>
          .
          <article-title>Building Web applications with UML</article-title>
          .
          <source>Addison Wesley</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ebert</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Man</surname>
          </string-name>
          .
          <article-title>Requirements uncertainty: influencing factors and concrete improvements</article-title>
          .
          <source>In Procs. of ICSE</source>
          , pages
          <fpage>553</fpage>
          -
          <lpage>560</lpage>
          . ACM Press,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Rosa</surname>
          </string-name>
          .
          <article-title>Managing uncertainty in bidirectional model transformations</article-title>
          .
          <source>In SLE 2015</source>
          , pages
          <fpage>49</fpage>
          -
          <lpage>58</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Managing design-time uncertainty</article-title>
          .
          <source>Software &amp; Systems Modeling</source>
          ,
          <volume>54</volume>
          (
          <issue>9</issue>
          ):
          <fpage>69</fpage>
          ,
          <string-name>
            <surname>Mar</surname>
          </string-name>
          .
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Partial models: Towards modeling and reasoning with uncertainty</article-title>
          .
          <source>In ICSE</source>
          , pages
          <fpage>573</fpage>
          -
          <lpage>583</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Famelis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Sandro</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Transformation of models containing uncertainty</article-title>
          .
          <source>In MoDELS'13</source>
          , pages
          <fpage>673</fpage>
          -
          <lpage>689</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>D.</given-names>
            <surname>Garlan</surname>
          </string-name>
          .
          <article-title>Software engineering in an uncertain world</article-title>
          .
          <source>In Proceedings of the FSE/SDP workshop on Future of software engineering research</source>
          , pages
          <fpage>125</fpage>
          -
          <lpage>128</lpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>H.</given-names>
            <surname>Giese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tichy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Burmester</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Schäfer</surname>
          </string-name>
          .
          <article-title>Towards the compositional verification of real-time UML designs</article-title>
          .
          <source>ACM SIGSOFT</source>
          ,
          <volume>28</volume>
          (
          <issue>5</issue>
          ):
          <fpage>38</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ibrahim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. H.</given-names>
            <surname>Far</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Eberlein</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Daradkeh</surname>
          </string-name>
          .
          <article-title>Uncertainty management in software engineering: Past, present, and future</article-title>
          .
          <source>In CCECE</source>
          , pages
          <fpage>7</fpage>
          -
          <lpage>12</lpage>
          . IEEE,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Horkoff</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Sandro</surname>
          </string-name>
          .
          <article-title>Managing requirements uncertainty with partial models</article-title>
          .
          <source>Requir</source>
          . Eng.,
          <volume>18</volume>
          (
          <issue>2</issue>
          ):
          <fpage>107</fpage>
          -
          <lpage>128</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>P.</given-names>
            <surname>Sawyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Bencomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Whittle</surname>
          </string-name>
          , E. Letier,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Finkelstein</surname>
          </string-name>
          .
          <article-title>Requirements-aware systems: A research agenda for re for self-adaptive systems</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>D.</given-names>
            <surname>Schwabe</surname>
          </string-name>
          , G. Rossi, and
          <string-name>
            <surname>G. Rossi.</surname>
          </string-name>
          <article-title>The object-oriented hypermedia design model</article-title>
          . pages
          <fpage>45</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>M.</given-names>
            <surname>Speicher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Both</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Gaedke</surname>
          </string-name>
          .
          <article-title>Ensuring Web Interface Quality through Usability-Based Split Testing</article-title>
          .
          <source>In ICWE</source>
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>E.</given-names>
            <surname>Umuhoza</surname>
          </string-name>
          , H. Ed-douibi, M. Brambilla,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Bongio</surname>
          </string-name>
          .
          <article-title>Automatic code generation for cross-platform, multi-device mobile apps: Some reflections from an industrial experience</article-title>
          .
          <source>In Proceedings of the 3rd International Workshop on Mobile Development Lifecycle, MobileDeLi</source>
          <year>2015</year>
          , pages
          <fpage>37</fpage>
          -
          <lpage>44</lpage>
          , New York, NY, USA,
          <year>2015</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>R.</given-names>
            <surname>Vdovják</surname>
          </string-name>
          , F. Fra˘sincar, G.
          <string-name>
            <surname>-J. Houben</surname>
            , and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Barna</surname>
          </string-name>
          .
          <source>Engineering Semantic Web Information Systems in Hera. Journal of Web Engineering</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          -2):
          <fpage>3</fpage>
          -
          <lpage>26</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>E. Visser.</surname>
          </string-name>
          <article-title>WebDSL: A case study in domain-specific language engineering</article-title>
          .
          <source>In GTTSE</source>
          <year>2007</year>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>Voelter</surname>
          </string-name>
          and E. al.
          <article-title>DSL engineering: Designing, implementing and using domain-specific languages</article-title>
          .
          <source>dslbook. org</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>