<!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>Extending a UML and OCL Tool for Multi-Levels: Applications towards Model Quality Assessment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Khanh-Hoang Doan</string-name>
          <email>doankh@informatik.uni-bremen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Gogolla</string-name>
          <email>gogolla@informatik.uni-bremen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Bremen</institution>
          ,
          <addr-line>D-28334 Bremen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Currently, meta- and multi-level modelling is gaining more and more attention. A natural, upcoming question is, how to extend existing two-level approaches to cover multi-levels. In this contribution, we extend the UML and OCL tool USE in order to describe multi-level models. We also apply the extension to demonstrate the usefulness of multi-level modelling for model querying and model quality assessment.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In this contribution we show how to upgrade a
twolevel modeling tool to three levels of modeling by adding
the OMG (Object Management Group) UML meta-model
to the topmost level. In addition to this tool extension, we
discuss reflective model querying as it plays an essential
role. Therefore, we also present a reflective model querying
approach using OCL for the meta-model. We apply
metamodel queries for model quality evaluation. Developers can
use an appropriate method to evaluate their model and find
drawbacks and problems on it.</p>
    </sec>
    <sec id="sec-2">
      <title>II. META-MODELING IN TOOL USE</title>
      <p>In the current contribution, we introduce an approach, in
which the MOF architecture is integrated into USE for
multilevel modelling. Roughly speaking, we now make the third
OMG layer M2 explictily available, and an instance of the
M2-model corresponding to the user model is added to the
M1-layer. Fig. 1 shows the general schema for the three-level
modeling in the new version of USE.</p>
      <p>M2</p>
      <p>UML Meta model
&lt;&lt;instanceOf&gt;&gt;</p>
      <p>Meta model
instances
M1
M0
&lt;&lt;viewOf&gt;&gt;
&lt;&lt;viewOf&gt;&gt;</p>
      <p>UML User model</p>
      <p>&lt;&lt;instanceOf&gt;&gt;</p>
      <p>Run-time instances
Fig. 1. General schema for the three-level modeling.</p>
      <p>
        III. APPLICATION: MODEL QUALITY ASSESSMENT
Model quality assessment helps modelers to detect errors or
mistakes on their models. These assessment properties might
include design properties, respecting naming conventions or
metrics properties [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. We introduce a proposal that employs
OCL utilizing the three-level modeling approach as presented
before. Thus, we can automatically evaluate quality properties
of a user model. Fig. 2 shows the workflow of our proposal
for model quality evaluation, which uses reflective OCL
constraints as a major ingredient.
      </p>
    </sec>
    <sec id="sec-3">
      <title>IV. CONCLUSION</title>
      <p>This contribution has proposed an extension of the tool USE
that supports three-level modelling where the middle level
can be seen at the same time as an object diagram, i.e., the
instantiation of the meta model, and as a class diagram, i.e.,
the type model for the lower level. Based on these ideas, we
present approaches for model quality assessment.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Büttner</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Richters</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>USE: A UML-based Specification Environment for Validating UML and OCL</article-title>
          .
          <source>Sci. Comput</source>
          . Program.
          <volume>69</volume>
          (
          <issue>1-3</issue>
          ),
          <fpage>27</fpage>
          -
          <lpage>34</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>López-Fernández</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>de Lara</surname>
          </string-name>
          , J.:
          <article-title>Assessing the Quality of Meta Models</article-title>
          .
          <source>In: Proc. 11th Workshop MoDeVVa@MODELS 2014</source>
          . pp.
          <fpage>3</fpage>
          -
          <lpage>12</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>