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