<!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>Towards Model-Driven Software Language Modernization?</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Business Informatics Group</institution>
          ,
          <addr-line>TU Wien</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The introduction of Extensible Markup Language (XML) represented a tremendous leap towards the design of Domain-Speci c Languages (DSLs). Although XML-based languages are well adopted and exible, their generic editors miss modern DSL editor functionality. Additionally, artifacts de ned with such languages lack comprehensibility and, therefore, maintainability, because XML has primarily been designed as a machine-processable format with immutable concrete syntax. While there exist techniques to migrate XML-based languages to modeling languages, they are composed of manual steps demanding complex language engineering skills that are usually not part of a domain engineer's skill set. To tackle these shortcomings, we propose a bridge between XML-based languages and text-based modeling languages. This includes the automated and customizable generation of Xtext-based editors from XML schema de nitions (XSDs) providing advanced editor functionality, individualized textual concrete syntax style, and roundtrip transformations enabling the exchange of data between the two languages. For the evaluation of the approach, we plan to conduct case studies as well as user studies based on industrial-strength markup languages that will be transformed to textual modeling languages including editors that are intended to be at least as powerful as those manually built for XML-based languages.</p>
      </abstract>
      <kwd-group>
        <kwd>Domain Speci c Language</kwd>
        <kwd>Model-Driven Engineering</kwd>
        <kwd>Language Engineering</kwd>
        <kwd>Markup Language</kwd>
        <kwd>Language Modernization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        With the introduction of machine-processable XML [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] in 1998, the World Wide
