<!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>Domain-Speci c Modeling and Code Generation for Cross-Platform Multi-Device Mobile Apps?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Eric Umuhoza??</string-name>
          <email>eric.umuhoza@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Politecnico di Milano. Dipartimento di Elettronica</institution>
          ,
          <addr-line>Informazione e Bioingegneria Piazza L. Da Vinci 32. I-20133 Milan</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nowadays, mobile devices constitute the most common computing device. This new computing model has brought intense competition among hardware and software providers who are continuously introducing increasingly powerful mobile devices and innovative OSs into the market. In consequence, cross-platform and multi-device development has become a priority for software companies that want to reach the widest possible audience. However, developing an application for several platforms implies high costs and technical complexity. Currently, there are several frameworks that allow cross-platform application development. However, these approaches still require manual programming. My research proposes to face the challenge of the mobile revolution by exploiting abstraction, modeling and code generation, in the spirit of the modern paradigm of Model Driven Engineering.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Context Nowadays, mobile devices constitute the most common computing
device. A vast array of features has been incorporated into those devices to address
the di erent demands of users spanning from games to serious business. Today
mobile devices are as powerful as desktop computers in terms of their computing
capabilities. This new computing model have brought intense competition and
innovation among devices, OSs, and application providers.</p>
      <p>
        Problem Even though the mobile OS market is beginning to mature and
