<!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>A Model-Driven Approach for Mobile Business Information Systems Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luís Pires Silva</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fernando Brito e Abreu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vasco Amaral</string-name>
          <email>vasco.amaral@fct.unl.pt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CITI, FCT/UNL</institution>
          ,
          <addr-line>Campus da Caparica, Quinta da Torre, 2829-516 Caparica</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>QUASAR / ISTAR/ ISCTE-IUL, Av.a das Forças Armadas</institution>
          ,
          <addr-line>1649-026 Lisboa</addr-line>
          ,
          <country country="PT">Portugal</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Context: Mobile BIS apps demand is increasing, with shorter time-to-market requirements, but their production faces problems, such as handling business rules concurrently, multiple platforms, localization and extensibility. Objective: Propose a generative approach for mobile BIS apps that will mitigate the identified problems. Method: We adopted the Design Science Research methodology, that helps gaining problem understanding, identifying systemically appropriate solutions, and in evaluating innovative solutions. Results: We identified the problem and its motivation, defined the objectives for a solution, designed and developed a prototype generative tool for BIS apps, demonstrated its usage and evaluated how well it mitigates a subset of the identified problems in an observational study. Limitations: Several issues are pending such as distributed business rules enforcement and the formalization of the required transformations from the PIM to several platform-specific models (PSMs). Conclusion: We intend to contribute for reducing BIS apps time-to-market, while improving the maintainability of those apps.</p>
      </abstract>
      <kwd-group>
        <kwd>Mobile apps</kwd>
        <kwd>BIS</kwd>
        <kwd>MDE</kwd>
        <kwd>business rules</kwd>
        <kwd>OCL</kwd>
        <kwd>transformations</kwd>
        <kwd>PIM</kwd>
        <kwd>PSM</kwd>
        <kwd>Design Science Research</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The burst on the availability of smart mobile devices is powering a growing