Web Consortium (W3C) accomplished a tremendous leap towards easing the
design of software languages, leveraging the idea of having a generic editor, parser,
and validation methodology. Although for prominent XML-based languages |
which are themselves DSLs |, such as Business Process Model and Notation
(BPMN), advanced editors have been handcrafted, for others dedicated editor
? This research work is supervised by Manuel Wimmer and categorized as end of initial
stage and beginning of maturity stage. More details are depicted in Section 7.
support is missing. XML has been primarily designed as machine-processible
with immutable concrete syntax. More speci cally, users of XML-based
languages are bound to tree-based syntax that is described as verbose and complex
in terms of human comprehension [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. One of the main consequences of such
syntax is the limited capability to improve upon human-comprehension and
therefore maintainability. Conquering this limitation requires breaking out of
inexible XML syntax by providing an approach to construct a fully-customizable
concrete syntax, which is also referred to as visual syntax or visual notation [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ].
      </p>
      <p>
        Bridging Modelware and Grammarware [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] for markup languages and
modeling languages will enable the reuse and ease the maintenance of a signi cant
amount of data encoded in the XML legacy format. Moreover, bridging
Grammarware and Modelware for markup languages and modeling languages will
lower the entrance barrier for developers to capture models containing
domainspeci c information and their management in an automated manner through the
use of Model-Driven Engineering (MDE) tools [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>
        State-of-the-art Model-Driven Language Engineering (MDLE) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]
frameworks, such as Xtext [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], allow the development of Domain-Speci c Modeling
Languages (DSMLs) [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ] and the customization of their textual syntax. However,
manually re-creating existing XML-based languages is a complex, error-prone,
and time consuming task requiring complex language-engineering skills [
        <xref ref-type="bibr" rid="ref10 ref20 ref22">10, 20,
22</xref>
        ]. Additionally, DSMLs that ought to replace markup languages leave open
backward-compatibility with usually comprehensive XML applications.
      </p>
      <p>
        Evolving from machine-oriented languages to human-oriented languages
enables lowering barriers imposed by machine-oriented languages on characteristics
such as human perception, cognition, and usability. Likewise, human-oriented
languages tend to be less appropriate for executability and interoperability. This
suggests the need for automated transformations of languages between di
erent technical spaces [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] as well as the automated transformation of language
instances, i.e., XML instances and DSML models. In other words, the bridge
between Grammarware and Modelware for markup languages and modeling
languages still needs to be established. Individual challenges tackled in the proposed
dissertation include but are not limited to the following:
      </p>
      <p>Modernization Barriers between Markup Languages and DSMLs.
To pursue the modernization of markup languages, i.e., the evolution of markup
languages to languages supporting state-of-the-art technologies, such as,
advanced editing capabilities, we need to identify barriers of existing MDLE
frameworks as well as develop solutions to automate the modernization procedure. In
more detail, we need to nd a technique that bridges XSDs with DSMLs in terms
of a combined approach that allows to produce instances on both sides. Further,
the technique is intended to be applicable to any XSD-based language.</p>
      <p>Generic Modernization of Markup Languages. Furthermore, we need
to formalize solutions for these barriers in a generic framework that is able to
modernize software languages and, in particular, XSD-based languages intended
to address individual limitations imposed by machine orientation and human
orientation. Whereas this includes appropriate language transformations, it also
requires the transformation of instances de ned in such languages. Moreover,
state-of-the-art MDE frameworks and tools have to be extended to support
individual solutions as well as extended editor features, such as syntax coloring,
content assistance, validation, and quick xes, intending to increase
comprehensibility and therefore maintainability.</p>
      <p>Language Comprehensibility Analysis. To establish a common ground
to evaluate a software language's orientation towards machines and humans,
high-level metrics that describe the objectives of both machine-oriented
software languages and languages that are human-oriented have to be identi ed and
formalized such as executability and time to understand, create, and manipulate
language instances. Furthermore, such metrics have to be measurable in terms
of case studies, user studies, and/or other experiments. Therefore, to conduct
studies focusing on language comprehensibility and therefore maintainability
of individual instances we need to identify and construct or reuse appropriate
methods to analyze language comprehensibility metrics.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        With respect to our approach of modernizing markup languages, in particular
XSD-based languages, with modeling languages, such as Xtext-based languages,
there exists a set of related approaches which cover certain aspects regarding the
transition between involved technical spaces: (i) bridges between XMLware and
Modelware and (ii) bridges between Modelware and Grammarware. To the best
of our knowledge, there exists only one approach [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] to bridge XMLware and
Grammarware directly which focuses on XSD and Xtext. But of course, there
are other e orts in di erent contexts for bridging XML schemas and BNF-like
languages, e.g., in the context of grammar hunting [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ].
      </p>
      <p>
        XMLware and Modelware. There exist several approaches to either
apply transformations from Modelware to XMLware [
        <xref ref-type="bibr" rid="ref21 ref28 ref29 ref30 ref6">30, 6, 21, 29, 28</xref>
        ] or
transformations from XMLware to Modelware [
        <xref ref-type="bibr" rid="ref31 ref5 ref7">5, 7, 31</xref>
        ]. In most of these approaches,
Modelware is represented by Uni ed Modeling Language (UML) [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] models
(centered around UML class diagrams) and XMLware either by XSDs or
Document Type De nitions (DTDs). We propose an approach that di ers from these
approaches in several ways. For example, while Wimmer et al. [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] employ DTDs
to generate Meta Object Facility (MOF)-based metamodels, we use XSDs to
generate Ecore-based metamodels. Furthermore, our approach does not stop after
having created the abstract syntax of the language de ned, for instance, with a
metamodel but also produces a textual concrete syntax using Xtext.
      </p>
      <p>
        Modelware and Grammarware. There are two di erent kinds of
approaches that aim to bridge Grammarware and Modelware by switching between
grammars and metamodels. On one hand, grammar-based approaches [
        <xref ref-type="bibr" rid="ref1 ref18 ref34">34, 18, 1</xref>
        ]
generate metamodels out of existing grammar de nitions. On the other hand,
metamodel-based approaches generate grammars out of existing metamodels [
        <xref ref-type="bibr" rid="ref13 ref24 ref35">13,
35, 24</xref>
        ] or link metamodels with grammars [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Especially, EMFText [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] seems
to be an interesting alternative to Xtext used in our approach, as there is also the
possibility to automatically derive several con gurable concrete textual syntaxes
for one metamodel. However, the syntax con guration in EMFText is limited
to prede ned options and cannot be extended. Furthermore, Canovas et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
present the Gra2Mol transformation language in which concrete syntax
metamodel instances are transformed to abstract syntax metamodel instances.
      </p>
      <p>
        XMLware and Grammarware. Eysenholdt et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] present a report on
the migration of a large modeling environment from XML/UML to Xtext/GMF.
In their legacy modeling environment, they identi ed that XML is ine cient due
to verbose syntax and lack of tool support, and that the loading of UML modules
and models is very ine cient. Therefore, they performed a modernization of
their modeling environment by starting from XML schemas from which Ecore
metamodels are created and then manually modi ed before creating concrete
syntaxes through hand-crafted customization. In contrast, the goal of our work is
to perform necessary metamodel adaptions in an automated fashion. Therefore,
we enable the automated modernization of any XSD-based language as well as
avoiding repeated manual adaptations caused by changed XSD speci cations.
      </p>
      <p>
        Language Comprehensibility. Aranda et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] present a framework to