consolidate, most researches concur that it is unlikely that a single vendor will
dominate the future mobile-centric world [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The dilemma between
browserbased (HTML 5) and native (iOS, Android, Blackberry, Symbian, and Windows
Phone) interfaces remains relevant and will challenge the capacity of
organizations to meet the increasing demand for mobile apps.
      </p>
      <p>Moreover, the vastness and diversity of mobile devices and operating systems
available on the market oblige companies to produce and deploy the same app
several times, once for each of the di erent mobile platforms. Unfortunately,
cross-platform and multi-device development is a barrier for today's IT solution
providers, especially SMEs, due to the high cost and technical complexity of
targeting development to a wide spectrum of devices, which di er in format,
interaction paradigm, and software architecture.</p>
      <p>
        Currently, there are several frameworks implementing di erent
methodologies for cross platform application development (Web, Hybrid, Interpreted and
Cross Compiled): examples include PhoneGap(Cordova) 1, Appcelerator
Titanium2, and Xamarin3. Unfortunately, these approaches still require manual
programming which yields to high risks of errors, inconsistencies and ine ciencies.
Relevance The number of apps that are available in the online markets has
reached unseen numbers. In fact, by July 2014, the Google Play store counted
1.3 million of available apps while Apple's App Store counted 1.2 million. In
parallel with these numbers, the market also expects an increase in the number
of global smart-phones users, which is expected to surpass 2 billion by 2016 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
in comparison with 1.4 billion users estimated in 2013 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. From those number
we can expect a healthy market of software apps that would be powered by a
steady increase in the number of mobile device users, which as of today have,
on average, 41 apps installed on their devices [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Furthermore, the motivation
of the software development companies to continue producing more and better
apps is supported by recent industry gures, according to which global mobile
app revenues are projected to surpass 76.52 billion U.S. dollars in 2017. ABI
research forecasts in 2018, app revenues will be worth 92 billion U.S dollars [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
My Vision My research proposes to face the challenge of the mobile
revolution by exploiting abstraction, modeling and code generation. Di erent
MDD approaches for cross-platform mobile apps development will be studied
with the aim of providing a framework allowing apps developers to choose a
MDD approach that meets their requirements. The problem of multi-device will
be approached by providing a set model-to-model transformations that are
applied over the same model of the mobile app. Each of these transformations will
produce a new model that describes the shape the app will have in a particular
device family (tablet, smart-phone, smart-watch, etc).
      </p>
      <p>The paper is organized as follows: Section 2 describes the problem that my
research intends to solve; Section 3 reviews the related work; 4 presents the
proposed solution; Section 4 presents the methodology and tools that will help
to use the proposed solution; and Section 6 presents the preliminary work, the
future works and the contributions expected from my research.</p>
      <sec id="sec-1-1">
        <title>1 www.phonegap.com</title>
      </sec>
      <sec id="sec-1-2">
        <title>2 www.appcelerator.com</title>
      </sec>
      <sec id="sec-1-3">
        <title>3 www.xamarin.com</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Problem Statement</title>
      <p>Cross-platform and multi-device development is a barrier for today's IT
solution providers, especially SMEs, due to the high cost and technical complexity
of targeting development to a wide spectrum of devices, which di er in format,
interaction paradigm, and software architecture. The challenges of mobile apps
developments that my research attempt to address are described in detail in the
next paragraphs.</p>
      <p>
        P1: Platform. The market of mobile operating systems is fragmented and
rapidly changing. The diversity of OSs available on the market oblige software
developers that want to reach a large audience of users to develop their apps for
each platform (at least for the most competitive ones such as Android, iOS, and
Windows Phone [
        <xref ref-type="bibr" rid="ref10 ref14">14, 10</xref>
        ]) separately.
      </p>
      <p>
        P2: Di erent Front End Requirements. From the user interactions
perspective, mobile apps are expected to support a wider set of interactions that
are captured by means of a tactile surface (interaction through a set of gestures
like taps and swipes ) and through the di erent sensors that are packed into
the device (sensor-based interactions like rotate and shake ). Moreover, front-end
design of mobile apps must consider the size constraints imposed by the
characteristics of the screens of modern mobile devices. In addition, the mobile apps
must adapt to changes of the context (the communication network, the battery
level of the device and the environment surrounding the user) to deliver the most
e cient interface [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>P3: Resource Scarcity. Even though the mobile OSs provide the optimization
strategies to cope with the scarcity of resources on mobile devices (like memory
and storage, battery, and the instability and diversity of the communication
networks), mobile apps need to be able to receive system noti cations (such as the
battery level and new networks availability) and react appropriately to them in
order to provide a consistent and reliable user experience.</p>
      <p>P4: Device Diversity. Currently, the market o ers several families of
mobile devices such as tablets, smart-phones and emerging smart-watches. Each
of them can show di erent amounts of information, uses particular navigation
patterns and has a diverse set of sensors available at run-time. These di erences
imply that software developers have to create applications that can either adapt
to the speci c device in which they are running, or create di erent versions of
the application, each of them targeting a speci c device family.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Related work</title>
      <p>This research is the rst one that attempts to compare various model-driven
strategies for cross-platform and multi-device mobile apps development with
aim of providing guidelines to the developers who need to adopt MDD approach
in their mobile apps development process. Thus, this section assesses the existing
works that apply the MDD approach to the development of mobile apps in a
broad sense.</p>
      <p>
        Those works can be divided into two di erent clusters. On one hand we
encounter a corpus of research that apply model-driven techniques to specify
application interfaces and user interaction (in a broad sense) for multi-device
UI modeling. Among them we can cite: TERESA(Transformation Environment
for inteRactivE Systems representations) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], based on a so-called One Model,
Many Interfaces approach to support model based GUI development for
multiple devices from the same ConcurTaskTree (CTT) model; MARIA [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ],
another approach based on CTT; UsiXML (USer Interface eXtended Markup
Language) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]; Uni ed Communication Platform (UCP); and IFML (Interaction
Flow Modeling Language) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], a platform independent modeling language
designed to express the content, user interaction, and control behavior of the
frontend of software applications. However, none of them speci cally addresses the
needs of mobile apps development.
      </p>
      <p>
        My research will leverage on the IFML language which has been recently
adopted as a OMG standard. In particular my research provided a mobile
extension [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] of IFM that will be used to describe, at PIM level, the main aspects
of a mobile app front-end. Moreover, since IFML can be used in tandem with
other modeling languages, aspects like the domain model and the business logic
of the app will be de ned through standard languages like UML.
      </p>
      <p>On the other hand we nd a collection of works that proposes MDD solutions
for the development of cross-platform mobile apps. This cluster of researches can
be further divided into three groups depending on whether they produce native,
hybrid or web-based apps.</p>
      <p>
        In the rst group we encounter projects like MD2 [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], an approach that
focuses on the code generation (for Android and iOS) of data-driven business apps
for tablets according to the MVC paradigm, Vaupel et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] de ned an
infrastructure that supports the speci cation of di erent variants of an Android app
according to user roles, and Franzago et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] de ned a collaborative framework
for the design and development of data-intensive mobile apps. Their approach is
based on PIM languages allowing the speci cation of various viewpoints
(navigation, content, user interface, and business logic) of a data-intensive mobile apps.
In contrast with MD2, which only targets Android and iOS, my research will
allow for the generation of hybrid and native apps. Moreover, MD2 o ers a textual
syntax that is suitable for users with a programming background. My research
instead will leverage on the graphic syntax provided by IFML to enable domain
experts participate in the design and speci cation of mobile apps. Finally, my
research is di erent from Franzago et al. because it uses standard languages like
IFML and UML for modeling the di erent concerns of mobile apps. Moreover
my proposed solution uses a single modeling language to specify the UI and
navigation, whereas Franzago et al. use one language for each concern.
      </p>
      <p>The second group concerns solutions that generate hybrid apps to address the
