<!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>UML and OCL Transformation Model Analysis: Checking Invariant Independence</article-title>
      </title-group>
      <contrib-group>
        <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>
        <contrib contrib-type="author">
          <string-name>Frank Hilken</string-name>
          <email>fhilken@informatik.uni-bremen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Database Systems Group, University of Bremen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper discusses a case study for showing invariant independence for a transformation model. The study is based on an approach that proposes to analyze UML and OCL models using a solver for relational logic. In the approach, UML and OCL models describe system structures formally with UML class diagrams and OCL class invariants. Test cases in form of object diagrams are constructed and employed for property inspection. With the approach one can prove model properties like model constraint independence for the structural model part. Thus important model properties can be analyzed on the modeling level without the need for implementing the model. All feedback given to the developer is stated in terms of the used modeling language, UML and OCL.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Models and model transformations are regarded as essential cornerstones for
Model-Driven Engineering (MDE) [
        <xref ref-type="bibr" rid="ref12 ref19 ref6">6, 19, 12</xref>
        ]. Quality improvement techniques
like validation and verification on the modeling level are central for the success
of MDE, in particular when they are performed in combination with testing on
the basis of solver engines. Thus testing and validation approaches for models
and model transformations are obtaining more and more attention (see [
        <xref ref-type="bibr" rid="ref3 ref4">4, 3</xref>
        ]).
The starting point for our work is a UML class model that is completed by OCL
invariants. Analyzing that model then means to verify properties like consistency
or constraint independence. Our approach proposes to check such properties by
applying a so-called model validator in the tool USE (Uml-based Specification
Environment, see [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] for basic functionality of an early version) that searches
for test cases in form of object diagrams. We apply our technique here in an
exemplary way to model transformations in form of transformation models [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and
present a case study, whereas the basic approach has already been put forward
in [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ], it has not been demonstrated to work for invariant independence for
transformation models.
      </p>
      <p>The rest of this paper is structured as follows. Section 2 gives an overview on
the verification options of the approach. Section 3 describes the case study in
form of a transformation model. Section 4 handles one particular verification
option, namely invariant independence that has not been demonstrated within
the current approach before. Section 5 points to related work. Section 6 closes
the paper with a conclusion and future work. More details about the
transformation model, configurations and execution have been presented in [14, Additional
Material].
2</p>
    </sec>
    <sec id="sec-2">
      <title>Overview on Verification Options within the Approach</title>
      <p>
        Consistency: The consistency of the model can be checked, i.e., it is analyzed
whether the model can be instantiated. This shows that the model constraints
are not contradictory. Details are available in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        Consequences: Consequences of the model can be inspected. For this purpose,
the negation of the suspected consequence together with the stated constraints
are handed to the model validator and a counterexample is searched for in the
finite search space determined by the configuration. If none is found, the assumed
consequence is regarded as valid. Details are available in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        Partial solution completion: A partial solution of the model may be given
to the model validator who tries to complete the partial solution. In terms of
our running example, a transformation model, this can be utilized for explicitly
computing for a source instance a target instance and vice versa. Transformation
properties like injectivity can be checked in this way. Details are available in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
Invariant independence: A set of invariants can be tested for independence,
i.e., it is checked that one invariant is not implied by other invariants, or in
other words that the considered invariant is independent from the other ones.
This may be regarded as a kind of minimality property of the invariant set. One
could also call it redundancy freeness. This property has not yet been elaborated
in connection with the present USE model validator.
      </p>
      <p>All feedback is given in terms of the language that the developer uses for
describing models: UML and OCL. All results are presented in form of UML, not as an
internal representation of the underlying solver engine. OCL can be employed
to inspect the resulting object diagram.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Model Transformation Example</title>
      <p>The running example in this paper is the well-known transformation between
ER and relational database schemata. We study this transformation in form of
a transformation model as introduced in transformation model is a descriptive
model where the relationship between source and target is purely characterized
by the (source,target) model pairs determined by the transformation. A
transformation model consists in our approach of a plain UML class diagram with
restricting OCL invariants. Typically, there is an anchor class for the source
model, an anchor class for the target model, and a connecting class for the
transformation. In the example there are 22, partly non-trivial OCL invariants
for restricting the source metamodel, for the target metamodel, and for the
transformation. In Fig. 2 the class diagram and the invariant names for the example
are depicted.</p>
      <p>The example transformation model has four packages: a base part with datatypes
and attributes for concepts commonly employed in the ER and relational model;
a part for ER schemata (ErSchema) with the concepts Entity, Relship
(relationship), and Relend (relationship end); a part for relational database
schemata (RelDBSchema) incorporating relational schemata (RelSchema); finally,
a part for the transformation (Trans). discusses also the semantics. Therefore,
some classes here are marked RelSyn). More details of the example can be found
in [14, additional material].
4</p>
    </sec>
    <sec id="sec-4">
      <title>Invariant Independence</title>
      <p>One crucial property for a set of invariants is whether the invariants are