evaluate the comprehensibility of (graphical) model representations based on
theoretical frameworks in cognitive science. They list several challenges imposed
by empirical evaluation of comprehensibility. For example, information
equivalence of two di erent representations cannot be guaranteed even if the
underlying conceptual content of di erent human readers is equal. Qualitative data
and a human's inherent ability to operationalize such information is described as
notoriously di cult. However, it is possible to construct comprehensibility
variables to capture a ected comprehensibility|like time required to understand
the representation|and a ecting comprehensibility|such as previous expertise
with the domain being modeled. Eventually, by employing such measures, we
hypothesize that human-comprehensibility of concrete syntax can be measured.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Proposed Solution</title>
      <p>The increasing success of models in software development and model
transformations in MDE during software development activities, such as automated forward
engineering, highlight reasons to bene t from the same infrastructure to
automate other tasks. Hence, we propose a model-driven solution that automates
bridging XMLware, Modelware, and Grammarware. Our goal is to provide a
framework that automatically modernizes XSD-based languages to
metamodelbased languages that are supported by rich language workbenches, exible
syntax, and model-based techniques such as code generation, transformation, and
validation. We achieve this by (i) chaining together tools and transformations
(into what is from now on referred to as Default Transformation Chain ), (ii)
introducing new transformations that overcome existing gaps between XMLware,
Modelware, and Grammarware such as mixed content and wildcards, data types
and restrictions, and identi ers and identi er references, as well as (iii)
introducing a Concrete Syntax Con guration Language enabling the exible de nition of
textual concrete syntaxes.</p>
      <p>XMLware
Markup Language EMF XSD</p>
      <p>Importer</p>
      <p>1</p>
      <p>XML Schema
XML Instance1</p>
      <p>A
:
d
n
e
Lge</p>
      <p>Modelware
Modeling Language</p>
      <p>Ecore
Metamodel</p>
      <p>Model API
Ecore Model1
(abstract syntax)
transformed
to</p>
      <p>Concrete Syntax
Configuration Language
Configuration Model</p>
      <p>3
Xtext Grammar</p>
      <p>Generator</p>
      <p>B
introduced
transformation
redefined
transformation
DSML Model1
(concrete syntax)</p>
      <p>
        Figure 1 depicts a conceptual overview of our XML to Xtext (XMLText)