cross-platform issue. As part of this group we can mention Applause4, a
domainspeci c language and a set of code-generators to produce mobile apps for iPhone,
Android, Windows Phone on top of Google App Engine. As mentioned before,
my solution will consider the generation of both native and hybrid apps and will
provide a graphical syntax, which are both missing in Applause.</p>
      <p>Finally, the third group contains MDD proposals that generate web-based
mobile apps. A good representative of this category is Mobl5, an open source
language designed to speed up building mobile apps. Mobl o ers a concise
language to build native-feeling web apps for mobile system. Even though this
approach towards cross-platform development is not considered in my solution,
it could be seen as a complementary strategy suitable for speci c scenarios where
the native or the hybrid solutions do not bring any additional value.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Proposed Solution</title>
      <p>I propose to face the challenge of cross-platform multi-device mobile apps
development by applying a model driven development (MDD) approach. I will use
the model driven architecture (MDA)6 as a reference framework to illustrate the
proposed solution. MDA de nes models at three di erent levels of abstraction:
Computation Independent Models (CIM), Platform Independent Models (PIM),
and Platform Speci c Models (PSM). A set of mappings between each level and
the subsequent one can be de ned through model transformations. Every CIM
can map to di erent PIMs, which in turn can map to di erent PSMs but many
other combinations can be followed, for instance skipping one of the levels.</p>
      <p>My research proposes to address the problem of cross-platform mobile apps
development through four code generation alternatives depicted in Figure 1. The
code generators input the models that describe the app requirements and output
the app code. The domain model and the business logic of the app are de ned
through UML while the app front-end is de ned through IFML. In contrast I
will deal with the issue of multi-device mobile apps development through model
transformations that would be applied at the PIM level. Section 4.1 is dedicated
to the issue of cross-platform mobile apps development (P1, P2 and P3 ) while
the solution to the problem of multi-device development (P4 ) will be presented
separately in Section 4.2.
4.1</p>
      <sec id="sec-4-1">
        <title>Cross-Platform Development</title>
        <p>When following the MDD approach, several code generation strategies are
possible depending, both, on the abstraction level to be used when modeling the
application and the abstraction level of the code to be generated.</p>
        <sec id="sec-4-1-1">
          <title>4 https://github.com/applause/applause</title>
        </sec>
        <sec id="sec-4-1-2">
          <title>5 http://www.mobl-lang.org/</title>
        </sec>
        <sec id="sec-4-1-3">
          <title>6 //http://www.omg.org/mda/</title>
          <p>In this research, I will analyze all four alternatives for cross-platform mobile
apps development ( gure 1) with the aim of providing apps developers the
guidelines to choose the right MDD approach for them according to their particular
requirements. To reach this goal, the pros and cons of each of those options will
be studied.</p>
          <p>Platform Independent Model (PIM)</p>
          <p>M2T
