<!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>Using Multi Level-Modeling Techniques for Managing Mapping Information</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Samir Al-Hilank</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Jung</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Detlef Kips</string-name>
          <email>kips@develop-group.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dirk Husemann</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Philippsen</string-name>
          <email>philippsen@cs.fau.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Friedrich-Alexander University Erlangen-Nu ̈rnberg (FAU), Programming Systems Group</institution>
          ,
          <addr-line>Martensstr. 3, 91058 Erlangen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>develop group Basys GmbH</institution>
          ,
          <addr-line>Am Weichselgarten 4, 91058 Erlangen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>103</fpage>
      <lpage>112</lpage>
      <abstract>
        <p>Traditional modeling approaches support a limited set of instantiation levels (typically one for classes and another adjacent one for objects). Multi-level modeling approaches on the other hand have no such limit to the number of levels. As a consequence, an arbitrary number of levels may be used to define models, and the distinction between class and instance is redefined. The paper summarizes the experience gained from applying multi-level modeling techniques to a real application from the domain of development process improvement (DPI). The underlying case study has been conducted in cooperation with a large automotive supplier. We discuss the pros and cons of using multi-level modeling techniques and propose areas that we think would benefit from further research.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Although problem domains often have a natural structure that spans more than
two logical levels, traditional modeling languages like, for example, MOF [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] or
UML [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] are limited to only two layers. As a consequence, using UML or MOF
to capture such problem domains leads to squeezing several logical levels into
two. This in turn causes accidental complexity [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] that does not originate from
the problem domain itself. Consequently, concepts like powertypes [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], potency
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], dual classification [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], etc. have been developed to allow for the definition
of an arbitrary set of classification levels.
      </p>
      <p>
        This paper reports on experience with defining and using deep models in an