framework [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Like in the Default Transformation Chain, the rst step is to
transform a given XML Schema to an Ecore Metamodel by employing the EMF
XSD Importer 1 . To overcome limitations of this transformation, we
complement it with novel transformations that adapt the generated Ecore Metamodel
2 . For example, in order to tackle the issue of not supported feature maps
occurring for mixed content and wildcards, we adapt the Ecore Metamodel by
replacing feature maps with generic concrete constructs. Next, the adapted
metamodel is used as input for generating the Xtext Grammar with the Xtext
Grammar Generator provided by the Xtext framework 3 . Also this step has to be
extended with novel transformations that overcome limitations of the existing
grammar generator, e.g., to enable storing actual values for attributes by
importing, and referencing a library of data types. Moreover, we enable the automated
customization of the target DSML's textual concrete syntax by providing a
Conguration Model, i.e., a customizable template to specify the concrete syntax
striving to enhance human-comprehensibility and therefore maintainability. For
the adaptions of the Ecore Metamodel introduced by the XMLText framework,
it is necessary to customize existing transformations (cf. A in Figure 1) to act
upon them on instance level. Therefore, we customize (i) the deserializer that
reads XML Instances and creates in-memory Ecore Model representations
conforming to the adapted Ecore Metamodel and (ii) the serializer that stores Ecore
Model s as XML Instances. As a result of keeping the Xtext Grammar coupled
to the Ecore Metamodel, we are able to reuse the existing transformation B
between instances of the Xtext Grammar and the Ecore Metamodel.
      </p>
      <p>With the introduction of transformation 2 and the adaption of the
transformations 3 and A , our XMLText framework overcomes limitations of existing
bridges between XMLware and Grammarware and thus allows an improved
automated modernization of XML-based languages to metamodel-based and textual
DSMLs. Listing 1.2 shows the result of applying the XMLText framework on an
exemplary XML-based language instance, i.e., specifying an Apache web server
cloud node, used in Listing 1.1.</p>
      <p>1 &lt;nodeTemplate i d=" A p a c h e W e b S e r v e r " type=" A p a c h e W e b S e r v e r T y p e " name="
,!Apache Web Server "&gt;
2 &lt;p r o p e r t i e s id=" A p a c h e W e b S e r v e r P r o p e r t i e s "&gt;</p>
      <p>Listing 1.1. Exemplary XML-based language instance
1 TNodeTemplate A p a c h e W e b S e r v e r f
2 name : " Apache Web Server "
3 type : A p a c h e W e b S e r v e r T y p e
4 Properties A p a c h e W e b S e r v e r P r o p e r t i e s f
5 NumCpus : " 1 "
6 Memory : " 1024 "
7 g
8 g</p>
      <p>Listing 1.2. Exemplary DSML model
4</p>
    </sec>
    <sec id="sec-4">
      <title>Preliminary Work</title>
      <p>
        Preliminary work in MDE and speci cally in terms of interoperability between
languages ultimately led to this research topic. In earlier work [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] we realized
that many modeling languages targeting equal or similar purposes, e.g., modeling
of cloud applications, are built from scratch causing extensive mismatches and
di culties in terms of interoperability among each other [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ]. Hence, in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] we
established an initial framework that exploits existing seams between the
technical spaces XMLware, Modelware, and Grammarware as well as closes several
gaps between them. The resulting approach is able to generate Xtext-based
editors from XSDs providing extended editor functionality, customization of textual
concrete syntax, and round-trip transformations enabling the exchange of data
between the involved technical spaces. The feasibility of the approach has been
evaluated by a case study on TOSCA|an XML-based standard for de ning
Cloud deployments. The results show that the approach enables bridging
XMLware with Modelware and Grammarware in several ways going beyond existing
approaches by integrating useful and independent parts as well as improvements
that allow the automated generation of editors that are at least equivalent to
editors manually built for XML-based languages. However, while the results indicate
that most of the known gaps have been bridged, some, e.g., XML namespaces,
still need to be overcome. Further, XSD-based languages that employ a di erent
subset of XML Schema language constructs may uncover previously unknown
gaps that require further investigation.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Expected Contributions</title>
      <p>The general idea to tackle the problem introduced in Section 1 is to address the