Native
Code
(1)</p>
          <p>M2M</p>
          <p>PSM</p>
          <p>M2T
Native
Code
(2)</p>
          <p>M2T
Cross Platform</p>
          <p>Code
(3)</p>
          <p>M2M
Cross Platform</p>
          <p>Framework
Specific Model
(FSM)</p>
          <p>M2T
Cross Platform</p>
          <p>
            Code
(4)
(1) PIM-to-Native Code. By following this option, the app requirements shall
be speci ed through a Platform Independent Modeling Language such as
mobile IFML [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ]. Using a Platform Independent Modeling Language shall
allow the modeling of the speci c Front End requirements that characterize
mobile applications (P2), as well as the interactions that occur between the
application and the Operating System (P3). The last aspect is important
because these type of interactions allow mobile apps to react to changes in
their execution environment. Finally the creation of a cross-platform (P1)
app is achieved by providing di erent native code generators, one for each
targeted platform, that take as input the same PIM describing the app and
generate as outputs the code for the corresponding platforms. For example
to create a native iOS and Android application using this approach will
require the implementation of two code generators that are able to produce
Objective-C and Java code from the same model of the application.
(2) PIM-to-PSM-to-Native Code. Like in the previous option the front end
requirements of the application is de ned through a Platfrom Independent
Model. In this case, however, the PIM is rst transformed into di erent
PSMs, each of which re nes the initial model adding the platform speci c
details that are not captured at the PIM level. Once the PSMs have been
produced, a set of simple code generators transforms these models into the
native code of each of the target platforms. The previous means that besides
a set of code generators that produces the native code of each of the target
platforms, a Platform Speci c Modeling Language for each of them will also
be needed. Despite of this added cost, the introduction of an additional PSM
level addresses the problems of platform diversity (P1), front-end
requirements (P2) and resource scarcity (P3).
(3) PIM-to-Cross Platform Code. By following this option the application
requirements are speci ed in a Platform Independent Model from which the
code is generated. In this case, however, the generated code must conform to
the structure of a particular cross-platform framework. Then, it will be the
responsibility of the framework to guarantee that the generated app will run
across the di erent platforms. To achieve this the framework will typically
take the generated code and produce the binary les for each of the target
platforms using an automated process.
          </p>
          <p>This option simpli es the creation of a cross-platform app (P1) because it
generates the code for a cross-platform solution. For example to create an
app that will run both on Android and iOS with PhoneGap as the
crossplatform framework a software designer will start by creating the Platform
Independent Model of the application. Then, using a single M2T
transformation he will produce the HTML5, CSS and Javascript code required by
PhoneGap. Finally, using the build tools o ered by the framework the code
will be transformed into the binary les required by each of the target
platforms, which in our case are the ipa le for iOS and apk le for Android.
A Platform Independent Modeling language shall allow the modeling of the
speci c Front End requirements that characterize mobile applications (P2),
as well as the interactions that occur between the app and the OS (P3).
(4) PIM-to-Framework Speci c Model (FSM)-to-CPC. With respect to the
previous option, this approach introduces the FSM which gathers the
information regarding the cross platform framework (such as PhoneGap,
AppCelerator Titanium, and Xamarin) used to produce the apps. FSM is a
PSM in which the Platform in the MDA terminology, is actually a
crossplatform framework for mobile apps development. In this case the PIM is
rst transformed into the FSM which re nes the initial model adding the
cross-platform framework speci c details that are not captured at the PIM
level. Once the FSM has been produced, a simple code generator transform
that model into the code required by the cross-platform framework. The
introduction of FSM level requires to provide a FSM modeling language.
Similarly to the previous option, the problem of front-end requirements (P2) and
resource scarcity (P3) are addressed at modeling level while the problem of
platforms diversity is achieved by the cross-platform framework itself.</p>
          <p>All the options mentioned so far require a modeling language allowing the
