<!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>Model Transformation for Service-Oriented Web Applications Development</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Valeria de Castro</string-name>
          <email>valeria.decastro@urjc.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juan Manuel Vara</string-name>
          <email>juanmanuel.vara@urjc.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Esperanza Marcos</string-name>
          <email>esperanza.marcos@urjc.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Kybele Research Group Rey Juan Carlos University Tulipán</institution>
          <addr-line>S/N, 28933, Móstoles, Madrid</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In recent years, innovation in technologies such as web services, business process automation, etc., have motivated a new paradigm in the application development field to appear, known as Service-Oriented Computing. This new paradigm, which utilizes services as fundamental elements for developing applications, has encouraged the evolution of web applications and the way they are developed. Attending to this evolution we have already presented a model driven method for service-oriented web applications development. The method defines new Platform Independent Models (PIMs) and mappings between them. The PIMs proposed have been grouped in a UML profile based on the behavioral modeling elements of UML 2.0. In this work, we focus on the mapping between those PIMs and we define the model to model transformations needed for service-oriented web applications development. We first specify the transformation rules with natural language to later formalize them with graph transformation rules.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>Service-Oriented Web Applications</kwd>
        <kwd>MDA</kwd>
        <kwd>UML</kwd>
        <kwd>Model Transformations</kwd>
        <kwd>Graph Transformation Rules</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <sec id="sec-1-1">
        <title>A new paradigm in the field of application development, known as Service-Oriented</title>
        <p>
          Computing (SOC) [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] has encouraged the evolution of web applications and the way