challenges involved in modernizing software languages using MDE techniques.
Hence, the following contributions are proposed:</p>
      <p>Individual Language Modernization Techniques. This contribution
intends to overcome individual barriers of existing MDLE frameworks when
employing them in the formalization of techniques for the purpose of modernizing
markup languages with DSMLs. For example, a technique has to be developed
to transform XSD constructs that are currently not natively supported by Ecore,
such as data types, restrictions, and wildcards. Moreover, a language is developed
that enables the con guration of the generated language in terms of con
guration models. Furthermore, for tackling the challenge of transforming instances
between XML-based languages and modernized DSML languages, we will
develop model transformations that start from the meta language level and enable
transformations on the instance level. Next, tting techniques and extensions
thereof are then used to implement the transformation of language instances
starting from the meta language level. Finally, the soundness of individual
modernization techniques will be validated using appropriate experiments.</p>
      <p>Generic Framework and Initial Case Study. This contribution is
designated to overcome challenges dictated by the generic modernization for markup
languages through (i) the implementation of a generic framework facilitating
existing MDE frameworks and tools, (ii) merging language modernization
techniques, and (iii) extending a language's comprehensibility by incorporating the
concrete syntax con guration language as well as providing advanced editor
features, such as syntax coloring, content assisting, validation, and quick xes,
and their implementation in a generic and automated way. Moreover, to show
that a markup language can be modernized into a machine-readable and
humancomprehensible language, an initial case study, based on an XSD-based language,
will be performed evaluating the feasibility of the developed generic framework.</p>
      <p>
        Comprehensibility and Maintainability Analysis Framework. This
contribution seeks to overcome the challenges imposed by evaluating language
comprehensibility and therefore maintainability. First, a literature review on
comprehensibility analysis, such as empirical comprehensibility [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], will be
performed. This includes establishing a common ground to analyze a software
language's orientation towards machines and humans and the formalization of
highlevel metrics that describe the objectives of both machine orientation and human
orientation. Second, an evaluation mechanism for software languages in terms of
formalized metrics is provided by a set of analysis methods. Next, both metrics
and analysis methods thereof are implemented in an analysis framework that
can be executed in the form of case studies, user studies, or other experiments,
like machine analysis of software artifacts, or a combination of such.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Plan for Evaluation and Validation</title>
      <p>The evaluation and validation of the proposed work are threefold. First, our
solution to the problem caused by the current state of the art and its inability to
transform instances between the technical spaces Grammarware and Modelware
for markup language and modeling languages has been and will be evaluated
by conducting case studies on the established bridge. In more detail, the
initial case study evaluated the feasibility of our software language modernization
framework XMLText in modernizing a markup language with a DSML, i.e., a
modeling language, as well as validate the conformance of instances to their
respective language. Language semantics are evaluated by performing round-trip
transformations, i.e., comparing the source instance with the instance
resulting from the round-trip transformation on the same source instance in terms
of equality, as well as supplying instances to existing interpreters and
comparing the resulting behavior. Moreover, the study also included a comparison of
the DSML produced by our framework as well as a hand-crafted DSML of the
same language in terms of their completeness to their source XSD-based
language. Furthermore, we plan to extend our initial case study by conducting a
case study on a set of markup languages ensuring that all language concepts
occurring in XSD-based markup languages are covered.</p>
      <p>Second, we will evaluate the usability of our framework, in particular, the
usability for domain engineers that usually do not have language engineering
skills. In more detail, this study will involve professionals as well as students, a
categorization of their language engineering skills, an evaluation of their
experience with modernizing markup languages with modeling languages by using our
framework, as well as the modernized language they produced.</p>
      <p>Third, our solution to the problem of xed concrete syntax of XML hindering