speci cation of application requirements in a platform independent manner. In
this research I will use an OMG standard, the Interaction Flow Modeling
Language (IFML) as a reference PIM language. In particular this research will de ne
a mobile extension of IFML to allow the modeling of the speci c Front End
requirements that characterize mobile applications, as well as the interactions that
occur between the application and the OS. The PSM languages required by
options (2) and (4) will be de ned as Platform Speci c Extensions of the mobile
extension of IFML mentioned before. To clarify the solution, Figure 2 shows a
diagram with the proposed modeling stack.
4.2</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>Multi-Device Development</title>
        <p>The solution I propose to address the issue of device diversity (P4) is based
on the following assumption: the characteristics of di erent devices of the same
family (tablet, smart-phone, smart-watch, etc) do not change drastically. For
instance di erent smart-watches are assumed to have more or less the same
screen dimensions and di erent smart-phones are assumed to have have roughly
the same sensors.</p>
        <p>To deal with this issue, I propose a strategy based on a set of model to model
transformations (M2M) that are applied over the same general model of the
mobile application. Each of these transformations will produce a new model that
describes the shape the application will have in a particular device family (Figure
3). For example, when designing an application that should be used in a tablet,
a smart-phone and a smart-watch, a software designer will rst create a single
general model of the application. Then, he will use a particular M2M
transformation to generate a version of the model that is suitable for phones. He will
then repeat the same process using di erent M2M transformations to obtain the
model for the tablet and the watch. At the end of the day, the software designer
will have four di erent Platform Independent Models, that can be transformed
into running code following any of the previously discussed strategies.</p>
        <p>It is important to highlight that the aforementioned M2M transformations
could be de ned using two di erent approaches. The rst approach is based on
PIM for
Tablet</p>
        <p>M2M</p>
        <p>M2M</p>
        <p>PIM for
Smart-Phone</p>
        <p>M2M</p>
        <p>PIM for
Smart-Watch</p>
        <p>M2M</p>
        <p>
          PIM for
…
the de nition of a xed set of transformation rules that given a general model,
are able to produce the model suitable for a particular device family. In the
second approach, the M2M transformation rules are de ned by the software
designer with the support of a model editor that records at each step the
modi cations he applies over the general model to obtain the model of a particular
device family [
          <xref ref-type="bibr" rid="ref16 ref18 ref20">16, 20, 18</xref>
          ]. In summary, in the rst approach the transformation
rules are xed and application independent whereas in the second approach the
transformation rules are de ned by the software designer and depend on the
application. During my research I will evaluate which of the two strategies yields
the best results.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Methodology and Tools</title>
      <p>The results of a comparative study among di erent MDD approaches to
crossplatform and multi-device mobile apps development (Section 4) will constitute
guidelines for apps developers to choose a MDD approach that ts their
requirements.</p>
      <p>Front-end design of mobile apps is a complex task, the content and the
navigation among them must be well designed at the purpose of exploiting at best
the limited space available. Providing design patterns for both the content
organization and navigation could help application designers to nd solutions to
common design challenges and to reuse them. My research will provide a set of
design patterns as to illustrate and simplify the modeling of mobile app using
the de ned method and tools.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Status and Future Works</title>
      <p>
        Preliminary Work. My research starts from a deep state-of-the-art analysis