mobile business ecosystem [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In this ecological metaphor firms are part of a
larger ecosystem, each playing a contributing role and forming symbiotic
relationships with customers, suppliers, and competitors. This ecosystem is fueled
by the emergence of an “App Economy”, enabling new products and services,
but also influencing strategies and shaping business models [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. According to
a software market diagnosis for the EU27 region, the apps share is the fastest
growing one and will account for roughly half of that market by 2020 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        The expanding mobile ecosystem puts an increasing pressure in the
demand for mobile business information systems (BIS) apps, therefore enforcing
short time-to-market requirements [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. However, developing such applications
is a challenging task, due to several technical hindrances. Some are generic,
such as the need to support localization features, and others are specific to
mobile devices, such as the ability to support the diversity of available
deployment platforms (e.g. diverse screen sizes, resolutions and orientation), as
we had the chance to experience on our previous work [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ].
      </p>
      <p>Those mobile BIS apps must perform distributed business constraints
handling, since they will be used concurrently by users in both connected and
disconnected modes. Furthermore, since business rules change frequently, it is
important to make them as much detached as possible from the source code,
for maintainability sake. The aforementioned scenario calls for cost-effective
techniques to generate mobile BIS apps. This paper proposes a model-driven
generative approach that is expected to mitigate the aforementioned problems.</p>
      <p>
        To guarantee business continuity, BIS apps must work online and offline.
However, since multiple users will be working concurrently, business
constraints violations may arise when switching from offline to online (P1).
These business constraints are usually buried in the BIS apps source code,
thus increasing maintenance costs and fault proneness (P2). Mobile platforms
are very diverse, in terms of size and resolution, requiring BIS apps to
perform a dynamic reconfiguration of their user interfaces (P3). The usually
small size of those interfaces may be a hindrance in BIS apps, especially when
the problem domain is complex, due to the multitude of concepts and their
interrelationship that must be handled through their GUI (P4). Users should
also be able to work in their native language, but we cannot forecast, at design
time, which will be required (P5). Last, but not the least, automatically
generated software systems are usually hard to understand, extend and integrate
with existing systems, as recognized in a recent survey on MDE adoption in
industry [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] (P6).
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related work</title>
      <p>
        A good starting point were some systematic secondary studies on
modeldriven engineering (MDE) generative approaches [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ]. There, we could
confirm our suspicions that, while many MDE code generation endeavors have
been carried out during recent years, most seem to be small-scale studies. We
could not find any generative approach supporting distributed constraints
satisfaction in the context of mobile BIS apps. Still, we could find evidence of
some related approaches targeting comprehensive BIS apps generation.
      </p>
      <p>
        The Naked Objects pattern, initially defined in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], advocates that all
business logic should be encapsulated onto the domain objects. It also
recommends that the user interface should be a direct representation of the domain
objects, with all user actions consisting, explicitly, of creating or retrieving
domain objects and/or invoking methods on those objects. The user interface
should be created 100% automatically from the definition of the domain
objects, for instance, using reflection techniques. There are some code
generation tools based on the this approach, such as the Naked Objects for .NET [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
or the Apache Isis for Java [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Both tools follow the same principle, which
is providing automatically a strong base structure, where the programmer can
then specify directly in code the domain model and reach other layers through
annotations. Another example is JMatter [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], a software framework, also
based in the Naked Objects pattern, for constructing workgroup business
applications, where the domain model can be specified in UML trough
Ultraviolet, a light UML editor [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Regarding the visualization, they are all very
similar, being the main difference that the first two are web oriented, and
JMatter produces a Java GUI environment. All aforementioned examples
seem to follow a table oriented view style to represent entities and their
relationships, which could became a hindrance on small screen phones, due to
space restrictions.
      </p>
      <p>
        None of the aforementioned generative approaches seem to have
synchronization concerns, since they operate within the server database and therefore
only solve direct concurrency problems. For instance, the Apache Isis targets
web apps, server connection is considered to be always available, so a
RESTful standard approach is implemented [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Furthermore, both Naked Objects
and Apache Isis apparently offer the most complete and maintainable
approach, since they are based on a reflection type approach. Such a feature
allows the developer to fill in the gaps and still make use of the provided API.
Another drawback of the previous approaches is that simple naked objects are
unable to convey all the abstractions and characteristics of a complex UI,
namely its composition and behavior (e.g. navigation paths) [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Proposed solution</title>
      <p>
        To mitigate the aforementioned problems (P1 through P6) we propose
applying MDE techniques to automatically generate fully functional mobile BIS
apps with a sound, maintainable, architecture. MDE is about the systematic
use of software abstractions – or models – as primary artifacts during a
software engineering process [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Our generative approach builds upon the
following mainstays: (i) Model centered generation – everything follows the
model, from GUI navigation to persistence; (ii) Separation of concerns – there
is a clear separation in layers or components, each encapsulating a concern of
its own (e.g. presentation, persistence, synchronization); (iii) Paradigm
seamlessness – the object paradigm is used throughout; by using the same type
system, we avoid type conversions (e.g. from object to relational and
viceversa) that hamper maintainability.
      </p>
      <p>
        Our input is a PIM expressed as a UML class diagram enriched with
design-by-contract constraints expressed with OCL. The model is further
annotated for expressing presentation and synchronization rules, also in a
platformindependent fashion. The non-functional requirements for the generated BIS
apps include local persistency capabilities, required for offline usage, and
distributed synchronization capabilities to guarantee overall system state
consistency. Other required “qualities” with which we are concerned, include
portability and maintainability. The aforementioned synchronization across
multiple users requires a coordination server to guarantee that business rules
consistency is kept system-wide. This issue is similar to the distributed
constraint satisfaction problem that has been addressed in the AI field [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and is
probably the greatest challenge to be faced in this research work.
      </p>
      <p>
        The output of our generative approach is supposed to be a fully functional
BIS app for a given target platform. To address this desideratum, we plan to
apply language engineering transformation techniques [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] in two steps. In
the first step we will go from the PIM to a PSM, corresponding to the desired
platform. In the second step we will take as input the PSM and generate
source code for the client-side. The server-side code generation process is
performed directly from the PIM, since it has no dependencies on the mobile
platform used.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Preliminary work</title>
      <p>
        In the context of his MSc thesis, the first author, supervised by the second
author, has developed the JUSE4Android1 tool. Its main goal was to reduce
the development effort of Android BIS apps by means of a PIM centered
generative approach [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The PIM is a UML class diagram, enriched with
annotations that set the rules for the UI and persistency layers.
      </p>
      <p>The generated apps follow a model-based navigation scheme, support local
persistency, all the CRUD operations and are also capable of simple
synchronization. We used DB4O, an object-oriented database management system
(ODBMS) that has features that make it particularly suitable for mobile
platforms [20], besides being more efficient than relational counterparts [21].
DB4O allowed to avoid unnecessary transformations from the object-oriented
type system of the host language (Java) to the more recurrent relational model
used for persistence in Android apps. The resulting code is more maintainable
due to this paradigm seamlessness.</p>
      <p>The followed model-based navigation scheme allows us to support, in an
easier way regarding layout structures, several screen sizes, since we only
show one entity type at a time. In order to see associated objects, the user
1 https://code.google.com/p/juse4android/
must navigate by means of an offered navigation bar. By following the master
detail flow design pattern it is possible to accommodate smaller phone screens
by showing either the master, or the detail screens. If the screen is large
enough, both are shown at the same time. Regarding screen size recognition,
adaptation and elements sizing, we use Android’s size qualifiers when
creating the folders which will contain the generated XML files that describe the
layouts and views, so that the Android operating system is able to select
automatically the required ones, depending on the characteristics of the current
device. We followed the same generative principle for all the layers (except
the model layer), by making every possible view or class as much
independent of other entity types as possible.</p>
      <p>JUSE4Android uses the UML Specification Environment (USE),
developed at Bremen University2, which is used to parse the supplied PIM and
validate it. The JDOM3 package was also embedded into the JUSE4Android,
since it provides a simple API to read, manipulate and create XML type files.
It follows the visitor pattern to facilitate extensibility, being the model classes
the common argument of the visitor. For each supplied PIM, JUSE4Android
generates, two applications: one for the client-side and another for the
serverside. The client-side has several layers: the View layer where the views are
describe in XML files; the View-Model layer (control layer) which acts as a
middle man between the View and Model layers and controls and reacts to
user inputs; the Model layer holds the domain logic, as described in the
domain model; the Persistency layer offers the required API to communicate
with the DB4O persistency engine; and lastly the Synchronization layer. The
Model layer, besides the usual getters and setters, provides CRUD operations
for all navigations that are possible to perform from a given domain entity,
and was built upon the experience gathered in the open-source project JUSE
for Java4 developed for educational purposes in the context of MDE, by the
second author of this paper.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Expected contributions</title>
      <p>Business rules can be specified with OCL in the PIM and then compiled by
the USE component. We will survey existing proposals to generate Java code
from OCL business rules before implementing our own, to obtain the best of
the breed. Here we plan to deliver (i) a systematic review on OCL to Java
transformation and (ii) a new version of the JUSE4Android tool, capable of
generating the code for business rules enforcement upon a local DB4O
data2 http://sourceforge.net/apps/mediawiki/useocl/
3 http://www.jdom.org/
4 https://code.google.com/p/j-use/
base instance. That code can be embedded in the client-side Android BIS app,
required for offline work, or in the one running in the cloud server.</p>
      <p>We will research the problem of distributed constraints satisfaction,
through another systematic review, which will provide a better understanding
of the advances in the field and its players, along with corroborating the
research niche where our expected contributions will fit. We expect to devise a
solution that will allow orchestrating business rules enforcement, namely
resolving inconsistencies that arise when concurrent users of the mobile BIS
apps shift from offline to online usage. The existing DB4O synchronization
engine component, which we tested, only provides distributed data updates,
therefore not guaranteeing the required business rules consistency. This is
probably the biggest research challenge to be faced in this project and the
expected results will be: (i) a systematic review on distributed constraints
handling, (ii) our proposed approach for distributed rules orchestration, and
(iii) a new version of the JUSE4Android tool supporting that orchestration.</p>
      <p>
        We aim at generating mobile BIS apps for other mobile platforms.
Although there are Java virtual machines (JVMs) available for all of them, the
rendering mechanisms for the GUIs are platform-specific. We plan to apply
language engineering transformation techniques [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] in two steps, to address
this issue. In the first step (model-to-model transformation) we will go from
the PIM to a PSM, corresponding to the desired platform (e.g. Android, iOS,
Windows Mobile). In the second step (model-to-code transformation) we will
take as input the PSM and generate source code for the client-side (the BIS
app running on the users’ mobile device). The code generation process for the
server-side will hopefully be performed directly from the PIM, since we
cannot envisage dependencies on the platform. The portability of the DB4O
component on all the required mobile platforms is also an issue here, but we
expect the Versant open-source community5 will find a solution for that
problem. The expected outcomes of this thread are: (i) the formal specifications of
the PIM to PSMs and PSM to code transformations and (ii) the new
JUSE4Mobile tool, supporting those transformations. Several components of
      </p>
    </sec>
    <sec id="sec-6">
      <title>JUSE4Android, described in section Error! Reference source not found.,</title>
      <p>are expected to be reused here, with some adaptations.
6</p>
    </sec>
    <sec id="sec-7">
      <title>Plan for evaluation and validation</title>
      <p>
        To assess the outcome of the previous threads, we plan to conduct several
qualitative and quantitative validation experiments. The latter will be
performed for the two encompassed roles: the developer that generates mobile
BIS apps and the user that installs and runs those apps. Those experiments
5 http://community.versant.com/
will address different quality characteristics such as usability, maintainability,
portability and efficiency, as defined in the ISO/IEC SQuaRE standard [22]. A
usability validation experiment targeting the user role, in the context of the
preliminary work, can be found in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. That experiment provided evidence
that our model-driven navigation paradigm is easy to understand and
promotes incremental conceptual learning. Since we will always make the tool
available as an open-source project, we expect to collect usage data and
feedback from those that will use it. That feedback will hopefully provide the
ultimate proof of feasibility for our proposals. We will also strive at receiving
feedback from the automated software engineering and MDE research
communities, by preparing demos for presentation in scientific meetings6.
7
      </p>
    </sec>
    <sec id="sec-8">
      <title>Current status</title>
      <p>We have proposed a MDE generative approach for mobile business apps that
is expected to mitigate several problems such as guaranteeing distributed
business rules fulfilment, support multiple platforms and handle localization,
while reducing the development and maintenance effort. Its input is a PIM
model, where business rules are expressed in OCL. The support to several
target platforms will be achieved through transformation techniques, namely
to fulfill the required GUI reconfiguration requirements which are
platformspecific. A model-driven interaction paradigm is also briefly introduced. The
generated mobile BIS apps have a layered architecture, with paradigm
seamlessness, which is expected to increase program comprehension and
maintainability. The planned timeline for completion is represented in Figure 1.
6 e.g. in http://ase-conferences.org/ or www.modelsconference.org/
systematic literature review. Information and Software Technology 54, 1340-1356
(2012)
20. Falsken, E.: Enabling the Mobile Enterprise with db4o Versant (2013)
21. Roopak, K.E., Rao, K.S.S., Ritesh, S., Chickerur, S.: Performance Comparison of
Relational Database with Object Database (DB4o). In: Computational Intelligence
and Communication Networks (CICN), 2013 5th International Conference on, pp.
512-515. (Year)
22. Esaki, K., Azuma, M., Komiyama, T.: Introduction of Quality Requirement and
Evaluation Based on ISO/IEC SQuaRE Series of Standard. Trustworthy
Computing and Services, pp. 94-101. Springer (2013)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Basole</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karla</surname>
          </string-name>
          , J.:
          <article-title>On the Evolution of Mobile Platform Ecosystem Structure and Strategy</article-title>
          .
          <source>Business &amp; Information Systems Engineering</source>
          <volume>3</volume>
          ,
          <fpage>313</fpage>
          -
          <lpage>322</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Page</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Molina</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>The Mobile Economy</article-title>
          . Kearney, AT (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Aumasson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bonneau</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leimbach</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gödel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <source>Economic and Social Impact of Software &amp; Software-Based Services. BE: European Commission</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Parada</surname>
            ,
            <given-names>A.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brisolara</surname>
            ,
            <given-names>L.B.</given-names>
          </string-name>
          :
          <article-title>A Model Driven Approach for Android Applications Development</article-title>
          .
          <source>Brazilian Symposium on Computing System Engineering</source>
          (SBESC'
          <year>2012</year>
          ), pp.
          <fpage>192</fpage>
          -
          <lpage>197</lpage>
          , Natal, Brazil (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Pires</given-names>
            <surname>Silva</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          :
          <article-title>A Model-Driven Approach to Generative Programming for Mobile Devices</article-title>
          .
          <source>DCTI</source>
          , vol.
          <source>MSc</source>
          . Instituto
          <string-name>
            <surname>Universitário de Lisboa (ISCTE-IUL</surname>
            <given-names>)</given-names>
          </string-name>
          , Lisbon, Portugal (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Pires</given-names>
            <surname>Silva</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          , Brito e Abreu,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>Model-Driven GUI Generation and Navigation for Android BIS Apps</article-title>
          . In: Lisbon, P. (ed.)
          <source>2nd International Conference on ModelDriven Engineering and Software Development (MODELSWARD'2014)</source>
          , pp.
          <fpage>400</fpage>
          -
          <lpage>407</lpage>
          . SCITEPRESS Digital Library, Lisbon, Portugal (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hutchinson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whittle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rouncefield</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kristoffersen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Empirical assessment of MDE in industry</article-title>
          .
          <source>Proceedings of the 33rd International Conference on Software Engineering</source>
          , pp.
          <fpage>471</fpage>
          -
          <lpage>480</lpage>
          . ACM, Waikiki, Honolulu,
          <string-name>
            <surname>HI</surname>
          </string-name>
          , USA (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Schieferdecker</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hartman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mohagheghi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dehlen</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          : Where Is the Proof?
          <article-title>- A Review of Experiences from Applying MDE in Industry</article-title>
          .
          <source>Model Driven Architecture - Foundations and Applications</source>
          , vol.
          <volume>5095</volume>
          , pp.
          <fpage>432</fpage>
          -
          <lpage>443</lpage>
          . Springer Berlin Heidelberg (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Pawson</surname>
          </string-name>
          , R.:
          <article-title>Naked objects</article-title>
          . Department of Computer Science. University of Dublin, Trinity College (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Pawson</surname>
          </string-name>
          , R.:
          <source>Naked Objects. IEEE Software 19</source>
          ,
          <fpage>81</fpage>
          -
          <lpage>83</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Haywood</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : Apache Isis. (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Suez</surname>
          </string-name>
          , E.: JMatter. (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Ramage</surname>
          </string-name>
          , R.:
          <article-title>umlc - UML modeling with code generation and UMLcompiler</article-title>
          . (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Fielding</surname>
          </string-name>
          , R.T.:
          <article-title>Architectural styles and the design of network-based software architectures</article-title>
          . University of California, Irvine (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Kennard</surname>
            ,
            <given-names>R.</given-names>
            , Steele, R.
          </string-name>
          :
          <article-title>Application of Software Mining to Automatic User Interface Generation</article-title>
          . In: SoMeT, pp.
          <fpage>244</fpage>
          -
          <lpage>254</lpage>
          . IOS Press, (
          <year>Year</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Xudong</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jiancheng</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>User interface design model</article-title>
          .
          <source>Eighth ACIS International Conference on Software Engineering, Artificial Intelligence</source>
          , Networking, and Parallel/Distributed Computing, vol.
          <volume>3</volume>
          , pp.
          <fpage>538</fpage>
          -
          <lpage>543</lpage>
          . IEEE, Qingdao, China (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kleppe</surname>
            ,
            <given-names>A.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Warmer</surname>
            ,
            <given-names>J.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bast</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>MDA explained: the model driven architecture: practice and promise</article-title>
          . Addison-Wesley
          <string-name>
            <surname>Professional</surname>
          </string-name>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Yokoo</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Distributed constraint satisfaction: foundations of cooperation in multi-agent systems</article-title>
          . Springer Publishing Company, Incorporated (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Santiago</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , Jiménez, Á.,
          <string-name>
            <surname>Vara</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Castro</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bollati</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marcos</surname>
          </string-name>
          , E.:
          <article-title>Model-Driven Engineering as a new landscape for traceability management: A</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>