human-comprehensibility and hence maintainability will be evaluated by
conducting a user study. This study will involve engineers without advanced
knowledge in both XMLware and Modelware and evaluate several aspects that are
considered important in human comprehensibility metrics. For example, time spent
to understand the representation and to create and manipulate instances by
employing generic XML editors and their modernized counterparts, i.e., DSML
model editors will be evaluated.</p>
      <p>Relevant conferences for publishing the results include ECMFA, MODELS,
SLE, SPLC, ASE, and PLDI. Moreover, relevant journals include TOPLAS,
SoSyM, JSS, and IJPOP.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Current Status</title>
      <p>Mar 2014 - Sep 2014</p>
      <p>Towardsintegrating
modelingand programminglanguages</p>
      <p>in thecase of UML and Java;
UML-based cloud application modeling</p>
      <p>Sep 2014
CloudMDE'14
publication</p>
      <p>Mar2015
Ph.D. proposal
acceptance</p>
      <p>Oct2015
SLE’15
publication</p>
      <p>EsuvachluaastioCPnPoSDfaeancpdp20rtoh1ae6cir-haJiusnsnoin2cd0iau1ts7etdrialalndgoumaagiens, PasnuhJadb.Dnmd.2eits0fhse1eino8ssinse</p>
      <p>
        We started by working on UML-based cloud application modeling [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The
results have been published in September 2014. During the next phase a
mentor has been selected as well as the proposal submitted and accepted. Next,
we started working on our software language modernization framework
XMLText [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] which resulted in an initial framework and case study based on the
cloud topology and orchestration language TOSCA (cf. Section 4) published in
October 2015 at the International Conference on Software Language
Engineering (SLE). Currently, we are working on completing the XMLText framework by
bridging not yet resolved gaps, develop the concrete syntax con guration
language, as well as establishing evaluation metrics and analysis methods required
in the following phase. In more detail, the following phase will involve an
evaluation of the overall approach in the industrial domain Cyber-Physical Production
Systems (CPPS) and its associated languages in terms of a case study as well
as a user study (cf. Section 6). The intention of selecting the domain of CPPS
is caused by the fact that our faculty runs a laboratory1 working in this domain
and therefore provides us access to an extensive range of industrial partners and
a real-world evaluation environment. The latter phase will be concluded with a
publication of evaluation results in mid-2017, followed by the composition of a
doctoral thesis as well as further dissemination of the established approach and
framework.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Alanen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Porres</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>A Relation Between Context-Free Grammars and Meta Object Facility Metamodels</article-title>
          .
          <source>Tech. rep., Turku Centre for Computer Science</source>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Aranda</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ernst</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horko</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Easterbrook</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A framework for empirical evaluation of model comprehensibility</article-title>
          .
          <source>In: International Workshop on Modeling in Software Engineering (MISE)</source>
          . pp.
          <volume>7</volume>
          {
          <issue>7</issue>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Badros</surname>
            ,
            <given-names>G.J.:</given-names>
          </string-name>
          <article-title>JavaML: A Markup Language for Java Source Code</article-title>
          .
          <source>Computer Networks</source>
          <volume>33</volume>
          (
          <issue>1</issue>
          ),
          <volume>159</volume>
          {
          <fpage>177</fpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bergmayr</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Troya</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neubauer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kappel</surname>
          </string-name>
          , G.:
          <article-title>UML-based cloud application modeling with libraries, pro les, and templates</article-title>
          .
          <source>In: Proceedings of the 2nd International Workshop on Model-Driven Engineering on and for the Cloud (CloudMDE)</source>
          . pp.
          <volume>56</volume>
          {
          <issue>65</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bird</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goodchild</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Object Role Modelling and XML-Schema</article-title>
          .
          <source>In: Proc. of ER</source>
          , pp.
          <volume>309</volume>
          {
          <fpage>322</fpage>
          . Springer (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Booch</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Christerson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fuchs</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koistinen</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>UML for XML schema mapping speci cation</article-title>
          .
          <source>Rational White Paper</source>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Conrad</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Sche ner, D.,
          <string-name>
            <surname>Freytag</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          :
          <article-title>XML Conceptual Modeling using UML</article-title>
          .
          <source>In: Proc. of ER</source>
          , pp.
          <volume>558</volume>
          {
          <fpage>571</fpage>
          . Springer (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Eysholdt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Behrens</surname>
          </string-name>
          , H.:
          <article-title>Xtext: Implement your Language Faster than the Quick and Dirty Way</article-title>
          .
          <source>In: Companion Proc. of OOPSLA</source>
          . pp.
          <volume>307</volume>
          {
          <fpage>309</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Eysholdt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al.:
          <article-title>Migrating a Large Modeling Environment from XML/UML to Xtext/GMF</article-title>
          . In
          <source>: Companion Proc. of OOPSLA</source>
          . pp.
          <volume>97</volume>
          {
          <fpage>104</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Fowler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Domain-speci c languages</article-title>
          .
          <source>Pearson Education</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Harold</surname>
            ,
            <given-names>E.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Means</surname>
            ,
            <given-names>W.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Udemadu</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>XML in a Nutshell, vol. 8</article-title>
          .
          <string-name>
            <given-names>O</given-names>
            <surname>'reilly Sebastopol</surname>
          </string-name>
          , CA (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Heidenreich</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johannes</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karol</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seifert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wende</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Model-Based Language Engineering with EMFText</article-title>
          .
          <source>In: GTTSE</source>
          . pp.
          <volume>322</volume>
          {
          <issue>345</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Heidenreich</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johannes</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karol</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , et al.:
          <article-title>Derivation and Re nement of Textual Syntax for Models</article-title>
          .
          <source>In: Proc. of ECMDA-FA</source>
          . pp.
          <volume>114</volume>
          {
          <issue>129</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Izquierdo</surname>
            ,
            <given-names>J.L.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Molina</surname>
            ,
            <given-names>J.G.</given-names>
          </string-name>
          :
          <article-title>Extracting models from source code in software modernization</article-title>
          .
          <source>Software and System Modeling</source>
          <volume>13</volume>
          (
          <issue>2</issue>
          ),
          <volume>713</volume>
          {
          <fpage>734</fpage>
          (
          <year>2014</year>
          )
          <article-title>1 A list of currently ongoing Christian Doppler laboratories at the TU Wien can be found online</article-title>
          at http://goo.gl/HA95Rp
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Jouault</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bezivin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurtev</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>TCS: a DSL for the speci cation of textual concrete syntaxes in model engineering</article-title>
          .
          <source>In: Proc. of GPCE</source>
          . pp.
          <volume>249</volume>
          {
          <fpage>254</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</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>
          ,
          <string-name>
            <surname>Matragkas</surname>
            ,
            <given-names>N.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          :
          <article-title>A Lightweight Approach for Managing XML Documents with MDE Languages</article-title>
          .
          <source>In: Proceedings of Modelling Foundations and Applications - 8th European Conference (ECMFA)</source>
          . pp.
          <volume>118</volume>
          {
          <issue>132</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. Kuhne, T.:
          <article-title>What is a model? In: Language Engineering for Model-Driven Software Development (</article-title>
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Kunert</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Semi-Automatic Generation of Metamodels and Models from Grammars and Programs</article-title>
          .
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>211</volume>
          ,
          <issue>111</issue>
          {
          <fpage>119</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Kurtev</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aksit</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bezivin</surname>
            ,
            <given-names>J.: Technical</given-names>
          </string-name>
          <string-name>
            <surname>Spaces</surname>
          </string-name>
          :
          <article-title>An Initial Appraisal</article-title>
          .
          <source>In: Proc. of CoopIS</source>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Luoma</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kelly</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tolvanen</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          :
          <string-name>
            <surname>De ning Domain-Speci c Modeling</surname>
          </string-name>
          <article-title>Languages: Collected Experiences</article-title>
          .
          <source>In: Proc. DSM Workshop</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Mani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muntz</surname>
            ,
            <given-names>R.R.</given-names>
          </string-name>
          :
          <article-title>Semantic Data Modeling using XML Schemas</article-title>
          .
          <source>In: Conceptual Modeling (ER)</source>
          , pp.
          <volume>149</volume>
          {
          <fpage>163</fpage>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Mernik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heering</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sloane</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          :
          <article-title>When and how to develop domain-speci c languages. ACM computing surveys (CSUR) 37(4</article-title>
          ),
          <volume>316</volume>
          {
          <fpage>344</fpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23. Moody, D.L.:
          <article-title>The physics of notations: toward a scienti c basis for constructing visual notations in software engineering</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>35</volume>
          (
          <issue>6</issue>
          ),
          <volume>756</volume>
          {
          <fpage>779</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Muller</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hassenforder</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>HUTN as a bridge between modelware and grammarware-an experience report</article-title>
          .
          <source>In: WISME Workshop</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Neubauer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bergmayr</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mayerhofer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Troya</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>XMLText: From XML Schema to Xtext</article-title>
          .
          <source>In: Proceedings of the International Conference on Software Language Engineering</source>
          . pp.
          <volume>71</volume>
          {
          <fpage>76</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polack</surname>
            ,
            <given-names>F.A.C.</given-names>
          </string-name>
          :
          <article-title>Metamodelling for grammarware researchers</article-title>
          .
          <source>In: Proc. of SLE</source>
          . pp.
          <volume>64</volume>
          {
          <issue>82</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Rumbaugh</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Booch</surname>
          </string-name>
          , G.:
          <article-title>Uni ed Modeling Language Reference Manual</article-title>
          .
          <source>Pearson Higher Education</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Salim</surname>
            ,
            <given-names>F.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Price</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krishnaswamy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Indrawan</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>UML documentation support for XML schema</article-title>
          .
          <source>In: Australian Conference on Software Engineering</source>
          . pp.
          <volume>211</volume>
          {
          <fpage>220</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>dos Santos</surname>
            <given-names>Mello</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Heuser</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.A.</surname>
          </string-name>
          :
          <article-title>A Rule-Based Conversion of a DTD to a Conceptual Schema</article-title>
          .
          <source>In: Proc. of ER</source>
          , pp.
          <volume>133</volume>
          {
          <fpage>148</fpage>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Schauerhuber</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kapsammer</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwinger</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Retschitzegger</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Bridging WebML to model-driven engineering: from document type de nitions to meta object facility</article-title>
          .
          <source>IET Software</source>
          <volume>1</volume>
          (
          <issue>3</issue>
          ),
          <volume>81</volume>
          {
          <fpage>97</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Skogan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>UML as a schema language for XML based data interchanging</article-title>
          .
          <source>In: Proc. of UML</source>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Tolvanen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kelly</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>De ning domain-speci c modeling languages to automate product derivation: Collected experiences</article-title>
          .
          <source>In: Proc. of SPLC</source>
          . pp.
          <volume>198</volume>
          {
          <issue>209</issue>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Vallecillo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , et al.:
          <article-title>MDWEnet: A practical approach to achieving interoperability of model-driven web engineering methods</article-title>
          .
          <source>In: Proceedings of the 3rd International Workshop on Model-Driven Web Engineering (MDWE)</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kramler</surname>
          </string-name>
          , G.:
          <article-title>Bridging grammarware and modelware</article-title>
          .
          <source>In: Proc. of Satellite Events at MoDELS</source>
          . pp.
          <volume>159</volume>
          {
          <fpage>168</fpage>
          . Springer (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Zaytsev</surname>
          </string-name>
          , V.:
          <article-title>Grammar Zoo: A corpus of experimental grammarware</article-title>
          .
          <source>Sci. Comput</source>
          . Program.
          <volume>98</volume>
          ,
          <issue>28</issue>
          {
          <fpage>51</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>