<!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 Toolchain Transforming Descriptive Domain-Speci c Models into Executable Browser-Based Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthias Sedlmeier</string-name>
          <email>matthias.sedlmeier@mailbox.org</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Gogolla</string-name>
          <email>gogolla@informatik.uni-bremen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Database Systems Group, University of Bremen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <fpage>142</fpage>
      <lpage>149</lpage>
      <abstract>
        <p>While model-driven software development methodologies are still connected to non-agile approaches like the waterfall model, we aim to enable developers to use model-based evolutionary prototyping within agile software development techniques facilitating fast product increments through constant re nement. To reach this goal, we take advantage of the yEd diagram editor for creating, storing and updating graphical domain-speci c models. With a de ned transformation process carried out by a specially developed pair of Ruby tools, we rapidly generate working implementations from these models based on Ruby on Rails, a widely adopted solution for web application design. Our toolchain at hand, we demonstrate all steps required to provide executable browserbased applications from our descriptive domain models managed in yEd and suggest an agile software development approach.</p>
      </abstract>
      <kwd-group>
        <kwd>Domain-Speci c Modeling</kwd>
        <kwd>Graphical Modeling Language</kwd>
        <kwd>Model Management</kwd>
        <kwd>Model Transformation</kwd>
        <kwd>Code Generation</kwd>
        <kwd>Evolutionary Prototyping</kwd>
        <kwd>Agile Software Development</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Modeling in general and Domain-Speci c Modeling (DSM) are typically carried
out within an approach-speci c model management environment, like Eclipse
[1], Epsilon [5] or Gemoc [3]. In contrast, this contribution advocates to employ
the diagram editor yEd (yworks.com) for managing DSM artifacts, in
particular for model storage and update. By allowing users to develop models with a
well-known tool, we can realize a light-weight modeling approach for occasional
modelers as well as domain experts and in contrast to heavy-weight modeling
with, e.g., Eclipse. yEd models for browser-based information systems are
transformed through a well-de ned transformation chain into working Ruby on Rails
(short Rails) implementations. Applications of yEd for modeling by computer
and domain experts have been discussed already within software development [6]
and ontologies [4], whereas [7], [2] and [10] deal with model-driven development
of web based respectively mobile applications.</p>
      <p>Our transformation chain involves two specially developed Ruby tools called
Tibet and Tor. Tibet parses the domain-speci c yEd models and creates an
inmemory representation used by Tor to render the required Rails code artifacts.
This process includes several re nement steps programmatically de ned in the
Ruby language and nishes with an executable application. We thus use Ruby as
our transformation language. We aim to support developers implementing
evolutionary prototyping within agile software development approaches supported
by fast, model-based product increments, which can be easily customized.</p>
      <p>This contribution builds upon preceding work covering conceptual data
models [8] and model-driven design with yEd [9]. It presents a work still in progress,
yet deployable. In Sect. 2 we explain some selected aspects of our DSM language
mainly based on ER and EER concepts complemented with UML class diagram
features. In Sect. 3 we discuss the transformation into a working
implementation and suggest a possible agile software development approach based on our
toolchain. Section 4 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Utilizing a yEd Palette as a DSM Language</title>
      <p>
        Before introducing our graphical DSM language, we take a brief look at yEd,