independent from each other, i.e., a single invariant cannot be obtained as a deduction
from other stated invariants. In typical models, the invariants may be
independent or there may be intentional dependencies. In any case, it is an interesting
question to identify a minimal set of independent invariants. For a
transformation developer invariant independence means that the invariant set in the
transformation model is minimal and that exactly these conditions have to be
respected, for example, in a transformation implementation.</p>
      <p>Our approach supports the developer in order to check a set of invariants for
independence under a single configuration which is shown in Fig. 3. For
performing this task, all invariants are considered sequentially; each single invariant is
negated and handed over together with the other invariants and the stated
configuration to the model validator. Figure 4 shows the resulting protocol for the
running example and also presents time stamps (format HH:MM:SS) allowing to
deduce the taken amount of time to compute a respective counterexample. Thus
the independence proof takes about 4.5 minutes. The complete set with 22
invariants can be shown to be independent. 22 object diagrams (test cases) have
been constructed. In every object diagram exactly one invariant is not satisfied.
modelvalidator -invIndep invariantIndependenceConfig.properties
15:18:24 Base_Attribute::linkedToOneOfEntityRelshipRelSchema: Independent
15:18:37 Base_DataType::uniqueDataTypeNames: Independent
15:18:48 Er2Rel_Trans::forEntityExistsOneRelSchema: Independent
15:19:17 Er2Rel_Trans::forRelSchemaExistsOneEntityXorRelship: Independent
15:19:29 Er2Rel_Trans::forRelshipExistsOneRelSchema: Independent
15:19:40 ErSyn_Entity::differentOsRelendAndAttributeNamesWithinEntity: Indpendent
15:19:50 ErSyn_Entity::entityKeyNotEmpty: Independent
15:20:00 ErSyn_Entity::uniqueAttributeNamesWithinEntity: Independent
15:20:11 ErSyn_Entity::uniqueOsRelendNamesWithinEntity: Independent
15:20:21 ErSyn_ErSchema::differentEntityAndRelshipNamesWithinErSchema: Indpendent
15:20:34 ErSyn_ErSchema::uniqueEntityNamesWithinErSchema: Independent
15:20:45 ErSyn_ErSchema::uniqueErSchemaNames: Independent
15:20:55 ErSyn_ErSchema::uniqueRelshipNamesWithinErSchema: Independent
15:21:06 ErSyn_Relend::c_Relend_Entity_Relship_ErSchema: Independent
15:21:19 ErSyn_Relship::differentRelendAndAttributeNamesWithinRelship: Indpendent
15:21:30 ErSyn_Relship::relshipKeyEmpty: Independent
15:21:41 ErSyn_Relship::uniqueAttributeNamesWithinRelship: Independent
15:21:52 ErSyn_Relship::uniqueRelendNamesWithinRelship: Independent
15:22:05 RelSyn_RelDBSchema::uniqueRelDBSchemaNames: Independent
15:22:16 RelSyn_RelDBSchema::uniqueRelSchemaNamesWithinRelDBSchema: Independent
15:22:28 RelSyn_RelSchema::relSchemaKeyNotEmpty: Independent
15:22:39 RelSyn_RelSchema::uniqueAttributeNamesWithinRelSchema: Independent
It is also to inspect the counterexample (object diagram) constructed for a single
invariant. Figure 5 displays the counterexample for the invariant
forRelshipExistsOneRelSchema. Primarily, it is denoted as an object diagram for the
underlying metamodel; but it is also denoted in a domain specific way partly as
an ER diagram and partly as a relational textual SQL schema. The model
validator has constructed an ER schema with one entity and one relationship, but
only the entity is reflected in the relational DB schema. This leads to the fact
that exactly one invariant is not satisfied in the object diagram and proves the
independence of forRelshipExistsOneRelSchema.</p>
      <p>Invariant independence is based on the equivalence that is stated below in an