they are developed. Thus, while first web applications were created as a way to make
available information to users, and they were built basically by linking static and
dynamic pages; currently, most of the web applications are understood as networks of
applications owned and managed by many business partners providing several
services satisfying the needs of consumers that pay for them. Services usually range
from quite simple ones, like buying a book or renting a car to the ones which involve
complex processes such as obtaining sales ratings or participating in a public auction.
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>For that reason, in the Web Engineering field, there is a need for methodologies for development based on current technologies such as web services, business process execution, etc.</title>
      </sec>
      <sec id="sec-1-3">
        <title>Although the design and implementation of web services can be apparently easy,</title>
        <p>the implementation of business processes using web services is not so effortless.</p>
      </sec>
      <sec id="sec-1-4">
        <title>Languages for the implementation of business processes have many limitations when</title>
        <p>
          they are used in the early stages of the development process [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. This occurs mainly
because the transformation from high-level business models generally carried out by
business analysts; to a composition language that implements those business
processes with web services is not a trivial issue.
        </p>
      </sec>
      <sec id="sec-1-5">
        <title>Model Driven Architecture (MDA) [11] provides a conceptual structure where the</title>
        <p>
          diagrams used by business managers and analysts, as well as the various diagrams
used by software developers can be fit. Moreover MDA allows organizing them in
such a way that the requirements specified in one diagram can be traced through the
more detailed diagrams derived from the former. Hence, MDA is a useful tool to
anyone interested in aligning business processes with IT systems [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>
          This paper deals with the MDA approach for the development of service-oriented
web applications1. In a previous work we proposed a model-driven method which
starts from a high level business model and allows obtaining a service composition
model that makes easy the mapping to a specific web service technology [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. To
obtain this service composition model, which is represented through a UML activity
model, the method defines: a Computational Independent Model (CIM) for business
modeling, called value model [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]; four Platform Independent Models (PIMs) for the
behavioral modeling of service-oriented web application; and mappings rules
between them.
        </p>
        <p>
          In this work we present the metamodels of the PIMs defined by the method, which
includes new elements for service-oriented web applications modeling that extend the
behavioral modeling elements of UML 2.0 [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]; and we focus on the mapping rules
between these PIMs, which allows obtaining a service composition model that makes
easy the mapping to a specific web service technology, starting form a high level
        </p>
      </sec>
      <sec id="sec-1-6">
        <title>UML use cases model in which the services required by the web consumers are rep</title>
        <p>resented.</p>
        <p>
          Given that the method is based on a continuous development process in which,
according to the MDA principles [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], the models act as the prime actors, mappings
between models play a very important role. Each step of this process consists
basically in the generation of an output model starting from one or more input models on
which the mapping rules are applied. In this work, we follow a graph transformation
approach to effectively realize the mappings between the PIMs proposed by the
method. The term Graph Transformation is used to refer to a special kind of
rulebased transformations that are typically represented diagrammatically [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. So, given
that the mappings were defined in a rule-based manner, it seems appropriate to use a
graph transformation approach to later formalize them. A similar approach for
objectrelational database development was presented in a previous work [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
      </sec>
      <sec id="sec-1-7">
        <title>The rest of the paper is structured as follows: section 2 presents the UML profile</title>
        <p>that includes the new elements for service-oriented web applications modeling at PIM
level; section 3 describes the model to model transformations between the proposed</p>
        <sec id="sec-1-7-1">
          <title>1 This research is partially granted by the GOLD projects financed by the Ministry of Science</title>
          <p>and Technology of Spain (Ref. TIN2005-00010).</p>
        </sec>
      </sec>
      <sec id="sec-1-8">
        <title>PIMs; finally, section 4 concludes the paper by underlying the main contributions and the future works.</title>
        <p>2 UML profile for service-oriented web applications modeling</p>
      </sec>
      <sec id="sec-1-9">
        <title>As mentioned before, the method proposed for service-oriented web applications</title>
        <p>
          development defines four new PIMs for modeling the behavioral aspect of web
applications: the Business Services model, the Extended Use Cases model, the Services
Delivery Process model and the Services Composition model. Each one is defined
through a metamodel that extends the UML metamodel [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Figure 1 shows the
dependences of the new models proposed (shadowed in the figure) with respect to the
        </p>
      </sec>
      <sec id="sec-1-10">
        <title>UML packages for behavioral modeling. As shown in the figure, the models proposed</title>
        <p>in our method are represented through UML behavioral diagrams: while the business
services model and the extended use cases model are represented through use cases
diagrams, the services delivery process model and services composition model are
represented through activity diagrams.</p>
        <p>&lt;&lt;metamodel&gt;&gt;
Business Services
&lt;&lt;metamodel&gt;&gt;
Extended Use</p>
        <p>Cases</p>
        <p>Classes
Common</p>
        <p>Behaviors
Use Cases</p>
        <p>Activities
Part of UML packages that
support behavioral modeling
&lt;&lt;metamodel&gt;&gt;</p>
        <p>Services
Delivery Process
&lt;&lt;metamodel&gt;&gt;</p>
        <p>Services
Composition</p>
        <p>
          These new PIMs defined by the method include new modeling elements which
have been grouped in a UML profile called MIDAS/BM (MIDAS Behavior
Modeling). According to UML 2.0, a UML profile is a package that contains modeling
elements that have been customized for a specific purpose or domain, using extension
mechanisms, such as stereotypes, tagged definitions and constraints [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Our profile
is defined over the behavioral modeling elements of UML 2.0 and it describes new
elements for modeling the behavioral aspect of service-oriented web applications.
Figure 2 shows the profile, including the newly proposed stereotypes that are applied
over the existing metaclasses of the UML metamodel. The new stereotypes defined
are described in Appendix A at the end of this document.
        </p>
      </sec>
      <sec id="sec-1-11">
        <title>Next, we are going to present the metamodel of the new PIMs in which these ele</title>
        <p>
          ments are represented, to later describe the mapping rules between them. For the sake
of space, we explain the metamodels by describing only the new elements defined,
the associations between them and the specification of the respective restrictions over
these metamodels defined using the OCL standard. A complete example of how these
models should be used can be found in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
      </sec>
      <sec id="sec-1-12">
        <title>Business Services Metamodel. The business service model is an extension to the</title>
      </sec>
      <sec id="sec-1-13">
        <title>UML use cases model in which only the actors and the business services that the</title>
        <p>system will provide them are represented. We define a business service as a complex
functionality offered by the system, which satisfies a specific need of the consumer.</p>
      </sec>
      <sec id="sec-1-14">
        <title>The consumers of the system are represented in this model as actors. The business</title>
        <p>services are represented in this model as use cases stereotyped with &lt;&lt;BusService&gt;&gt;
(see stereotype BusinessService in Appendix A).</p>
        <p>Figure 3 shows the business services metamodel in which the new modeling
element is shadowed. In the business services model each business service is associated
to the actor needing the business service.</p>
        <p>&lt;&lt;metamodel&gt;&gt;
Business Services
+useCase</p>
        <p>Actor
context Business Services inv Model_Contents:
self.classes -&gt; forAll(c |c.oclIsKindOf(UseCase)
and c.stereotype.name
-&gt; includes("BusinessService")))
Fig. 3. Business services metamodel</p>
      </sec>
      <sec id="sec-1-15">
        <title>Extended Use Cases Metamodel. This metamodel also extends the elements of the</title>
        <p>UML package for use cases modeling. In the extended use cases model we propose to
represent the basic or composite use services. We define a use service as a
functionality required by the system to carry out a business service. Thus, it represents a portion
of the functionality of a business service. A basic use service is a basic unit of
behavior of the web application, for instance ‘registering as a costumer’. A composite use
service is an aggregation of either basic or composite use services. The composite and
basic use services are represented in this model as a special kind of UseCase
stereotyped with &lt;&lt;CS&gt;&gt; and &lt;&lt;BS&gt;&gt; (see stereotypes CompositeUseService and
BasicUseService in Appendix A).</p>
        <p>Figure 4 shows the extended use cases metamodel in which the new modeling
elements are shadowed. Note that UseService is an abstract class therefore it is not
represented in the extended use cases model.</p>
        <p>&lt;&lt;metamodel&gt;&gt;
Extended Use Cases
Red(efrfoinmabKleeErnleeml) ent</p>
        <p>*
ExtensionPoint +extensionPoint
{subsets feature,
subsets
ownedMember}
{ordered} +e1xt.e.*nsionLocation
+subject *
+useCase
*</p>
      </sec>
      <sec id="sec-1-16">
        <title>Services Delivery Process Metamodel. This metamodel extends the elements of the</title>
        <p>UML activity package. In the service delivery process model we propose to represent
the activities that must be carried out for delivering a business service. The activities
of this model are called service activities. The service activities are obtained
transforming the basic use services identified in the previous model into activities of a
process. So, the services activities represent a behavior that is part of the execution
flow of a business service. A service activity is represented as an ActivityNode
stereotyped with &lt;&lt;SAc&gt;&gt; (see stereotype ServiceActivity in Appendix A).</p>
      </sec>
      <sec id="sec-1-17">
        <title>The ServiceActivity element is shadowed in Figure 5 which shows the services delivery process metamodel.</title>
        <p>&lt;&lt;metamodel&gt;&gt;
Services Delivery Process</p>
      </sec>
      <sec id="sec-1-18">
        <title>Services Composition Metamodel. This metamodel also extends the elements of the</title>
      </sec>
      <sec id="sec-1-19">
        <title>UML activity package. In this model we represent the execution flow of a business</title>
        <p>service too, but in a more detailed way by including the concepts: activity operation
and business collaborator.</p>
      </sec>
      <sec id="sec-1-20">
        <title>We define an activity operation as an action that is supported by the service activ</title>
        <p>ity. It is represented in this model as a special kind of ExecutableNodes stereotyped
with &lt;&lt;AOp&gt;&gt; (see ActivityOperation in Appendix A). Additionally, the service
composition model proposes to identify those activity operations that can be
implemented as Web services, using a special kind of ExecutableNode stereotyped with
&lt;&lt;WS&gt;&gt; (see stereotype WebService in Appendix A).</p>
      </sec>
      <sec id="sec-1-21">
        <title>A business collaborator is defined as an organizational unit that carries out some</title>
        <p>activity operation which is involved in the services offered by the web application
(i.e.: as a Web service). The business collaborators are represented in this model as</p>
      </sec>
      <sec id="sec-1-22">
        <title>ActivityPartitions, which can be indicated as a swim-lane in the activity diagram. The</title>
      </sec>
      <sec id="sec-1-23">
        <title>ActivityOperations and WebServices are distributed in ActivityPartitions according to the business collaborator that carries out the operation. A business collaborator can be external to the system, in which case the ActivityPartition is labelled with the keyword «external».</title>
        <p>Figure 6 shows the service composition metamodel, in which the new modeling
elements are shadowed.</p>
        <p>&lt;&lt;metamodel&gt;&gt;
Services Composition
3 Model Transformation for service-oriented web applications
development</p>
      </sec>
      <sec id="sec-1-24">
        <title>As mentioned before, the proposed method for service-oriented web applications</title>
        <p>
          development is based on the definition of models at different abstraction levels, the
basis of the model-driven development paradigm [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. In the previous section we
have defined the metamodels (consequently the models) that must be considered in
our method, thus, according to MDA principles, the only issue that must be faced in
order to complete the proposal is the definition of the mapping between these models.
        </p>
      </sec>
      <sec id="sec-1-25">
        <title>This process stands for model transformation [11], [14].</title>
        <p>3.1</p>
        <p>
          In relation to the way mappings should be defined in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] it is stated that “the
mapping description may be in natural language, an algorithm in an action language, or a
model in a mapping language”. In this case, and as a first approach, we have decided
to describe the transformation rules between models in natural language for later
expressing them as graph transformation rules. These transformations rules are
collected in Table 1. According to [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], as some of the mapping rules of the
transformation process require design decisions, it is not possible to automate them completely.
        </p>
      </sec>
      <sec id="sec-1-26">
        <title>As a result, we have made the distinction between the mapping rules that can be</title>
      </sec>
      <sec id="sec-1-27">
        <title>Completely (C) or Partially (P) automated.</title>
        <sec id="sec-1-27-1">
          <title>4. Every extend association identified in the extended use cases model will be represented in the service delivery process model by a ForkNode. The SAct corresponding to the source BS of the extend association must be previ</title>
        </sec>
        <sec id="sec-1-27-2">
          <title>Grade of</title>
        </sec>
        <sec id="sec-1-27-3">
          <title>Autom. P P C</title>
          <p>C</p>
        </sec>
        <sec id="sec-1-27-4">
          <title>Services</title>
        </sec>
        <sec id="sec-1-27-5">
          <title>Delivery</title>
        </sec>
        <sec id="sec-1-27-6">
          <title>Process</title>
        </sec>
        <sec id="sec-1-27-7">
          <title>Model</title>
        </sec>
        <sec id="sec-1-27-8">
          <title>Service</title>
        </sec>
        <sec id="sec-1-27-9">
          <title>Composi</title>
          <p>tion
Model
ous to the SAct corresponding to the target BS of the
extend association.</p>
          <p>4.1 If the extend association has only one source BS,
the fork will present the SAct as an alternative to
another flow with no SAct. Later, both flows will meet.
4.2 If the extend association has several sources BS,
the fork will present the different SAct as mutual
alternatives to another flow with no SAct. Later, all
these flows will meet.
5. Whenever a include association is found in the
extended use cases model, the SAct corresponding to the
source BS of the include association must be subsequent
to the SAct corresponding to the target BS of the include
association.</p>
          <p>5.1 If the include association has several targets, the
designer must decide the appropriate sequence for the
different SAct corresponding to the target BS (that
will be obviously previous to the SAct corresponding
to the source BS).
6. Every SAct found in the service delivery process model
will be split into one or more ActivityOperation (ActOp).</p>
        </sec>
        <sec id="sec-1-27-10">
          <title>7. The control flow between ActOps is the same as the</title>
          <p>flow between their relative SActs.</p>
        </sec>
        <sec id="sec-1-27-11">
          <title>7.1 In the case of a SAct containing two or more ActOps, the designer has to choose the particular control flow between the ActOps. C</title>
          <p>C
C
P
P
C
P
3.2</p>
          <p>Graph Transformation</p>
          <p>
            To observe the MDA principles, the model to model transformation of our method
for service composition modeling development must be automated, at least in some
extent. To achieve this objective we have decided to use a graph transformation
approach [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ], [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ], [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ]. Using a graph transformation approach results in two main
advantages: on the one hand, graph grammars are based on a solid mathematical theory
and therefore they present a number of attractive theoretical properties that allows
formalizing model transformations; on the other hand, the use of graph grammars for
mappings definition could be shown as a direct step towards to implementation since
projects like Attributed Graph Grammar System (AGG)[
            <xref ref-type="bibr" rid="ref15">15</xref>
            ], VIATRA[
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] or
          </p>
        </sec>
      </sec>
      <sec id="sec-1-28">
        <title>ATOM3[6] will provide us with the facilities to automate model to model transforma</title>
        <p>tions defined as graph transformations. Moreover, as previously mentioned, the term
Graph Transformation is used to refer to a particular category of rule-based
transformations that are typically represented diagrammatically. So, given that we have
already formally defined the mappings in a set of rules, it seems appropriate to translate
these rules to graph transformations rules. Finally, from a pure mathematical point of
view, we can think on UML-like models as graphs. A graph has nodes and arcs, while
an UML model have classes and associations between those classes; this way the fact
that models are well represented as graphs is particularly appealing to shorten the
distance between modelers and model transformation developers, a big problem
around model transformation. Rule-based transformations with a visual notation may
close the semantic gap between the user’s perspective of the UML and the
implementation of transformations.</p>
      </sec>
      <sec id="sec-1-29">
        <title>To express model transformations by graph grammars, a set of graph rules must</title>
        <p>be defined. These rules follow the structure LHS:= RHS (Left Hand Side:= Right</p>
      </sec>
      <sec id="sec-1-30">
        <title>Hand Side). Both, the LHS and the RHS are graphs: the LHS is the graph to match</title>
        <p>
          while the RHS is the replacement graph. If a match is found on the source model,
then it is replaced by the RHS in the target model. In this work we have used the
approach already applied in previous works like [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] to define the graph rules that
collects the transformation rules proposed in Table 1.
        </p>
      </sec>
      <sec id="sec-1-31">
        <title>According to these guidelines, we have defined the graph rules for the model</title>
        <p>transformations needed in our proposal for service-oriented web applications
development that were susceptible of being expressed by graph grammars.</p>
        <p>From now on we present these graph rules next to the respective definition rules in
natural language. Figure 8 describes the mapping rules corresponding to
transformations from the business services model to the extended use cases model. Figure 9 to
12 describe the mapping rules corresponding to transformations from the extended
use cases model to the service delivery process model. Finally, Figure 13 describes
the mapping rules corresponding to transformations from the service delivery process
model to the service composition model. For the sake of space we have had to reduce
the size of these pictures, in some cases they could result difficult to read. In order to
improve their clarity, they can be acceded in http://kybele.es/models/MTsowa.htm.</p>
        <p>RHS
- eXtended Use Cases Model
:=
match (1).name:XUCm::Actor
name:String=match(1).name
1’
1..*
match (2).name.???:XUCm::CS
name:String=match(2).name.???</p>
        <p>1..*
match (2).name.???:XUCm::BS
1..* name:String=match(2).name.???
useCase
2’
2’
t
c
e
j
b
u
s</p>
        <p>LHS
- Business Services Model
???:BSm::Actor</p>
        <p>Fig. 8. BusinessServices and Actors in the business services model mapped to
CompositeUse</p>
        <sec id="sec-1-31-1">
          <title>Services, BasicUseServices and actors in the extended use cases model</title>
          <p>4. Every extend association identified in the extended use cases model will be represented in the service delivery process model by a
ForkNode. The SAct corresponding to the source BS (c ) of the extend association must be previous to the SAct corresponding to the target BS
of the extend association (e ).
4.1 If the extend association has only one source BS, the fork will present the SAct as an alternative to another flow with no SAct. Later,
both flows will meet.
including Case</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>4 Conclusions and Future Works</title>
      <p>In this work we have presented the model to model transformations needed to
complete an MDA approach for service-oriented web applications development. This
way, we have firstly described the metamodels for the PIMs considered by the
method. They provide with new elements for service-oriented web applications
modeling and extend the behavioral modeling elements of UML 2.0. Next we have
defined the mapping rules between these PIMs following a graph transformation
approach. As a first approach to model transformations from the proposal for
serviceoriented web application development, we have firstly defined the transformation
rules in a declarative manner for later formalize them with graph rules in order to
automate them using some of the existing facilities to automate graph
transformations. The mapping rules defined in this work allows obtaining a service composition
model that can be easily translate to a specific web service technology, starting form a
high level use cases model in which the services required by the web consumers were
represented.</p>
      <sec id="sec-2-1">
        <title>This work serves as a clear example of the value of model transformations in Soft</title>
        <p>ware development: the model to model transformations presented in this work
complete the definition of our process for service-oriented web applications development,
a contrasted and published method that founds in model transformations the piece
that remained to become a completely feasible methodology.</p>
      </sec>
      <sec id="sec-2-2">
        <title>At the present time we are working in the integration of the method described in</title>
        <p>
          this work in a CASE tool which is now under development in our research group and
which its early functionalities have already been presented in previous works [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Besides, the open issue of making automatic the graph transformations by using existing technologies like ATOM3 is been tackled.</title>
        <p>Appendix A: Stereotypes of MIDAS/BM profile</p>
      </sec>
      <sec id="sec-2-4">
        <title>This appendix includes all the stereotypes defined in the MIDAS/BM profile. It defines the new modeling elements which extend the existing metaclasses of the UML metamodel. For each modeling element we describe UML metaclass extended, semantics and notation.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baresi</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heckel</surname>
          </string-name>
          , R.:
          <article-title>Tutorial Introduction to Graph Transformation: A Software Engineering Perspective</article-title>
          . In Corradini,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ehrig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Kreowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Rozenberg</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (eds.):
          <source>Proceedings of the First international Conference on Graph Transformation. Lecture Notes in Computer Science</source>
          , Vol.
          <volume>2505</volume>
          . Springer-Verlag,
          <article-title>(</article-title>
          <year>2002</year>
          )
          <fpage>402</fpage>
          -
          <lpage>429</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bézivin</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>In search of a Basic Principle for Model Driven Engineering</article-title>
          , Novatica/Upgrade Vol.
          <volume>5</volume>
          , N°
          <volume>2</volume>
          (
          <year>2004</year>
          )
          <fpage>21</fpage>
          -
          <lpage>24</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>G.</given-names>
            <surname>Csertan</surname>
          </string-name>
          , G. Huszerl,
          <string-name>
            <given-names>I.</given-names>
            <surname>Majzik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Pap</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pataricza</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          , VIATRA - Visual
          <source>Automated Transformations for Formal Verification and Validation of UML Models, in: Proc. of 17th IEEE International Conference on Automated Software Engineering (ASE'02)</source>
          , IEEE Computer Society, Los Alamitos, CA, USA,
          <year>2002</year>
          , pp.
          <fpage>267</fpage>
          -
          <lpage>285</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Helsen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Classification of model transformation approaches</article-title>
          . In: Bettin,
          <string-name>
            <surname>J.</surname>
          </string-name>
          , Emde Boas,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Agrawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Willink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Bezivin</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . (eds): Second Workshop on
          <article-title>Generative Techniques in the context of Model Driven Architecture (</article-title>
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>De Castro</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marcos</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>López-Sanz</surname>
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A Model Driven Method for Service Composition Modeling: A Case Study</article-title>
          .
          <source>Int. Journal of Web Engineering and Technology</source>
          .
          <fpage>2006</fpage>
          - Vol.
          <volume>2</volume>
          , No.4 pp.
          <fpage>335</fpage>
          -
          <lpage>353</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>J. De Lara</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Vangheluwe</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Alfonseca</surname>
          </string-name>
          ,
          <article-title>Meta-Modelling and Graph Grammars for Multi-Paradigm Modelling in AToM3</article-title>
          ,
          <source>Software and Systems Modelling</source>
          , Vol
          <volume>3</volume>
          (
          <issue>3</issue>
          ), Springer-Verlag.
          <year>August 2004</year>
          , pp.:
          <fpage>194</fpage>
          -
          <lpage>209</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Gordijn</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Akkermans</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          :
          <article-title>Value based requirements engineering: exploring innovative e-commerce idea</article-title>
          .
          <source>Requirements Engineering Journal</source>
          Vol.
          <volume>8</volume>
          ,
          <issue>Nº 2</issue>
          (
          <year>2003</year>
          )
          <fpage>114</fpage>
          -
          <lpage>134</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Harmon</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>The OMG's Model Driven Architecture and BPM</article-title>
          . Newsletter of Business Process Trends (May
          <year>2004</year>
          ). Accessible in: http://www.bptrends.com/publications.cfm.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kleppe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Warmer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bast</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>MDA Explained, the Model Driven Architecture: Practice and Promise</article-title>
          . Addison
          <string-name>
            <surname>Wesley</surname>
          </string-name>
          (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.OMG.
          <source>UML Superstructure 2.0. OMG Adopted Specification ptc/03-08-02</source>
          (
          <year>2002</year>
          ). Accessible in: http://www.uml.org/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.OMG.
          <source>MDA Guide V1.0</source>
          .1.
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mukerji</surname>
            ,
            <given-names>J</given-names>
          </string-name>
          . (eds.) Document Nº omg/2003-06-
          <fpage>01</fpage>
          (
          <year>2001</year>
          ). Accessible in: http://www.omg.org/cgi-bin/doc?omg/03-06-01.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Papazoglou</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Georgakopoulos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Serviced-Oriented Computing</surname>
          </string-name>
          .
          <source>Communications of ACM</source>
          Vol.
          <volume>46</volume>
          , Nº
          <volume>10</volume>
          (
          <year>2003</year>
          )
          <fpage>25</fpage>
          -
          <lpage>28</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Selic</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>The pragmatics of Model-Driven development</article-title>
          .
          <source>IEEE Software</source>
          Vol.
          <volume>20</volume>
          ,
          <issue>Nº 5</issue>
          (
          <year>2003</year>
          )
          <fpage>19</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Sendall</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kozaczynski</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Model Transformation-the Heart and Soul of Model-Driven Software Development</article-title>
          , IEEE Software archive Vol.
          <volume>20</volume>
          ,
          <issue>Nº 5</issue>
          (
          <year>2003</year>
          )
          <fpage>42</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Taentzer</surname>
          </string-name>
          , G.:
          <article-title>AGG: A Tool environment for Algebraic Graph Transformation</article-title>
          . In: Nagl,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Schürr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Münch</surname>
          </string-name>
          , M. (eds.):
          <source>Applications of Graph Transformations with Industrial Relevance. Lecture Notes in Computer Science</source>
          , Vol.
          <volume>1779</volume>
          . Springer-Verlag,
          <article-title>(</article-title>
          <year>2000</year>
          )
          <fpage>481</fpage>
          -
          <lpage>488</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Tratt</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Model transformations and tool integration</article-title>
          .
          <source>Software and Systems Modeling</source>
          , Vol.
          <volume>4</volume>
          ,
          <issue>Nº 2</issue>
          (
          <year>2005</year>
          ),
          <fpage>112</fpage>
          -
          <lpage>122</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Vara</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Castro</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Marcos</surname>
          </string-name>
          , E.:
          <article-title>WSDL automatic generation from UML models in a MDA framework</article-title>
          .
          <source>International Journal of Web Services Practices</source>
          Vol.
          <volume>1</volume>
          (
          <issue>2005</issue>
          )
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Vara</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vela</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cavero</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          , y Marcos,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Model Transformation for ObtectRelational Database development</article-title>
          .
          <source>ACM Symposium on Applied Computing</source>
          <year>2007</year>
          (
          <article-title>SAC 2007)</article-title>
          .
          <source>Seul (Korea)</source>
          ,
          <year>March</year>
          , 2007
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Verner</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>BPM: The Promise and the Challenge</article-title>
          .
          <source>Queue of ACM</source>
          Vol.
          <volume>2</volume>
          ,
          <issue>Nº 4</issue>
          (
          <year>2004</year>
          )
          <fpage>82</fpage>
          -
          <lpage>91</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>