<!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>Practical Multi-level Modeling on MOF-compliant Modeling Frameworks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kosaku Kimura</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yoshihide Nomura</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yuka Tanaka</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hidetoshi Kurihara</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rieko Yamamoto</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Fujitsu Laboratories</institution>
          ,
          <addr-line>Kawasaki</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper describes practices for multi-level modeling by only using existing modeling frameworks that comply Meta-Object Facility (MOF). We design modeling patterns for achieving the multi-level modeling methodologies on Eclipse Modeling Framework, and implement the data ow model by applying the patterns. Moreover, we attempt to compare the patterns regarding the facilitation of developing both our tool and plugins. We found Orthogonal Classi cation Architecture (OCA) pattern is easier to develop our tool than powertypes pattern, but regarding plugins for our tool, powertypes pattern can de ne modelto-text transformation templates more simply than OCA pattern.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Model-driven engineering (MDE) gains productivity of software developments
providing several powerful tools for designing, developing or verifying software.
Especially, model transformation technologies (i.e., model-to-model and
modelto-text) are important for facilitating agile software developments. For the
modelto-text transformation enables to generate executable source codes from a model,
developers can develop complex applications by using graphical editors.</p>
      <p>
        There are various kinds of graphical editing tools for developing and
executing applications, e.g., Extract-Transform-Load [
        <xref ref-type="bibr" rid="ref2 ref5">2, 5</xref>
        ], Business Analytics [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
and Work ow Management [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. We also have been developing a graphical
editing tool on a cloud platform for facilitating developments of big data processing
applications [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Figure 1 shows the web interface of our tool.
      </p>
      <p>
        Many of the tools are based on modeling frameworks and provide automatic
generation features for executable source codes. However, extending models of
the tools tends to be difficult for third-party developers, and therefore, there have
been a few plugins published from developer communities. Nowadays, the
metamodels of graphical editing tools have to be easily extensible so that developers
can develop more plugins [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>Meta-Object Facility (MOF)1 is a standard for MDE provided by Object
Management Group (OMG), and Eclipse Modeling Framework (EMF)2 is one</p>
      <sec id="sec-1-1">
        <title>1 http://www.omg.org/mof/ 2 https://eclipse.org/modeling/emf/</title>
        <p>of mature MOF-compliant modeling frameworks, and there are various toolkits
in the EMF community, such as Acceleo3, Query/View/Transformation (QVT)
Operational4 and ATL Transformation Language5. Those toolkits also conform
to or follow the OMG's standards. In this paper, we attempt to achieve
multilevel modeling on EMF. EMF provides the Ecore metamodel, which is
compatible with Essential MOF, and tools for creating models that conform to the Ecore
metamodel.</p>
        <p>
          One of the major drawbacks of EMF is that it is hard to de ne and use
a new metamodel located at the same level as the Ecore metamodel, because
EMF is basically adequate to create models and objects just based on the Ecore
metamodel. If we use our own metamodel, although it is obviously possible to
develop a proprietary tool based on it by using the code generation feature
of EMF [
          <xref ref-type="bibr" rid="ref1 ref19">1, 19</xref>
          ], the tool tends to force an unusual manner to developers, and
eventually, most of them may feel that \I do not want to use it." This issue is
crucial for developing the ecosystem and the community of our tool.
        </p>
        <p>In order to overcome the drawbacks of existing modeling frameworks, various
methodologies of multi-level modeling have been proposed such as Orthogonal</p>
        <sec id="sec-1-1-1">
          <title>Classi cation Architecture (OCA) [6, 7, 9, 11], powertype-based meta</title>
          <p>
            modeling [
            <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
            ] and deep instantiation [
            <xref ref-type="bibr" rid="ref12 ref17">12, 17</xref>
            ]. The methodologies can
provide simple solutions to design metamodels along with models and objects.
However, there is little consensus in the literature on fundamental multi-level
modeling concepts [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ], and therefore, it is still difficult to determine to apply
them to industries. For now, multi-level models must be de ned by only using
existing MOF-compliant modeling frameworks, so we have to clarify a workaround
for that.
          </p>
        </sec>
      </sec>
      <sec id="sec-1-2">
        <title>3 http://www.eclipse.org/acceleo/ 4 http://www.eclipse.org/mmt/?project=qvto 5 https://eclipse.org/atl/</title>
        <p>M2
M1
M0</p>
        <p>Element
Dataflow</p>
        <p>Data</p>
        <p>This paper describes practices for achieving multi-level models on EMF. We
use a hierarchy of a data ow model as an example model that is used on graphical
editing tools. We design multi-level modeling patterns on EMF, and implement
the data ow model by applying the patterns. Moreover, we attempt to compare
the patterns regarding the facilitation of developing both our tool and plugins.</p>
        <p>The remainder of this paper is organized as follows. Section 2 describes a
model of a graphical editing tool as our motivating example. Section 3 describes
patterns for multi-level modeling on EMF. In Sect. 4 we discuss the comparison
of the patterns, and our conclusions are presented in Sect. 5.
2</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Motivating example: a data ow model for graphical editing tools</title>
      <p>A typical graphical editing tool consists of a palette and a canvas as well as Fig.
1. The palette shows icons representing types of nodes, and the canvas is used
to de ne a diagram by putting a node of the type selected from the palette and
drawing an edge between nodes. By using such tool, we can easily develop a
data processing application as a ow diagram that consists of nodes and edges
representing icons and lines, respectively.</p>
      <p>Figure 2 shows the hierarchy of the data ow model that we want to design.
Layer M3 represents the original Ecore metamodel, and layer M2 represents the
metamodel of the data ow model. Objects in layer M2 (i.e., Dataflow, Data and
Process) are instances of Class. An instance of Dataflow composes instances
L1
L2</p>
      <p>O0
DefinitionElement definition InstanceElement</p>
      <p>OCL
M1
M0</p>
      <p>powertype
Class (EClass)
instance-of
subtype</p>
      <p>Element
instance-of</p>
      <p>OCL</p>
      <p>Definition</p>
      <p>
        instance-of
Instance
of Data and Process, and represents how data is processed and the order of
execution in the processing methodologies as well as the de nition in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>Layer M1 represents de nitions of types and subtypes of Data and Process
that are displayed on the palette. Classes in layer M1 are instances of the
classes in layer M2 and have de nitions of type names, input ports, output ports
and owned properties. In Fig. 2, Table and Model are instances of Data, and
AddTimestamp and Duplication are instances of Process. Moreover, EventData
and TemporaryData are subclasses of Table, and SVMModel is subclasses of
Model. Those subclasses de ne their own properties and data schemata for
storing databases. A plugin created by a third-party developer de nes a new instance
of Process in layer M1, i.e., a new type of nodes in the palette.</p>
      <p>Layer M0 represents an instance of Dataflow edited on the canvas in Fig. 1.
Objects in layer M0 are instances of the objects in layer M1. Data node Sensor
data in layer M0 represents data that is produced and sent by sensors and has
the schema de ned by EventData.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Multi-level modeling on EMF</title>
      <p>
        Several multi-level modeling methodologies introduce a new concept of objects.
A clabject is an object that is both a class and an instance of another class [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Clabjects sometimes have a potency feature that represents the depth to which
an attribute can be instantiated [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and is utilized in deep instantiation. In
order to achieve multi-level model by only using EMF, we consider that it is
difficult to introduce them on EMF, because applying those concepts obviously
needs to develop a new modeling editor.
      </p>
      <p>We attempt to implement the data ow model described in Sect. 2 by
applying the following two methodologies: OCA and powertype-based
metamodeling. Figure 3 and 4 show modeling patterns as workarounds for each
methodology.
3.1</p>
      <sec id="sec-3-1">
        <title>Model applying OCA pattern</title>
        <p>The OCA has two dimensions of model layers: linguistic layers and ontological
layers. In Fig. 3, L and O denotes linguistic layers and ontological layers,
respectively. Layer L0 contains the Ecore metamodel and class Element that is an
DefinitionElement</p>
        <p>InstanceElement
property</p>
        <p>property</p>
        <p>PropertyDefinition
+type: string
+defaultValue: string</p>
        <p>DataDefinition
field +category: string</p>
        <p>data</p>
        <p>PortDefinition
+multiplicity: int
output</p>
        <p>input</p>
        <p>ProcessDefinition
+category: string
inv ProcessHasValidInputPorts:</p>
        <p>definition.input-&gt;forAll(i | input-&gt;exists(definition = i))
inv ProcessHasValidOutputPorts:</p>
        <p>definition.output-&gt;forAll(i | output-&gt;exists(definition = i))
data</p>
        <p>Dataflow
in
out</p>
        <p>in
outFirst
outSecond
out</p>
        <p>AddTimestamp
+time: string
+millis: string
+storedIn: string
context EClass
def: isA(typeName : String) : Boolean =
name = typeName or oclIsKindOf(EClass)
and oclAsType(EClass).eAllSuperTypes-&gt;exists(name = typeName)
-- for subclasses of Data
inv DataHasNoExtraProcessRefs:
isA('Data') implies eReferences-&gt;forAll(</p>
        <p>eReferenceType.isA('Process') implies name.matches('in|out')
...</p>
        <p>)
)
-- for subclasses of Process
inv ProcessHasValidInputPorts:
isA('Process') implies eReferences-&gt;forAll(</p>
        <p>name.matches('^in.*') implies eReferenceType.isA('Data')
)
inv ProcessHasValidOutputPorts:
isA('Process') implies eReferences-&gt;forAll(</p>
        <p>name.matches('^out.*') implies eReferenceType.isA('Data')
instance of class Class, for de ning elements of ontological layers (O0 and O1)in
layer L1. Class DefinitionElement in layer O0 and class InstanceElement in
layer O1 de nes the type and the instance of elements of the data ow model,
respectively. Layer L2 contains de nition objects and instance objects that are
instances of class DefinitionElement and InstanceElement, respectively.</p>
        <p>We represent an ontological instantiation relationship by a reference to a
de nition object. The instance object has a reference to the de nition object,
and the correctness of the relationship between them is veri ed by constraints
written in Object Constraint Language (OCL).</p>
        <p>Figure 5 shows the data ow model that conforms to the OCA pattern. Class
Dataflow, Data, Process, Port and Property are instance classes, which are
subclasses of class InstanceElement, and all of them respectively have their
own de nition classes, which are subclasses of class DefinitionElement.
Object Dataflow, EventData and AddTimestamp are de nition objects, i.e.,
instances of the de nition classes. Object A data processing, Sensor data and
Add timestamp are instance objects, i.e., instances of the instance classes.</p>
        <p>
          Examples of OCL constraints for instance objects of class Data and Process
are shown in the lower part of Fig. 5.
Powertype-based metamodeling introduces a powertype that is de ned as
a type whose instances are types inheriting a subtype [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. While in the original
idea, every object in layer M1 must be a clabject that is both an instance of a
powertype and a subclass of a subtype, we de ne an object in layer M1 of Fig.
4 just as an instance of a powertype, i.e., class Class, and use OCL constraints
for de ning the relationship between the object and a subtype. We de ne that
the object is regarded as a genuine subclass of the subtype if it satis es the OCL
constraints.
        </p>
        <p>Figure 6 shows the data ow model that conforms to the powertypes
pattern. As class Dataflow, Data and Process are subclasses of class Element,
the hierarchy of all classes are represented as inheritance relationships. Class
EventData, which is a subclass of class Table, has attributes that represent
data schema. Class AddTimestamp, which is a subclass of class Process, has
attributes that represent parameters of the process. Class AddTimestamp also has
an input port and an output port as references to class Table, which means that
it consumes and produces Table-typed data.</p>
        <p>Object A data processing, Sensor data and Add timestamp are instances
of class Dataflow, EventData and AddTimestamp respectively.</p>
        <p>Examples of OCL constraints for subclasses of class Data and Process are
shown in the lower part of Fig. 6.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Evaluation</title>
      <p>We attempt to compare our modeling patterns, OCA and powertypes,
regarding the facilitation of the following developments: developing our tool by</p>
      <p>Name Description
Input a single port that consumes a subclass of Table
Output a single port that produces a subclass of Table
time a formatted date string, e.g., ``yyyy-MM-dd hh:mm:ss''
millis an integer string of a millisecond value
storedIn a eld name to which a timestamp value is assigned
ourselves and developing plugins for our tool by third-party developers. We
consider there are a lot of viewpoints regarding the facilitation, but we have not yet
completed the comprehensive evaluation from the viewpoints. In this paper, we
concentrate the following two viewpoints: model manipulation for our tool and
template description for plugins.
4.1</p>
      <sec id="sec-4-1">
        <title>Model manipulation for our tool</title>
        <p>Regarding the development of our tool, we focus on how to manipulate the
model on the methodology. The OCA pattern can utilize the code generation
features of EMF, because we do not need to extend metamodels in layer L0 of
Fig. 3. All objects that are added by plugins for new types of data or processes
are located in layer O0, and they can be manipulated by using automatically
generated codes. On the other hand, when we apply the powertypes pattern,
we have to extend the Ecore metamodel dynamically, so it is difficult to utilize
the code generation. We have to manipulate objects in layer M0 by only using
the default Ecore APIs that are not intuitive and troublesome to manipulate.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Template description for plugins</title>
        <p>Regarding the development of plugins, we focus on the description of the
modelto-text transformation template for process AddTimestamp in Fig. 1, 2, 5 and 6.
Table 1 shows the de nition of process AddTimestamp. The process produces a
record that is appended a new eld named as the string value of storedIn. The
new eld is assigned a string value of a timestamp that is calculated by using
time, and millis of an original record.</p>
        <p>Now, we consider a template for producing the following SQL-like processing
query.
insert into &lt;Output&gt; select &lt;Field of Input&gt;[,&lt;Field of Input&gt; ...],
UDF.timestamp(&lt;time&gt;, &lt;millis&gt;) as &lt;storedIn&gt; from &lt;Input&gt;</p>
        <p>We use Acceleo, which is an implementation of MOFM2T6, for generating
the query. By applying the OCA pattern, the template can be described as
follows.
6 http://www.omg.org/spec/MOFM2T/
[template public generate(aProcess : Process) overrides generate
? (definition.name='AddTimestamp')]
insert into [output-&gt;any(definition.name='out').data.name/]
select [for (input-&gt;any(definition.name='in')
.data.definition.field) separator(',')][name/][/for]
, UDF.timestamp(
[property-&gt;any(definition.name='time').value/],
[property-&gt;any(definition.name='millis').value/]
) as
[property-&gt;any(definition.name='storedIn').value/]
from [input-&gt;any(definition.name='in').data.name/]
[/template]</p>
        <p>By applying the powertypes pattern, the template can be described as
follows.
[template public generate(aProcess : AddTimestamp) overrides generate]
insert into [out.name/]
select [for (_in.eClass().eAttributes) separator(',')][name/][/for]
, UDF.timestamp([time/],[millis/]) as [storedIn/] from [_in.name/];
[/template]</p>
        <p>By contrasting those descriptions, the powertypes pattern can describe the
template more simply than the OCA pattern. This is because objects in layer
M1 of Fig. 4 are just models of the Ecore metamodel, so we can directly access
the attribute values of their instances. This advantage is valid not only Acceleo
but also other EMF-based toolkits, and the fact indicates that the powertypes
pattern is more usable by following the existing common manners of
MOFcompliant modeling frameworks.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper, we described the practices for achieving multi-level modeling by
only using EMF. We de ned modeling patterns of the following two
methodologies: OCA and powertype-based metamodeling. We implemented the
data ow model for graphical editing tools by applying the patterns. By
comparing the implementations on the two methodologies, We found the OCA pattern
is easier to develop our tool than the powertypes pattern, but regarding plugins
for our tool, the powertypes pattern can de ne model-to-text transformation
templates more simply than the OCA pattern.</p>
      <p>We consider we have to achieve the ease of developing plugins for our tool
rather than the ease of developing our tool itself, because increasing the number
of plugins can bene t our tool and our communities. Although regarding the
simplicity of template descriptions, the powertypes pattern is a better choice
than the OCA pattern, further evaluations from other viewpoints are needed
for determining the best pattern.</p>
      <p>We hope that the multi-level modeling methodology is standardized
adequately following the existing common manners of MOF-compliant modeling
frameworks.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Metamodeling with</surname>
            <given-names>EMF</given-names>
          </string-name>
          :
          <article-title>Generating concrete, reusable Java snippets</article-title>
          , http:// www.ibm.com/developerworks/library/os-eclipse-emfmetamodel/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Pentaho</given-names>
            <surname>Data</surname>
          </string-name>
          <string-name>
            <surname>Integration</surname>
          </string-name>
          , http://community.pentaho.com/projects/ data-integration/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>3. RapidMiner, https://rapidminer.com/</mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>4. RunMyProcess, https://www.runmyprocess.com/en/</mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Talend</given-names>
            <surname>Data</surname>
          </string-name>
          <string-name>
            <surname>Integration</surname>
          </string-name>
          , http://www.talend.com/products/data-integration
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gutheil</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kennel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A exible infrastructure for multilevel language engineering</article-title>
          .
          <source>Software Engineering, IEEE Transactions on 35(6)</source>
          ,
          <volume>742</volume>
          {755 (Nov
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuhne</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Model-driven development: a metamodeling foundation</article-title>
          .
          <source>Software, IEEE</source>
          <volume>20</volume>
          (
          <issue>5</issue>
          ),
          <volume>36</volume>
          {41 (Sept
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Meta-modelling for distributed object environments</article-title>
          .
          <source>In: Enterprise Distributed Object Computing Workshop [1997]. EDOC'97. Proceedings. First International</source>
          . pp.
          <volume>90</volume>
          {
          <fpage>101</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerbig</surname>
          </string-name>
          , R.:
          <article-title>Melanie: multi-level modeling and ontology engineering environment</article-title>
          .
          <source>In: Proceedings of the 2nd International Master Class on ModelDriven Engineering: Modeling Wizards. ACM</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerbig</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Kuhne, T.:
          <article-title>Comparing multi-level modeling approaches</article-title>
          .
          <source>In: MULTI 2014{Multi-Level Modelling Workshop Proceedings</source>
          . pp.
          <volume>53</volume>
          {
          <issue>61</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kennel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Go</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>The level-agnostic modeling language</article-title>
          .
          <source>In: Software Language Engineering</source>
          , pp.
          <volume>266</volume>
          {
          <fpage>275</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Kuhne, T.:
          <article-title>The essence of multilevel metamodeling</article-title>
          .
          <source>In: UML 2001The Uni ed Modeling Language. Modeling Languages, Concepts</source>
          ,
          <source>and Tools</source>
          , pp.
          <volume>19</volume>
          {
          <fpage>33</fpage>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Perez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The rationale of powertype-based metamodelling to underpin software development methodologies</article-title>
          .
          <source>In: Proceedings of the 2nd Asia-Paci c Conference on Conceptual Modelling -</source>
          Volume
          <volume>43</volume>
          . pp.
          <volume>7</volume>
          {
          <fpage>16</fpage>
          . APCCM '
          <volume>05</volume>
          ,
          <string-name>
            <surname>Australian</surname>
            <given-names>Computer Society</given-names>
          </string-name>
          , Inc.,
          <string-name>
            <surname>Darlinghurst</surname>
          </string-name>
          , Australia, Australia (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Perez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>On the ease of extending a powertypebased methodology metamodel. Meta-Modelling and</article-title>
          .
          <source>WoMM</source>
          <year>2006</year>
          pp.
          <volume>11</volume>
          {
          <issue>25</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Kimura</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nomura</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurihara</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamamoto</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamamoto</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>: Multi-query uni cation for generating efficient big data processing components from a dfd</article-title>
          .
          <source>In: Cloud Computing (CLOUD)</source>
          ,
          <year>2013</year>
          IEEE Sixth International Conference on. pp.
          <volume>260</volume>
          {
          <fpage>268</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Kimura</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nomura</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tanaka</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurihara</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamamoto</surname>
          </string-name>
          , R.:
          <article-title>Runtime Composition for Extensible Big Data Processing Platforms</article-title>
          .
          <source>In: 2015 IEEE 8th International Conference on Cloud Computing</source>
          . pp.
          <volume>1053</volume>
          {
          <issue>1057</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Neumayr</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schre</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Abstract vs concrete clabjects in dual deep instantiation</article-title>
          .
          <source>In: MULTI 2014{Multi-Level Modelling Workshop Proceedings</source>
          . pp.
          <volume>3</volume>
          {
          <issue>12</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Nomura</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kimura</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurihara</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamamoto</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamamoto</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tokumoto</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Massive event data analysis and processing service development environment using dfd</article-title>
          .
          <source>In: Services (SERVICES)</source>
          ,
          <year>2012</year>
          IEEE Eighth World Congress on. pp.
          <volume>80</volume>
          {
          <issue>87</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Steinberg</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Budinsky</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merks</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paternostro</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>EMF: eclipse modeling framework</article-title>
          .
          <source>Pearson Education</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>