exemplary way for the case of three invariants. The independence statement may
be expressed or read as: I nvB is independent of {I nvA, I nvC }.</p>
      <p>∃ od : ObjectDiagram (I nvA ∧ ¬I nvB ∧ I nvC )
⇔ ¬ ∀ od : ObjectDiagram (I nvA ∧ I nvC ⇒ I nvB )
5</p>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        Related approaches: Our contribution is based on Alloy [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and Kodkod [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
OCL has already been employed for testing and verification. Mutation testing for
OCL constraints has been considered in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and test data generation from OCL
constraints was discussed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Validation of OCL and object-oriented models
for particular areas like web forms [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], or conceptual DB schemas [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] has been
studied as well. OCL property derivation based on interactive proving techniques
is put forward in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Transformation models using the same example as here, but
focusing on refinement, have been studied in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. A general context of descriptive
transformations employing UML and OCL is described in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Different notions
of consistency have also been proposed in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In contrast to the mentioned
works, our approach is the only one which supports full OCL and studies
general properties like invariant independence by automatically constructing object
diagrams.
      </p>
      <p>
        Relationship to own work: The model validator is grounded on a translation
of UML and OCL concepts into relational logic [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. The same model
transformation as here with focus on consistency and metamodel property preservation
has been studied in a workshop paper [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The completion technique was
proposed in a workshop paper [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] as well. Results concerning the independence
of invariants in the context of the model validator are original in this
contribution. Additional material (complete model sources, configurations and additional
examples) can be found in [14, additional material].
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and Future Work</title>
      <p>The paper presented an approach for automatically checking UML and OCL
model features. We have sketched how models could be checked for consistency,
for consequences, and through the completion of partially specified object
diagrams. We have shown how to analyze invariant independence, i.e., how to check
the absence of redundancy in an invariant set.</p>
      <p>
        Future work includes a number of topics. Apart from checking model
properties, the model validator could be employed for systematic construction of test
cases for UML models on the basis of an orthogonal test case characterization
with OCL. Optimizations in the translation to the underlying relational logic
could simplify the currently involved handling of the undefined value which is
needed due to the fact that UML and OCL have more than two truth values.
The handling of strings must be improved. Behavioral aspects must be
integrated by transforming first state charts into pre- and postconditions and then
pre- and postconditions into so-called filmstrip models that contain invariants
only [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Last but not least, larger case studies must check the practicability of
the approach.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aichernig</surname>
            ,
            <given-names>B.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salas</surname>
            ,
            <given-names>P.A.P.</given-names>
          </string-name>
          :
          <article-title>Test Case Generation by OCL Mutation and Constraint Solving</article-title>
          .
          <source>In: 2005 NASA / DoD Conference on Evolvable Hardware (EH</source>
          <year>2005</year>
          ), 29 June - 1
          <source>July</source>
          <year>2005</year>
          , Washington, DC, USA, IEEE Computer Society (
          <year>2005</year>
          )
          <fpage>64</fpage>
          -
          <lpage>71</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iqbal</surname>
            ,
            <given-names>M.Z.Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arcuri</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briand</surname>
            ,
            <given-names>L.C.</given-names>
          </string-name>
          :
          <article-title>Generating Test Data from OCL Constraints with Search Techniques</article-title>
          .
          <source>IEEE Trans. Software Eng</source>
          .
          <volume>39</volume>
          (
          <issue>10</issue>
          ) (
          <year>2013</year>
          )
          <fpage>1376</fpage>
          -
          <lpage>1402</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Amrani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lucio</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selim</surname>
            ,
            <given-names>G.M.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Combemale</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dingel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vangheluwe</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Traon</surname>
            ,
            <given-names>Y.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cordy</surname>
            ,
            <given-names>J.R.:</given-names>
          </string-name>
          <article-title>A Tridimensional Approach for Studying the Formal Verification of Model Transformations</article-title>
          . In Antoniol, G.,
          <string-name>
            <surname>Bertolino</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Labiche</surname>
          </string-name>
          , Y., eds.
          <source>: Proc. Workshops ICST</source>
          , IEEE (
          <year>2012</year>
          )
          <fpage>921</fpage>
          -
          <lpage>928</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baudry</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghosh</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fleurey</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , France, R.B.,
          <string-name>
            <surname>Traon</surname>
            ,
            <given-names>Y.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mottu</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          :
          <article-title>Barriers to Systematic Model Transformation Testing</article-title>
          .
          <source>CACM</source>
          <volume>53</volume>
          (
          <issue>6</issue>
          ) (
          <year>2010</year>
          )
          <fpage>139</fpage>
          -
          <lpage>143</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bezivin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Bu¨ttner,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Gogolla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Jouault</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Kurtev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Lindow</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          : Model Transformations? Transformation Models! In Nierstrasz,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Whittle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Harel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Reggio</surname>
          </string-name>
          , G., eds.
          <source>: Proc. 9th Int. Conf. Model Driven Engineering Languages and Systems (MoDELS'2006)</source>
          , Springer, Berlin, LNCS
          <volume>4199</volume>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Brambilla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cabot</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Model-Driven Software</surname>
          </string-name>
          Engineering in Practice. Morgan &amp;
          <string-name>
            <surname>Claypool</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Brucker</surname>
            ,
            <given-names>A.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolff</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Semantics</surname>
          </string-name>
          , Calculi, and
          <article-title>Analysis for Object-Oriented Specifications</article-title>
          .
          <source>Acta Inf</source>
          .
          <volume>46</volume>
          (
          <issue>4</issue>
          ) (
          <year>2009</year>
          )
          <fpage>255</fpage>
          -
          <lpage>284</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Bu¨ttner,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Egea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Guerra</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>de Lara</surname>
          </string-name>
          , J.:
          <article-title>Checking Model Transformation Refinement</article-title>
          . In Duddy,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Kappel</surname>
          </string-name>
          , G., eds.
          <source>: Proc. Inf. Conf. ICMT. LNCS 7909</source>
          , Springer (
          <year>2013</year>
          )
          <fpage>158</fpage>
          -
          <lpage>173</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Cabot</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Claris´o,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Guerra</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>de Lara</surname>
          </string-name>
          , J.:
          <article-title>Verification and Validation of Declarative Model-To-Model Transformations through Invariants</article-title>
          .
          <source>Journal of Systems and Software</source>
          <volume>83</volume>
          (
          <issue>2</issue>
          ) (
          <year>2010</year>
          )
          <fpage>283</fpage>
          -
          <lpage>302</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Cabot</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clariso</surname>
            <given-names>´</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Riera</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Verification of UML/OCL Class Diagrams using Constraint Programming</article-title>
          .
          <source>In: ICST Workshops</source>
          , IEEE Computer Society (
          <year>2008</year>
          )
          <fpage>73</fpage>
          -
          <lpage>80</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Escott</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strooper</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>King</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hayes</surname>
            ,
            <given-names>I.J.</given-names>
          </string-name>
          :
          <article-title>Model-Driven Web Form Validation with UML and OCL</article-title>
          . In Harth,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Koch</surname>
          </string-name>
          , N., eds.: Current Trends in Web Engineering - Workshops, Doctoral Symposium, and Tutorials,
          <source>Held at ICWE</source>
          <year>2011</year>
          , Paphos, Cyprus, June 20-21,
          <year>2011</year>
          .
          <source>Revised Selected Papers</source>
          . Volume
          <volume>7059</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2011</year>
          )
          <fpage>223</fpage>
          -
          <lpage>235</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Frankel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Model Driven Architecture: Applying MDA to Enterprise Computing</article-title>
          . John Wiley &amp; Sons, Inc., New York, NY, USA (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Bu¨ttner,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Richters</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>USE: A UML-Based Specification Environment for Validating UML and OCL</article-title>
          .
          <source>Science of Computer Programming</source>
          <volume>69</volume>
          (
          <year>2007</year>
          )
          <fpage>27</fpage>
          -
          <lpage>34</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Gogolla</surname>
          </string-name>
          , M., Hamann, L.,
          <string-name>
            <surname>Hilken</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Checking Transformation Model Properties with a UML and OCL Model Validator</article-title>
          .
          <source>In: Proc. 3rd Int. STAF'2014 Workshop Verification of Model Transformations (VOLT</source>
          '
          <year>2014</year>
          ).
          <article-title>(2014) CEUR Proceedings</article-title>
          . Paper and Additional material: http://www.db.informatik.uni-bremen. de/publications/intern/GHH2014VOLT.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Gogolla</surname>
          </string-name>
          , M., Hamann, L.,
          <string-name>
            <surname>Hilken</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>On Static and Dynamic Analysis of UML and OCL Transformation Models</article-title>
          .
          <source>In: Proc. 3rd Int. MODELS'2014 Workshop Analysis of Model Transformations (AMT</source>
          '
          <year>2014</year>
          ).
          <article-title>(2014) CEUR Proceedings</article-title>
          . Paper: http: //www.db.informatik.uni-bremen.de/publications/intern/GHH2014AMT.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Gogolla</surname>
          </string-name>
          , M., Hamann, L.,
          <string-name>
            <surname>Hilken</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuhlmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , France, R.B.:
          <article-title>From Application Models to Filmstrip Models: An Approach to Automatic Validation of Model Dynamics</article-title>
          . In Fill, H.,
          <string-name>
            <surname>Karagiannis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reimer</surname>
          </string-name>
          , U., eds.
          <source>: Proc. Modellierung</source>
          (MODELLIERUNG'
          <year>2014</year>
          ), GI, LNI
          <volume>225</volume>
          (
          <year>2014</year>
          )
          <fpage>273</fpage>
          -
          <lpage>288</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Software Abstractions: Logic, Language, and Analysis</article-title>
          . MIT Press (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Kuhlmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gogolla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>From</surname>
            <given-names>UML</given-names>
          </string-name>
          and
          <article-title>OCL to Relational Logic and Back</article-title>
          . In France, R.,
          <string-name>
            <surname>Kazmeier</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Breu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Atkinson</surname>
          </string-name>
          , C., eds.
          <source>: Proc. 15th Int. Conf. Model Driven Engineering Languages and Systems (MoDELS'2012)</source>
          , Springer, Berlin, LNCS
          <volume>7590</volume>
          (
          <year>2012</year>
          )
          <fpage>415</fpage>
          -
          <lpage>431</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Mellor</surname>
            ,
            <given-names>S.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scott</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Uhl</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weise</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : MDA Distilled:
          <article-title>Principles of ModelDriven Architecture</article-title>
          . Addison-Wesley, Boston (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Queralt</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teniente</surname>
          </string-name>
          , E.:
          <article-title>Verification and Validation of UML Conceptual Schemas with OCL Constraints</article-title>
          .
          <source>ACM Trans. Softw. Eng. Methodol</source>
          .
          <volume>21</volume>
          (
          <issue>2</issue>
          ) (
          <year>2012</year>
          )
          <fpage>13</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Torlak</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : Kodkod:
          <string-name>
            <given-names>A Relational</given-names>
            <surname>Model</surname>
          </string-name>
          <article-title>Finder</article-title>
          .
          <source>In: Proc. Int. Conf</source>
          .
          <article-title>Tools and Algorithms for the Construction and Analysis of Systems (TACAS'</article-title>
          <year>2007</year>
          ).
          <source>(2007) LNCS</source>
          <volume>4424</volume>
          ,
          <fpage>632</fpage>
          -
          <lpage>647</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>