a customizable general-purpose diagram editor serving as a front end for our
model management. yEd provides a comfortable user interface that developers
can utilize to specify requirements in the form of graphical domain-speci c
models stored as XML-based GraphML (Graph Markup Language) text les. Fig. 1
shows a yEd screenshot depicting six noteworthy parts. The window in part (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
provides an overview of the model loaded allowing developers to zoom and browse
its contents. The window in part (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) holds automatically generated interactive
context views of selected model elements focusing on the element Neighbourhood,
Predecessors, Successors or Folder Contents in case of nested nodes. The
Structure View in part (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) provides a searchable tree view of the model including
all nodes represented by their labels. The main edit window in part (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) enables
users to freely draw models providing various auxiliary features like guided or
automatic layout, graph transformations and element grouping. Additionally,
yEd ships with diverse palettes as shown in part (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), amongst others palettes for
BPMN, Entity Relationship schemas, Flowcharts and SBGN (Systems Biology
Graphical Notation). Developers can mix elements from di erent palettes and
de ne custom ones via the palette management feature. Detailed information
about elements are obtainable via the Properties View as shown in part (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ).
      </p>
      <p>
        Figure 2 shows an excerpt of our custom yEd palette for our DSM
language, for which we give an exemplary explanation. The upper part (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) depicts
various kinds of rectangular type nodes for modeling concepts on di erent
abstraction levels. Developers are able to represent more concrete issues using the
EntityType, EnumerationType and RelationshipType. For describing more
abstract concepts, our palette o ers the ClassType as well as the ModuleType
(both being di erent w.r.t. association and attribute inheritance).
      </p>
      <p>
        Attributes are modeled utilizing oval nodes as displayed in the middle part (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
supporting di erent kinds of roles and data types. For example, nal attributes
labelled with f never change values after state initialization, while browse
attribute values will be searched, if the application end user wants to link an
instance of the owning type via the user interface views. The de nition of
attribute validation rules can be accomplished using constraint nodes as shown
in part (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ). Nodes are connected via di erent edge types shown in the lower
part (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ). Amongst other concepts, our modeling language supports attribution,
association, generalization and restriction edges.
      </p>
      <p>
        We use our language to specify an example application, a basic content
management system. The following description provides a short summary of some
selected aspects of the example model displayed in part (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) of Fig. 1, without
claiming to be exhaustive.
      </p>
      <p>For the content management system to work, we model some basic concepts
like Site (a), Page (b) and NavigationEntry (c) as entity types with
corresponding attributes and associations. In our scenario, the entity type Site may
aggregate multiple Page instances and vice versa. Amongst others, the Page type
holds a title (d) and a content (e) attribute connected via attribution edges
decorated with semantic annotations (to be utilized in the transformation).</p>
      <p>The content attribute is drawn with a dashed line making it optional, while
the annotation r on the lower left side de nes, that it will be represented via a
rich text editor when rendered on the user interface views. The re exive
composite association as de ned for the NavigationEntry (f) type allows to represent
a potential hierarchy of navigation entries, which may be aligned on the user
interface views by position information stored via the GridPositionElement (g)
enumeration type. During transformation, additional attributes are augmented
to store name constants and language speci c translations. Our example also
shows the inclusion of a module called UserMultipleOwned (h) by Page, Site
and NavigationEntry inheriting required associations to the User entity type
provided in another model le. Finally, (j) depicts a so-called supply relation
between Page and Comment de ning, that if a Page instance is shown on the user
interface views, the end user is able to create a comment.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Transformation of the DSM language and</title>
    </sec>
    <sec id="sec-4">
      <title>Execution Utilizing Ruby on Rails</title>
      <p>
        The complete transformation chain consists of four main steps as depicted in
Fig. 3. Firstly, we use yEd to create and manage a descriptive domain-speci c
model based on our custom palette (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ). Secondly, we utilize one of our specially
developed Ruby-based tools called Tibet to instantiate an in-memory
representation of the model. Tibet reads the domain-speci c model, possibly spanning
several les, and parses the GraphML content. Through several re nement steps
it constructs a complete semantic model by performing well-de ned operations
expressed in the Ruby language (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ). Using the additional Tibet console module,
this structured process enables developers to manage model information, in
particular to make meta queries for retrieving detailed information about the model
down to its low-level GraphML representation.
      </p>
      <p>
        The Tibet API component provides an interface allowing developers to access
model information as done in the third step. Here we use our second specially
developed Ruby tool called Tor implementing the necessary transformation logic to
generate code modules by using speci c templates. These modules are integrated
unobtrusively into the derived Rails application instance and are complemented
by additional static modules shipped with Tor (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ). Tor also provides a console
enabling developers to examine model details in the context of the generation
process and thus helps in managing the transformation. In the fourth step, all
necessary Rails modules are generated (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) and accessible via the Rails console.
      </p>
      <p>Tor outputs the application data model components consisting of roughly two
parts. Firstly, so-called migration les are derived containing schema information
in a domain-speci c language in order to initialize the database back end, in our
case a Postgres SQL database. Secondly, Tor renders corresponding model classes
based on the Rails ORM (Object-Relational Mapping) library implementing
the active record architectural pattern. Tor also generates model validation and
model access control layers as well as modules for re ection capabilities.</p>
      <p>The application view components are also constructed from multiple
generated les. On the one hand, Tor renders default HTML les, on the other hand,
it builds JavaScript based front end views utilizing the React framework
(reactjs.org) in conjunction with the jQuery (jquery.com) and Bootstrap
(getbootstrap.com) libraries providing extended DOM (Document Object Model)
manipulation features, user interface controls and layout mechanisms. As Tor
builds JavaScript modules using the modern ECMAScript 2015 language speci
cation (ecma-international.org/ecma-262/6.0), we use another open-source tool
called Webpack (webpack.js.org) in conjunction with Node.js (nodejs.org) to
transcompile the code and make it fully compatible with all modern browsers.</p>
      <p>Additionally, Tor outputs application controller components connecting the
model and view layers by rendering controller actions. These actions are mapped
to corresponding HTTP request methods through extra generated routing de
nition les forming the application service endpoints. The data exchange between
the browser-based front end and the Rails application back end is mainly realized
with the widely-adopted JSON (JavaScript Object Notation) format.</p>
      <p>Our toolchain at hand, we suggest a development process based on agile and
rapid methods utilizing evolutionary and incremental prototyping. We are in
the process of applying this approach to a larger case study covering the design
and generation of a browser application for the individual creation of report
templates and report instances for various documentation use cases. Dependent
on the overall project size, we break our system into smaller parts individually
developed through multiple iterations. Each iteration starts with the creation
of a data model in yEd and the generation of a rst prototype derived by our
toolchain. We then verify our requirements based on the prototype. We are able
to adjust or extend the model, if required, and repeat the generation process
until our expectations are met. Individual aspects, which cannot be expressed
in our modeling language, are added unobtrusively with the help of various
customization techniques. Our prototype evolves in each iteration until it is
stable and ready for being part of our system. This structured process centers
on the created model and is repeated until all increments of our system are
captured.</p>
      <p>The presented toolchain enables developers to perform simple and direct
transformations from domain-speci c models to executable applications. yEd as
a light-weight diagram editor is freely available running on all major platforms.
The latter also applies to Ruby, a widely-adopted and actively maintained open
source programming language o ering an easy and intuitive access harnessed
by Rails, an established web application framework used by major platforms
like GitLab and Airbnb. The depicted development process liberates developers
from repetitive routine coding work and enables them to perform application
re nement through model re nement. The domain-speci c models identify
central application concepts and represent a stable documentation. Our generation
process facilitates fast iterations, which can be immediately validated by all
relevant stakeholders. Thus, developers can take advantage of running evolving
prototypes, which users can immediately interact with leading to early accepted
increments and reducing the risk of project failure. Finally, if modularized
properly, models and their increments are reusable in other projects.
4</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>We have demonstrated how we use yEd to create, store and update
domainspeci c models and how a toolchain is capable of generating browser-based
client-server applications based on Ruby on Rails by applying corresponding
transformations on those models. Our underlying DSM language targets web
information systems and o ers a rich collection of modeling features borrowed from
(Extended) Entity-Relationship modeling and UML class diagram concepts. We
have also suggested a feasible agile development approach we are using in our
case studies.</p>
      <p>As of now, our approach is limited to structural design. While some language
features induce special application behavior, currently behavior cannot be
modeled explicitly, but is projected in future tool versions. As already mentioned, we
are in the process of planning and performing a larger project covering the
design and generation of a browser application for the individual creation of report
templates and report instances. The idea arose mainly from the need of exible
checklist based reporting for FSC (Forest Stewardship Council) audits and home
inspection reports as recommended by InterNACHI (International Association
of Certi ed Home Inspectors). Last but not least, applicability and
practicability of our approach will be further validated and improved through middle- and
large-sized case studies.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Allilaire</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bezivin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bruneliere</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jouault</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Global Model Management in Eclipse GMT/AM3</article-title>
          . In: Eclipse Technology eXchange Workshop (eTX)
          <article-title>- a ECOOP 2006 Satellite Event</article-title>
          . Nantes, France (
          <year>Jul 2006</year>
          ), https://hal.inria.fr/hal-01272277
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Challenger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Erata</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Onat</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gezgen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kardas</surname>
          </string-name>
          , G.:
          <article-title>A Model-Driven Engineering Technique for Developing Composite Content Applications</article-title>
          . In: Mernik,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Leal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.P.</given-names>
            ,
            <surname>Oliveira</surname>
          </string-name>
          , H.G. (eds.)
          <source>5th Symposium on Languages, Applications and Technologies (SLATE'16)</source>
          .
          <source>OpenAccess Series in Informatics (OASIcs)</source>
          , vol.
          <volume>51</volume>
          , pp.
          <volume>11</volume>
          :
          <issue>1</issue>
          {
          <fpage>11</fpage>
          :
          <fpage>10</fpage>
          . Schloss Dagstuhl{
          <article-title>Leibniz-Zentrum fuer Informatik</article-title>
          , Dagstuhl, Germany (
          <year>2016</year>
          ). https://doi.org/10.4230/OASIcs.SLATE.
          <year>2016</year>
          .
          <volume>11</volume>
          , http://drops.dagstuhl.de/opus/volltexte/2016/6016
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Combemale</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barais</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wortmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Language Engineering with the GEMOC Studio</article-title>
          .
          <source>In: 2017 IEEE Int. Conf. Software Architecture Workshops, ICSA Workshops</source>
          . pp.
          <volume>189</volume>
          {
          <fpage>191</fpage>
          . IEEE Computer Society (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Falco</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peroni</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shotton</surname>
            ,
            <given-names>D.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vitali</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Modelling OWL Ontologies with Gra oo</article-title>
          . In: Presutti,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Blomqvist</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Troncy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Sack</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Papadakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Tordai</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <article-title>Semantic Web ESWC Satellite Events</article-title>
          .
          <source>LNCS</source>
          , vol.
          <volume>8798</volume>
          , pp.
          <volume>320</volume>
          {
          <fpage>325</fpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          :
          <article-title>Integrated Model Management with Epsilon</article-title>
          . In: France,
          <string-name>
            <surname>R.B.</surname>
          </string-name>
          , Kuster,
          <string-name>
            <given-names>J.M.</given-names>
            ,
            <surname>Bordbar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.F</surname>
          </string-name>
          . (eds.)
          <source>Modelling Foundations and Applications, 7th Eur. Conf. ECMFA. LNCS</source>
          , vol.
          <volume>6698</volume>
          , pp.
          <volume>391</volume>
          {
          <fpage>392</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lopez-Fernandez</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garmendia</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>de Lara</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>An example is worth a thousand words: Creating graphical modelling environments by example</article-title>
          .
          <source>Software and Systems Modeling</source>
          <volume>18</volume>
          (
          <issue>2</issue>
          ),
          <volume>961</volume>
          {
          <fpage>993</fpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Neubauer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frohme</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ste</surname>
            <given-names>en</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Margaria</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          :
          <article-title>Prototype-Driven Development of Web Applications with DyWA</article-title>
          . In: Margaria,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Ste</surname>
          </string-name>
          <string-name>
            <surname>en</surname>
          </string-name>
          , B. (eds.)
          <article-title>Leveraging Applications of Formal Methods, Veri cation and Validation. Technologies for Mastering Change</article-title>
          . pp.
          <volume>56</volume>
          {
          <fpage>72</fpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Sedlmeier</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Design and Prototypical Implementation of an Integrated Graph-Based Conceptual Data Model</article-title>
          . In: Thalheim,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Jaakkola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Kiyoki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Yoshida</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <source>(eds.) 24th Int. Conf. Information Modelling and Knowledge Bases (EJC)</source>
          .
          <source>Frontiers in Arti cial Intelligence and Applications</source>
          , vol.
          <volume>272</volume>
          , pp.
          <volume>376</volume>
          {
          <fpage>395</fpage>
          . IOS Press (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Sedlmeier</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Model Driven ActiveRecord with yEd</article-title>
          . In: Welzer,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Jaakkola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Thalheim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Kiyoki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Yoshida</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <source>(eds.) 25th Int. Conf. Information Modelling and Knowledge Bases (EJC)</source>
          .
          <source>Frontiers in Arti cial Intelligence and Applications</source>
          , vol.
          <volume>280</volume>
          , pp.
          <volume>65</volume>
          {
          <fpage>76</fpage>
          . IOS Press (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Umuhoza</surname>
          </string-name>
          , E.:
          <article-title>Domain-Speci c Modeling and Code Generation for CrossPlatform Multi-Device Mobile Apps</article-title>
          .
          <source>CoRR abs/1509</source>
          .03109 (
          <year>2015</year>
          ), http://arxiv.org/abs/1509.03109
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>