on mobile apps development in a wide sense on model driven approaches in
particular. The current implementations include:
{ A platform Independent Modeling language for mobile apps [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] along with
its graphical modeling tool7, an eclipse plugin based on Sirius;
      </p>
      <sec id="sec-6-1">
        <title>7 https://github.com/mobileIFML/ifml-editor</title>
        <p>{ A set of rst prototypes of code generators both for native platforms and
cross-platform frameworks;
{ Initial validation through developed mobile apps that includes Instangram,</p>
        <p>CamScanner, and Foursquare.</p>
        <p>
          The future works include:
{ Model-driven analytic. I will study how model-driven techniques can be
combined with existing analytic in order to provide a rich message from web and
mobile apps monitoring;
{ Multi-Devices Development. The issue of model to model transformations
(M2M) mentioned in Section 3.2 needs a deep investigation to understand
whether is better to rely on application independent and xed M2M rules,
application dependent rules or a combination of both [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
{ Platform-Speci c Extensions. The mobile language de ned, allows the
modeling the app in a platform independent manner. However, in some cases
(options (2) and (4) gure 1) it could be worth to model the app or some
part of it taking into account some platform speci c detail that are not
captured at the PIM level;
{ Mobile-Speci c Design Patterns and Anti-Patterns. Identi cation and
modeling of common design patterns for model-driven mobile applications design
and identi cation of mobile-speci c anti-patterns (common design patterns
not suitable for mobile world);
{ Modernization. I will study how to transform legacy applications into mobile
apps. The design patterns will be useful in this phase;
{ Use Cases. I will provide a portfolio of B2C and B2B vertical mobile apps,
demonstrating the e ectiveness of the research approach.
        </p>
        <p>Expected Contributions. My research is expected to make three main
contributions. Firstly, it will give a comprehensive overview of current MDD
approaches for cross-platform app development. Secondly, it will provide a
framework of criteria for evaluating MDD approaches to mobile apps development.
The proposed criteria could be used for future assessments. Thirdly, it will
provide decision advice allowing developers to choose a MDD approach that better
ts their requirements.</p>
        <p>
          In practice the contribution of my research can be appreciated from two di erent
perspectives. First, from the point of view of the software development
companies who could appreciate a MDD approach to cross-platform mobile
applications development that can reduce the technical complexity and the development
costs [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. From the perspective of the nal users, having access to cross-platform
apps that are available in the di erent online markets will let them choose freely
the type of device and OS they can use, without worrying about the availability
of particular apps for their device.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. emarketer report. http://www.emarketer.com/.
          <source>(April</source>
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Flurry. http://www. urry.com/.
          <source>(April</source>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Statista. http://www.statista.com/.
          <source>(April</source>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Silvia</given-names>
            <surname>Berti</surname>
          </string-name>
          , Francesco Correani, Giulio Mori, Fabio Paterno, and
          <string-name>
            <given-names>Carmen</given-names>
            <surname>Santoro</surname>
          </string-name>
          .
          <article-title>Teresa: a transformation-based environment for designing and developing multidevice interfaces</article-title>
          .
          <source>In CHI Extended Abstracts</source>
          , pages
          <volume>793</volume>
          {
          <fpage>794</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Marco</given-names>
            <surname>Brambilla</surname>
          </string-name>
          , Piero Fraternali, and et al.
          <article-title>The interaction ow modeling language (ifml), version 1.0</article-title>
          .
          <string-name>
            <surname>Technical</surname>
            <given-names>report</given-names>
          </string-name>
          , Object Management Group (OMG), http://www.ifml.org,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Marco</given-names>
            <surname>Brambilla</surname>
          </string-name>
          , Andrea Mauri, and
          <string-name>
            <given-names>Eric</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>
          . In MobiWIS, pages
          <volume>176</volume>
          {
          <fpage>191</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Krzysztof</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          and
          <string-name>
            <given-names>Simon</given-names>
            <surname>Helsen</surname>
          </string-name>
          .
          <article-title>Classi cation of model transformation approaches</article-title>
          .
          <source>In OOPSLA</source>
          , volume
          <volume>45</volume>
          , pages
          <fpage>1</fpage>
          {
          <fpage>17</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Oscar</given-names>
            <surname>Diaz and Felipe M. Villoria</surname>
          </string-name>
          .
          <article-title>Generating blogs out of product catalogues: An mde approach</article-title>
          .
          <source>Journal of Systems and Software</source>
          ,
          <volume>83</volume>
          (
          <issue>10</issue>
          ):
          <year>1970</year>
          {
          <year>1982</year>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Mirco</given-names>
            <surname>Franzago</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Henry</given-names>
            <surname>Muccini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Ivano</given-names>
            <surname>Malavolta</surname>
          </string-name>
          .
          <article-title>Towards a collaborative framework for the design and development of data-intensive mobile applications</article-title>
          . In MOBILESoft, pages
          <volume>58</volume>
          {
          <fpage>61</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. Henning Heitkotter, Sebastian Hanschke, and
          <string-name>
            <surname>Tim</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Majchrzak</surname>
          </string-name>
          .
          <article-title>Evaluating crossplatform development approaches for mobile applications</article-title>
          .
          <source>In WEBIST</source>
          , pages
          <volume>120</volume>
          {
          <fpage>138</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Henning</surname>
          </string-name>
          <article-title>Heitkotter, Tim A</article-title>
          .
          <string-name>
            <surname>Majchrzak</surname>
            , and
            <given-names>Herbert</given-names>
          </string-name>
          <string-name>
            <surname>Kuchen</surname>
          </string-name>
          .
          <article-title>Cross-platform model-driven development of mobile applications with md2</article-title>
          .
          <source>In SAC</source>
          , pages
          <volume>526</volume>
          {
          <fpage>533</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>Frederic</given-names>
            <surname>Jouault</surname>
          </string-name>
          and
          <string-name>
            <given-names>Ivan</given-names>
            <surname>Kurtev</surname>
          </string-name>
          .
          <article-title>Transforming models with atl</article-title>
          .
          <source>In MoDELS, MoDELS'05</source>
          , pages
          <fpage>128</fpage>
          {
          <fpage>138</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Fabio</surname>
            <given-names>Paterno</given-names>
          </string-name>
          , Carmen Santoro, and Lucio Davide Spano.
          <article-title>Maria: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments</article-title>
          .
          <source>ACM Trans. Comput</source>
          .-Hum. Interact.,
          <volume>16</volume>
          (
          <issue>4</issue>
          ),
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. Gartner Press Release.
          <article-title>Gartner says worldwide mobile phone sales declined 1.7 percent in 2012</article-title>
          . http://www.gartner.com/newsroom/id/2335616. (
          <year>February 2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. ABI Research. Abi research (march
          <year>2013</year>
          )
          <article-title>application revenues coming from either smart phone or tablets</article-title>
          . http://mobithinking.com. (
          <year>October 2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Yu</surname>
            <given-names>Sun</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Jules</given-names>
            <surname>White</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Je</given-names>
            <surname>Gray</surname>
          </string-name>
          .
          <article-title>Model transformation by demonstration</article-title>
          .
          <source>In Model Driven Engineering Languages and Systems</source>
          , pages
          <fpage>712</fpage>
          {
          <fpage>726</fpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>Jean</given-names>
            <surname>Vanderdonckt</surname>
          </string-name>
          .
          <article-title>A MDA-compliant environment for developing user interfaces of information systems</article-title>
          . In CAiSE, pages
          <volume>16</volume>
          {
          <fpage>31</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Varro</surname>
          </string-name>
          .
          <article-title>Model transformation by example</article-title>
          .
          <source>In Model Driven Engineering Languages and Systems</source>
          , pages
          <fpage>410</fpage>
          {
          <fpage>424</fpage>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Ste</surname>
            en Vaupel, Gabriele Taentzer, Jan Peer Harries, Raphael Stroh, Rene Gerlach, and
            <given-names>Michael</given-names>
          </string-name>
          <string-name>
            <surname>Guckert</surname>
          </string-name>
          .
          <article-title>Model-driven development of mobile applications allowing role-driven variants</article-title>
          .
          <source>In Model-Driven Engineering Languages and Systems</source>
          , pages
          <fpage>1</fpage>
          <lpage>{</lpage>
          17. Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Manuel</surname>
            <given-names>Wimmer</given-names>
          </string-name>
          , Michael Strommer, Horst Kargl, and
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Kramler</surname>
          </string-name>
          .
          <article-title>Towards model transformation generation by-example</article-title>
          .
          <source>In System Sciences</source>
          ,
          <year>2007</year>
          .
          <source>HICSS</source>
          <year>2007</year>
          . 40th Annual Hawaii International Conference on,
          <source>pages 285b{285b. IEEE</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>