industrial case study. It is organized as follows: Sec. 2 presents the case study’s
problem statement. Sec. 3 describes our experiences with using deep modeling
techniques. Sec. 4 discusses related work. We conclude with a list of research
areas that could improve the applicability of multi-level modeling.
Most companies working in the automotive domain need to use development
processes (DP) that comply with requirements defined by quality standards (QS)
like CMMI [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] or ISO 26262 [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Company specific standards or laws enforced
by governments may pose additional requirements. Moreover, those companies
often have to provide evidence that their DP complies with all requirements, for
example, due to economic reasons (precondition of contracts) or legal
considerations (product liability). Hence, there is a strong need to collect this evidence
information in a systematic way.
      </p>
      <p>The basic approach is straightforward: Just collect and later analyze
mappings between QS requirements and elements of the DPs. Here is a typical
example mapping that we illustrate at the bottom of Fig. 1:
– Integrate SW Component is an item (e.g., a Task) defined by the company’s</p>
      <p>DP.
– SW Integration and Testing is a QS requirement (e.g., a description of a
phase) that has to be implemented by elements of the company’s DP.
– Mapping connects both elements with the following semantics: The
requirement SW Integration and Testing is fulfilled by the element Integrate
SW Components.</p>
      <p>
        Note that these are items from three different domains. First, items from
the DP domain need to be taken into account. There is no commonly used
standard approach for describing DPs, but typical items found in DPs are Task,
Step, Function or Template. In our case study, we use ARIS [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] to describe the
company’s DP. Second, we capture QS requirements in the QS domain. In
our case, the company’s process has to comply with three QSs simultaneously
(CMMI, Automotive SPICE [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and ISO 26262). Last, the mapping domain
collects mappings between items of the DP and QS domain.
      </p>
      <p>Fig. 1 also structures the problem into three orthogonal layers:
– The Mapping Layer collects mapping information.
– The Mapping Type Layer defines valid mappings.
– The Kernel Layer provides the foundation with respect to the terminology
used within the DP, QS, and mapping domain.</p>
      <p>The natural structure of the problem domain in Fig. 1 does not fit into two
levels. Instead, Fig. 1 shows a scenario that is well suited for deep modeling
techniques. Below we present such a deep model that we have implemented in
an industrial application.
3
3.1</p>
    </sec>
    <sec id="sec-2">
      <title>The Case Study</title>
      <sec id="sec-2-1">
        <title>DeepML in a Nutshell</title>
        <p>None of the research papers on concepts and features of deep modeling offers
the flexibility and freedom needed for our case study (for details see Sec. 4). In
general, existing approaches lack
– freedom to combine concepts from several approaches. There is no
common set of deep modeling concepts, that would allow to cherry-pick
suitable concepts from various approaches.
– freedom to omit concepts. Known approaches do not allow to omit
concepts that are unnecessary for our solution.
– freedom to experiment with new ideas. None of the approaches we
know of provides means to explore new ideas or to add new concepts.</p>
        <p>
          As we needed this degree of freedom for our case study, we designed the
DeepML language and infrastructure. DeepML supports the usual modeling
concepts like inheritance, primitive data types, and enumerations. Furthermore,
DeepML builds on the idea of dual classification and potency that is unified
in the ontological classification architecture (OCA) [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. OCA distinguishes
between two kinds of instantiation relationships: The linguistic instantiation
(lio) is a relation between elements of the model (that describes the core
language capabilities, e.g., attributes, references, etc.) and elements of the problem
domain. Linguistic instantiations therefore are not domain specific. Fig. 2 gives
examples. On the other hand, ontological instantiation (oio) relations capture
domain specific aspects. In Fig. 2, for example, Book is an ontological instance
of ProductType.
        </p>
        <p>iitsLcgun ledoM
i
«lio»</p>
        <p>Dual classification</p>
        <p>«lio»
«oio»</p>
        <p>Clabject</p>
        <p>Underlined means
potency zero</p>
        <p>«lio»
«oio»
Potency "derived" by ontological
instantiation (indicated by slash)
Value (or slot)
Potency declaration</p>
        <p>
          Both elements (Book, ProductType) have a property called potency which
is a positive integer value. Every ontological instantiation step decrements the
potency by one. Model elements with a potency zero cannot be further
instantiated. Consequently, the element Book has both an instance and a class facet.
This is commonly called a clabject [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. DeepML clabjects ”derive” the
potency in the same way as attributes. To express this inheritance, we use the ”/”
character as in Book/@1.
        </p>
        <p>Due to space restrictions, instead of describing DeepML’s language
capabilities in full detail, the next sections highlight some of its key features. We also
compare them to other deep modeling languages in Sec. 4.
3.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Sample Mapping Scenario from the Case Study</title>
        <p>As outlined in Sec. 2, collecting mappings is always done with a specific goal in
mind. For example, in our case study, the DP needs to fulfil the requirements
of a new and emerging QS (ISO 26262). However, the company’s DP already
fulfils a subset of the requirements as defined by the QS CMMI. One strategy
to minimize the effort of gap analysis in such a situation is to map elements
from both QSs onto each other. We consider those ISO 26262 requirements that
we can map to CMMI requirements as already covered by the company’s DP.
ISO26262 requirements that cannot be mapped to CMMI necessitate further
investigation.</p>
        <p>The following subsections present parts of our Process Improvement and
Quality Standard Harmonization Model (PIQSH-M), a deep model that
underlies our mapping management application for the QS-DP-Mapping (Sec. 2) and
QS-QS-Mapping (see below) scenario.
3.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Ontological Containment</title>
        <p>QSs are usually published as large text documents. These documents are
typically organized with a specific ordering structure in mind. For example, each
chapter at a specific level (e.g., ”9.5.6 SW Integration and Testing”) represents
a phase. On its left side, Fig. 3 shows how to model the following clabjects for
capturing QSs in DeepML:
– QSDElement (Quality Standard Domain Element): Base clabject of
all elements that belong to the QS domain.
– QSTM (Quality Standard Type Model): Instances of this clabject are
top level elements of models used for capturing the structure of one QS
(e.g. entities, relations, etc.). An example is the clabject ISO26262/@1.
– QSElement: Instances of QSElements represent non top level elements of
QSs (e.g., clabject Phase/@1).</p>
        <p>To capture the relationships between elements of one QS, we introduce
references. In DeepML, relationships among clabjects are expressed by references
that are always unidirectional and owned by exactly one clabject. They are, thus,</p>
        <p>* intraQSRelation @2</p>
        <p>QSDElement@2
ownedQSElements @1
*</p>
        <p>QSElement@2
ownedPhases:intraQSRelation /@1</p>
        <p>*</p>
        <p>«oio»</p>
        <p>*
phases:mappedQSElements</p>
        <p>/@1
*
:phases</p>
        <p>ProcessArea /@1</p>
        <p>«oio»
:Integration /@0
*
processAreas:mappedQSElements /@1
*
processAreas /@0</p>
        <sec id="sec-2-3-1">
          <title>QS-Domain</title>
          <p>{ refAllowed=True; containmentAllowed=False }</p>
        </sec>
        <sec id="sec-2-3-2">
          <title>Mapping Domain</title>
          <p>PhasePAMapping
/@1</p>
          <p>:ownedMTDs
«oio»
:PhasePAMapping
/@0
Elements at kernel layer</p>
          <p>Elements at mapping type layer</p>
          <p>Elements at mapping layer
more similar to references in MOF than to association classes in UML.
References may participate in classification hierarchies in the same way as clabjects
do. Consequently, the potency of a reference is either directly specified or derived
from a classifying reference. For example, the reference intraQSRelation@2
classifies the set of relationships (not values) between QS elements. Thus, instances
of this reference, for example ownedPhases:intraQSRelation/@1, express that
ISO 26262 is made up of a set of phases. A slot concept is used to store values and
in DeepML underlined text is used as notation. For example, :ownedPhases/@0
is a slot, and SW Integration and Testing/@0 is owned by :ISO26262/@0.</p>
          <p>A similar model structure captures mapping information: Instances of the
clabject Mapping Type Model (MTM) are top level containers of models for
specifying meaningful mappings. An example for such a mapping is PhasePAMapping/@1
which links Phases (from ISO26262) and ProcessAreas (from CMMI). Concrete
mappings can then be captured on the mapping layer (e.g., :PhasePAMapping/@0).</p>
          <p>Although, references optionally may be containment references, most deep
language specifications ignore this. Instead, DeepML adds an ontological
containment concept because: Firstly, a containment is a common constraint that
should be natively supported. Secondly, and more importantly, a containment
hierarchy reflects the hierarchical structure that the domain expert had in mind.
Finally, persistance layers typically use containments to find the one (or no)
resource to store elements into. An example for a containment reference is
ownedQSElements@1 (see Fig. 3). Given its definition, QSElements are part of
exactly one QSTM.
3.4</p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>Domain Stacks and Model Organization</title>
        <p>One of the key requirements of the PIQSH-M is to support reuse. For example,
other companies or organizational units may need to comply with a different set
of QSs. The basic idea for addressing this problem is to develop a library of
commonly used QSs that grows over time. Missing QSs can simply be transformed
into deep models and added to that library for later reuse.</p>
        <p>When managing such a library, it is important to define what kinds of models
are part of it. Restricting and managing dependencies between models is equally
important. We decided to use the matrix-like organization shown in Fig. 1 as a
guideline because it separates model content with respect to the domain (QS,
Mapping, DP) and to the role (kernel, mapping, and mapping type definition
layer). For example, direct and indirect instances of QSTMs@2 (e.g., CMMI/@1 and
:CMMI/@0, respectively) are models managed by the library.</p>
        <p>As explained above, restrictions should apply to the set of permissible
relations between models from different domains and layers. DeepML allows the
definition of references without a classifying reference at any level. For
example, we could define a direct reference between Phase and ProcessArea without
defining the corresponding mapping type. However, such a direct reference would
lead to a direct dependency between ISO26262/@1 and CMMI/@1 — thus
breaking the intentional decoupling introduced by the mapping layer and leading to
a pollution of model content.</p>
        <p>To prevent pollution of this kind, the concept of domain stacks is added to
DeepML, formalizing the separation into domains as illustrated in Fig. 1. Every
clabject may be part of at most one domain stack. For example, all elements on
the left side of Fig. 3 are members of the QS domain stack. References between
elements within the same domain stack are allowed. References to elements of
other domain stacks or to domainless elements are not allowed by default.</p>
        <p>The situation is slightly different for members of the DP domain stack (right
side of Fig. 3): They must refer to elements from other domain stacks, but must
not contain them. To express these rules, a relationship between domain stacks
is introduced that specifies which kind of references are allowed. An example is
shown at the top of Fig. 3.</p>
        <p>To summarize, by using top level containers, ontological containment and
domain stacks, a clean separation of content is realized that spans multiple levels.
However, a capability for managing mapping projects is still missing.
3.5</p>
      </sec>
      <sec id="sec-2-5">
        <title>A Deep Model for DPI Project Management</title>
        <p>With a deep model for organizing items of the QS and DP domains at hand,
the practitioner also needs tool support to actually use this model for creating
and managing mapping information. Let us now demonstrate how the DeepML
model serves as a foundation of an application called PIQSH Support Center
(PIQSH-SC) that covers the three main use cases of managing projects in the
DPI domain:
(1) Define Quality Standards: Capture the structure and content of QSs.
(2) Define Mapping Type Models: Define the set of meaningful mappings
between certain combinations of QSs (or QSs and DPs).
(3) Collect Mapping Information: Collect mapping information within a
specific context (e.g. between QSs or between QSs and DPs).</p>
        <p>Use case (1) is straightforward. As it is only concerned with creating models,
we do not discuss it any further. Use case (2) involves at least three models,
for example, two QSTMs (e.g., CMMI/@1 and ISO26262/@1) and one MTM (e.g.,
ISO26262CMMI/@1) as shown in Fig. 3. The inter-model relationships can also
be captured in DeepML as the PIQSH Project Management Model
(PIQSHPMM) and the clabject Model Type Definition Project (MTDProject). With
this clabject, we string together all models in terms of an import relationship.
The resulting model is shown on the left side of Fig. 4.
:MappingProject /@0
«oio»</p>
        <p>«oio»</p>
        <p>«oio»</p>
        <p>Use case (3) requires capturing mapping information. Within use case (2),
MTDProject and the corresponding references had equal potency values, and
both were reduced within an ontological instantiation step. In contrast, in use
case (3) a project needs to store references to models on the mapping layer;
that is, to instances of instances of QSTMs or MTMSs. Since references of this kind
cannot be expressed with DeepML, we enhance references by the concept of
distance.</p>
        <p>The distance between two clabjects A and B is defined as the number of
instantiation relationships that need to be traversed in order to reach A when
starting from B. As an example, the distance between QSTM@2 and ISO26262/@0
is 2 (see right side of Fig. 4). The rule for assigning values to a reference depends
on the distance: The distance between the reference’s target type and the value
to be assigned must be equal to the distance of the reference. Fig. 4 shows the
clabject MappingProject and the notation (d&lt;distance&gt;@&lt;potency &gt;) that is
used to specify both distance and potency. As a consequence, the semantics of
the reference impQSMs d2@1 in the context of a concrete mapping management
project is to store instances of instances of QSTMs. There is an example for
reference values (i.e., instances of MappingProject) shown at the top of Fig. 4.
3.6</p>
      </sec>
      <sec id="sec-2-6">
        <title>DeepML’s Framework Architecture</title>
        <p>
          The need to define efficient strategies for managing mappings in scenarios as
outlined in Sec. 2 has been identified before, for example, in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] and [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ].
However, this paper focuses on experience made by using deep modeling techniques.
So we will concentrate on related work in that area of research.
        </p>
        <p>
          Melanee [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] provides a deep modeling framework with graphical syntax and
editors. It is built on top of EMF and also incorporates ideas from the domain
of ontologies. It therefore supports an additional so-called exploratory mode [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
In exploratory mode, a reasoning engine establishes ontological instantiation
relationships. However, our goal was to use a deep modeling language with a
minimal set of language constructs that is optimized for building models in
a constructive way, that is, by using explicit instantiation relationships. Also,
Melanee does not define a concept similar to domain stacks for managing model
partitioning. There is also no concept available in Melanee for realizing layer
spanning references as defined in Sec. 3. However, some framework capabilities
like for example emendation support [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] are neither provided by DeepML nor by
any other deep modeling framework we are aware of.
        </p>
        <p>
          Another deep modeling language is MetaDepth [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. MetaDepth provides a
convenient textual syntax for creating deep models and has some unique
language features, for example, the *-potency. A clabject with a star potency has
an unlimited potency. With each instantiation step, that potency may either
remain unlimited or a concrete potency value may be assigned. Yet, MetaDepth
lacks support for ontological containment and domain stacks that greatly
simplified the architecture needed for our case study 3.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusion and Future Work</title>
      <p>In this paper we report on our experience gained by applying deep modeling
techniques to a real life industrial use case. The corresponding application has
been successfully used by our industrial partner for approximately one year, and
we are currently discussing further extensions. The underlying deep model is very
well suited for this kind of problem: The concept of layers and stacks provides
a clean separation of concerns, and the model is very flexible. We continue to
develop both, the application and the DeepML framework, mainly focussing on
the following topics:</p>
      <p>
        First, one of the main problems with traditional programming languages,
such as Java, is, that they only support two levels of instantiation (class and
object). We are currently investigating solutions to this problem either by using
appropriate patterns to emulate multiple levels or by enhancing the
programming language (like e.g. done in DeepJava [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]). Second, a lot of enhancements
are planned with respect to the infrastructure. For example, diagram based
editors, additional code generators for automatically generating code to ease the
development of user interfaces, and so forth. Third, we are looking for other
domains that might benefit from using deep modeling techniques. A promising
candidate is the domain of variant management in software development and
systems engineering. Fourth, we intend to explore the combination of
PIQSHM with executable process models such as eSPEM [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. One possibility is to
introduce a process execution layer below the mapping layer, but limited to the
DP domain. This leads to a four-level model architecture.
      </p>
      <p>To summarize, we think multi-level modeling techniques are very well suited
for the kinds of problem outlined in Sec. 2. However, there remains a lot of
research to be done. For example, we did not find any solutions for handling
model migration in a multi-level aware way. Yet, in our view, the major stumbling
block is the lack of an agreed and publicly available specification of the core
concepts and terminology of multi-level modeling (a standard deep meta model).</p>
      <p>Finally, we hope our experience report encourages other people to use deep
modeling techniques — at least in areas similar to the one outlined in Sec. 2.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. BIRT. http://www.eclipse.org/birt/ (
          <year>July 2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Eclipse Modeling Framework. http://www.eclipse.org/modeling/emf/ (
          <year>July 2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Epsilon. http://www.eclipse.org/epsilon/ (
          <year>July 2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. Melanee. http://melanee.org/ (
          <year>July 2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. MetaDepth. http://astreo.ii.uam.es/ jlara/metaDepth/ (
          <year>July 2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>software</surname>
            <given-names>AG</given-names>
          </string-name>
          : ARIS. http://www.softwareag.
          <source>com/aris (July</source>
          <year>2014</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>Gerbig</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kennel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>On-the-Fly Emendation of Multi-Level Models</article-title>
          .
          <source>In: Modelling Foundations and Applications. LNCS</source>
          , vol.
          <volume>7349</volume>
          , pp.
          <fpage>194</fpage>
          -
          <lpage>209</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <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>
          , LNCS, vol.
          <volume>6563</volume>
          , pp.
          <fpage>266</fpage>
          -
          <lpage>275</lpage>
          . Springer (
          <year>2011</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>Kennel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Go</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Supporting Constructive and Exploratory Modes of Modeling in Multi-Level Ontologies</article-title>
          .
          <source>7th Intl. Workshop on Semantic Web Enabled Softw. Eng</source>
          . (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Ku¨hne, T.:
          <article-title>Rearchitecting the UML Infrastructure</article-title>
          .
          <source>ACM Trans. Model. Comput. Simul</source>
          .
          <volume>12</volume>
          (
          <issue>4</issue>
          ),
          <fpage>290</fpage>
          -
          <lpage>321</lpage>
          (
          <year>Oct 2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Ku¨hne, T.:
          <string-name>
            <surname>Model-Driven Development</surname>
          </string-name>
          :
          <article-title>A Metamodeling Foundation</article-title>
          .
          <source>IEEE Software 20(5)</source>
          ,
          <fpage>36</fpage>
          -
          <lpage>41</lpage>
          (
          <year>2003</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>Reducing accidental complexity in domain models</article-title>
          .
          <source>Software and System Modeling</source>
          <volume>7</volume>
          (
          <issue>3</issue>
          ),
          <fpage>345</fpage>
          -
          <lpage>359</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Automotive</surname>
            <given-names>SIG</given-names>
          </string-name>
          :
          <string-name>
            <surname>Automotive SPICE Process Reference</surname>
            <given-names>Model</given-names>
          </string-name>
          ,
          <source>Ver. 4</source>
          .5 (May
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>CMMI</given-names>
            <surname>Product</surname>
          </string-name>
          <article-title>Team: CMMI for Development</article-title>
          ,
          <source>Ver. 1.3. Tech. Rep</source>
          . CMU/SEI2010-TR-
          <volume>033</volume>
          , Carnegie Mellon Univ. -
          <source>Software Eng. Inst. (Nov</source>
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Ellner</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Al-Hilank</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drexler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jung</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kips</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Philippsen</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A FUMLBased Distributed Execution Machine for Enacting software process models</article-title>
          .
          <source>In: ECMFA. LNCS</source>
          , vol.
          <volume>6698</volume>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>34</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Ferreira</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Machado</surname>
            ,
            <given-names>R.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paulk</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <article-title>Supporting audits and assessments in multi-model environments</article-title>
          .
          <source>In: PROFES. Lecture Notes in Business Information Processing</source>
          , vol.
          <volume>6759</volume>
          , pp.
          <fpage>73</fpage>
          -
          <lpage>87</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Gonzalez-Perez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A powertype-based metamodelling framework</article-title>
          .
          <source>Software and System Modeling</source>
          <volume>5</volume>
          (
          <issue>1</issue>
          ),
          <fpage>72</fpage>
          -
          <lpage>90</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Intl</surname>
          </string-name>
          . Org. for Standardization: ISO 26262:
          <string-name>
            <surname>Road</surname>
          </string-name>
          vehicles - Functional
          <source>safety (Nov</source>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. Ku¨hne, T.,
          <string-name>
            <surname>Schreiber</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Can Programming be Liberated from the Two-Level style? Multi-Level Programming with DeepJava</article-title>
          .
          <source>In: OOPSLA</source>
          . pp.
          <fpage>229</fpage>
          -
          <lpage>244</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. OMG:
          <article-title>Meta Object Facilities</article-title>
          . http://www.omg.org/mof/ (
          <year>July 2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. OMG:
          <article-title>Unified Modeling Language</article-title>
          . http://www.uml.org/ (
          <year>July 2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Siviy</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          et al.:
          <article-title>Maximizing your Process Improvement ROI through Harmonization</article-title>
          .
          <source>Tech. rep., Carnegie Mellon Univ. - Software Eng. Inst. (March</source>
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>