<!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>From Real Computational Independent Models to Information System Models: an MDE approach</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Valeria de Castro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juan Manuel Vara Mesa</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elisa Herrmann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Esperanza Marcos</string-name>
          <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>Model Driven Engineering approaches deal with the provision of models, transformations between them and code generators to address software development. One of the main advantages of this approach is the definition of a conceptual structure where the models used by business managers and analysts can be traced towards more detailed models used by software developers. In this paper we focus on this kind of model transformations, that is, model transformations that allow us obtain behavioural models of the service-oriented information system (Platform Independent Models) from high level business models (Computational Independent Models). From our point of view, the main drawback regarding CIM to PIM transformations lies in the alignment between what we model at CIM and PIM levels, the business view in the former and the information system view in the later. All this given, in this work we analyze, by mean of a case study, how it is possible to integrate both views and therefore, how we can help software developers to take the most of the business knowledge represented in high level business models.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>Model Driven Engineering</kwd>
        <kwd>Computational Independent Models</kwd>
        <kwd>Information system Models</kwd>
        <kwd>Model Transformations</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        This paper focuses on the model driven development of service-oriented information
system. Service-oriented development is currently one of the main research topics in
the field of software development and has brought about an evolution in Information
system (IS) themselves, as well as in how they can be developed. The roadmap for
research in service-oriented computing outlined by Papazoglou, Traverso, Dustdar
and Leymann [roadmap] stresses the importance of defining methodologies that can
facilitate the identification of meaningful services and business process specifications
according to a business scenario, which are very important elements for the
development of service-oriented applications [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        According to the authors [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], one of the main challenges facing service-oriented
computing is the provision of methodologies that support the specification and design
of the behaviour of IS, allowing software engineers to move from the earlier stages of
business analysis to the final step of implementation. However, while the design and
development of simpler services is a relatively easy task, the development of complex
business services, that is, business processes comprising several independent services,
is not so simple. The main reason for this is that the transition from high-level
business modelling, generally carried out by business analysts, to an executable
business process which implies several software functionalities (e.g., web services,
components, legacy systems, etc) is far from being a trivial issue [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Therefore, the
problem of aligning high-level business models (corresponding to the business view)
and information technologies (corresponding to the information system view) became
a crucial aspect in the field of service-oriented development.
      </p>
      <p>
        Model Driven Engineering (MDE) is an evolving and promising approach to
software development [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. MDE proposals, and more specifically its OMG
specification, the MDA (Model Driven Approach) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], constitute an important tool
for the alignment of the business view and the information system view [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. It
provides with a conceptual structure that brings together the diagrams used by
business managers and analysts and those used by software developers. Moreover, it is
capable of organizing them in such a way that the requirements specified in one
diagram can be traced (in a semi-automatic way) through other more detailed models
derived from them.
      </p>
      <p>
        In MDA, the high-level business view is represented by means of Computational
Independent Models (CIM) while the information system view is represented using
Platform Independent Models (PIM) and Platform Specific Models (PSM). So,
attending to the alignment problem described before, in this paper we will focus on the
mappings between CIM and PIM models in the framework of SOD-M [
        <xref ref-type="bibr" rid="ref4 ref5">4,5</xref>
        ], a method
for the service-oriented development of IS.
      </p>
      <p>
        To the best of our knowledge, the most of the authors working in MDE approaches
do not address the already described problem of views alignment. Some of them just
do not consider the CIM level of the MDA proposal, while others, the most of them,
do not model the business view at CIM level. In fact, they model only the
requirements of the information system, which lie into the information system view.
Moreover, most of them propose using for example UML use case models [
        <xref ref-type="bibr" rid="ref10 ref14">14, 10</xref>
        ] or
task diagrams [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], even when these models are not usually well known models for
business experts.
      </p>
      <p>
        In this paper, according to the MDA proposal, we claim that the CIM shouldn‟t be
used to represent the details of the system itself, but rather those of the business
domain. In that way, they serve as a bridge between the business experts and the
developers of the system. The business model proposed by SOD-M, the value model
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], possesses this characteristic and opposite to others methodologies mentioned
above, SOD-M incorporates a value-oriented view, which ensures that the services
identified at the information system view are related to the business model of the
organization using them.
      </p>
      <p>In this work we analyze, by means of a case study, how we can tackle the problem
of the alignment between the business view (at CIM level) and the information system
view (at PIM level) following an MDE approach, taking the most of the business
knowledge represented in high level business models for the information system
modelling. To do so, we describe how we are actually dealing with the coding of
mappings rules between both levels and we identify the main learned lessons of our
work.</p>
      <p>The rest of this paper is structured as follows. In Section 2, we briefly present the
SOD-M method, which is the framework of this work. Section 3 describes the partial
implementation of the case study, while section 4 presents the learned lessons
obtained from it. Finally, in Section 5, we conclude by summarizing the main
contributions and outlining future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Service Oriented Development-Method</title>
      <p>SOD-M (the Service-Oriented Development Method) is a method for the
serviceoriented development of IS. It main features are:</p>
      <p>
        It defines a service-oriented approach for the development of IS: it provides
with guidelines for building IS based exclusively on services and use them as
first-class objects for the whole process of the IS development. This approach
facilitates the development of service-oriented applications as well as their
implementation using current technologies, such as Web services [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>It is an MDA-based approach: it proposes a set of models, extending from the
CIM level, the highest level of abstraction of the MDA, to the PIM and PSM
levels. Thus, by means of mapping rules between the models, SOD-M provides
the benefits of the alignment of high-level business processes with the
technologies currently to deploy the Service-Oriented paradigm.</p>
      <p>
        It defines a set of Domain Specific Languages for the service-oriented
development of IS. This set of newly DSLs includes all the modelling elements
needed at the PIM and PSM levels for the modelling of IS from a service-oriented
perspective at different abstraction levels. Moreover, they are based on a
previously defined UML profile, thus we will be able to move from models
conforming to a well-defined metamodel to extended UML models [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>SOD-M focuses on the development of the behavioural aspect of IS and defines
guidelines for building the behavioural models from high-level business modelling.</p>
      <p>The following sub-sections present a brief description of the concepts proposed by
SOD-M. Those concepts are organized according to the Business and the Information
System points of view, which are integrated in order to achieve the alignment between
high level business processes and information system. In this section we also present
the modelling process proposed by SOD-M.</p>
      <sec id="sec-2-1">
        <title>SOD-M Concepts</title>
        <p>SOD-M proposes a new service-oriented approach for the development of IS. It
considers two points of view that need to be analysed in order to develop an IS:
Business View: it focuses on the features and the requirements of the business in
which the IS will be built.</p>
        <p>Information System View: it focuses on the functionalities and processes that
need to be implemented on the IS in order to satisfy the business requirements.
SOD-M defines a new set of concepts needed for the modelling of both views. Some
of them are already known, while others are new and are proposed as part of this
work. By means of a class diagram, Figure 1 shows the different concepts on which
SOD-M is based, as well as their relationships.</p>
        <p>is a result of</p>
        <p>Business Process
involves
1..*
1..*
1..*</p>
        <p>Use Case
Business Service
needs</p>
        <p>End Consumer
1
1..*</p>
        <p>1..*
has associated</p>
        <p>Service Process</p>
        <p>involves
1
1</p>
        <p>All of the concepts shown in Fig. 1 have a representation in some of the different
models proposed by SOD-M. Firstly, those concepts corresponding to the business
view describe the elements inherent to the business, and they will be represented on
the CIM models proposed by SOD-M: the value model and the business process
model. Secondly, those concepts corresponding to the information system view are
elements used to describe the functionalities of the system, and they will be
represented on the PIM and PSM models proposed by SOD-M: use case model,
extended use case model, service process model, service composition model, Web
service interface model and Web service composition model. Finally, those concepts
corresponding to both views describe elements that can be analysed from both points
of view, and, as we shall see later, they support the alignment between high-level
business models and IS ones.</p>
        <p>
          For the sake of space, we will use just the case study to describe some of these
concepts. The reader is referred to [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] for more information on the rest.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>The Process</title>
        <p>
          The modelling process of SOD-M (see Figure 2) includes models that are in
correspondence with: a) the three different abstraction levels considered by MDA
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]: CIM, PIM and PSM, and b) the SOD-M views: the business and information
system views.
        </p>
        <p>As Figure 2 shows, the process begins by building the value model and the business
process model, and it enables specific models for a Web service platform to be
obtained as a result, thereby making it possible to make the transformation to the most
typical technology related to the SOC paradigm, the Web service technology.
(Business</p>
        <p>Collaborators)
(Use Cases and
End Consumers)</p>
        <p>(Business
Collaabcotriaotnosr)s and</p>
        <p>Business
View
Information
System
View
Value Model
(End Consumers and
Business Service)</p>
        <p>Business Process</p>
        <p>Model
Business</p>
        <p>Services List
(exchange of
Value Objects)
(Basic Use Cases and
their relationships)</p>
        <p>Use Case Model
Extended Use Case</p>
        <p>Model
Service Process Model</p>
        <p>(Web Service)
Web Service Interface</p>
        <p>Model</p>
        <p>Extended Service
Composition Model
(Service Activity)</p>
        <p>Modelo de
ServiceMCoodmelpoodseition</p>
        <p>Model
Computation
Independent</p>
        <p>Model</p>
        <p>Platform
Independent</p>
        <p>Model</p>
        <p>Platform</p>
        <p>Specific Model</p>
        <p>The SOD-M process consists of several steps, each one related to the generation of
a different model. From here on, we will focus on the transformation from the value
model of the business view to the use case model of the information system view. We
will describe how to do this transformation using the Travel Agency case study.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Case Study</title>
      <p>The case study presented in this paper is a travel agency providing a set of services to
its customers, these services are: accommodation, transportation and tourist packages,
which include both, transportation and accommodation.</p>
      <p>First, the customer provides a description of the required trip to the travel agency,
including personal constraint and preferences. Next, the travel agency selects the
Broker Agent that could serve such a trip according to the customer needs. Each
Broker Agent may work with several Transportation Companies, asking them to
provide with an offer for the requested service. Then, the travel agency offers the
customer a set of options, according to the Customer preferences. Once the Customer
selects one of the trips, he provides the credit card details to the travel agency, which
processes the payment through the corresponding Financial Company. After checking
that the payment is correct, the travel agency asks the corresponding Broker Agent to
confirm the booking(s) and it notifies the customer.</p>
      <p>Finally, once a month the travel agency pays each external Broker Agent for the
services it has provided on the previous month.</p>
      <p>In the next section we will describe the value model (3.1), the use case model (3.2),
and the transformation between them (3.3) for this case study.</p>
    </sec>
    <sec id="sec-4">
      <title>3.1 Business Modelling at CIM Level</title>
      <p>
        CIM models are used to describe the environment in which the system will be used,
with no direct reference to how the system will be implemented [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In this section
we shall describe one of the CIM models proposed by SOD-M (see Figure 2): the
value model.
      </p>
      <sec id="sec-4-1">
        <title>Value Model</title>
        <p>This model serves to depict a business case as a set of value exchanges and value
activities performed by business actors. It allows us to understand the business
environment in which the IS will be used and to identify some of the concepts showed
in Fig. 1: the end-consumer of the business, the business services that will be offered
by the system to satisfy the needs of the consumers and the business collaborators,
those entities that collaborate in providing the business services.</p>
        <p>
          The value model is obtained by applying the e3value business modelling method
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], which defines a set of concepts from business administration sciences and
marketing, and proposes its own specific notation for their representation in a value
model. A value model shows actors exchanging things of economic value (value
objects) with each other. It is also possible to represent a market segment, a set of
actors that ascribe value to objects from an economic perspective. Furthermore, the
value model shows value activities, activities performed by an actor who expects them
to be profitable. A value activity may be, for example, a service offered to an actor.
        </p>
        <p>Using the e3value method, we have explored the business model of the Travel
Agency, representing actors who wish to exchange value objects with another actor.
Fig. 3 shows the value model obtained, where the travel agency is shown as an
elementary actor. Customers, Financial Companies and Broker Agents are identified
as market segments. The services offered by the travel agency (Accommodation,
Transportation and Tourist Package) are value activities, which it expects to be
profitable. The value objects are the money, the accommodation, the transportation
and the tourist package, as well as the credit card verification and the fee of this
service.</p>
        <p>The value model allows the representation of dependency paths. Dependency paths
enhance the understanding of a business idea by showing all value exchanges
triggered by the occurrence of an end-consumer need. A dependency path has a
direction and consists of dependency nodes. A dependency node is a start stimulus
(represented by a bullet), an AND-fork or AND-join (short line), an OR-fork or
ORjoin (triangle), or an end node (bull‟s eye). A stimulus represents a trigger for the
exchange of economic value objects while an end node represents a model boundary.
Fig. 3 shows the dependency paths for the Travel Agency case study.</p>
        <p>The dependency paths identified in Fig. 3 with the tag (a), (b), and (c) are initiated
with the needs of the customers that are represented by start stimuli. The (a)
dependency path denote a start stimulus causes by the customer when he/she requires
accommodation to the travel agency in return of a payment. This payment must be
checked with the financial company that gives credit card verification in return of a
fee. And the travel agency gets those services from the broker agent paying an amount
of money for them. Similar to (a), dependency path (c) and (b) can be described from
the start stimulus to the end stimulus by means of navigating the value exchange
between the actors and services.</p>
        <p>
          The first thing to do when we aim to handle e3value models in a MDE context is to
define the value metamodel. To do so, we start from the e3value ontology [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
However, we need also to model the different value exchanges. So, we include the
concepts described in the dependency path ontology in the newly metamodel.
        </p>
        <p>
          This way, in order to automate and trace the transformation between models we
define a complete value metamodel, combining both the concepts from the e3value
ontology and the dependency path technique, using the eclipse modelling framework
(EMF) [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. EMF is a modelling framework and code generation facility for building
tools based on structured data models. Such models are specified in ecore format, an
EMF metamodel for describing models. From an ecore (meta-)model, EMF provides
runtime support for graphically editing, manipulating, reading, and serializing data
based on a given (meta-)model. This way, we use EMF to build a tree-editor for
models conforming to the value metamodel showed in Fig. 4 as a class diagram. We
can see those classes that represent the value model in black and those that represent
the dependency path in red.
SEIsCausedByA
        </p>
        <p>Actor
+Name</p>
        <p>AInMS
0..*</p>
        <p>MSConsistsOfA</p>
        <p>0..*
CompositeActor
0..*</p>
        <p>VIInCA</p>
        <p>CAConsistsOfVI
ElementaryActor</p>
        <p>Once the metamodel is specified we use EMF to generate the editor for
representing models based on the e3value methodology. Fig. 5 shows part of the value
model for the case study in the generated editor. With this simple editor we are able to
model different case studies, to refine those models and even more important, it is
very useful when testing model transformations in order to avoid having to code XMI
files by hand. However, in order to ease the task of handling value models, we are
developing a graphical editor using the Graphical Modelling Framework (GMF) that
will allow us to depict graphically value models in a UML-like way.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>3.2 Information System Modelling at PIM level</title>
      <p>
        PIM models are used to model the functionality and structure of the information
system, but without considering the technological details of the platform upon which it
will be implemented [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. SOD-M proposes different models for the behaviour
modelling of the system at PIM level. Given that SOD-M defines a service-oriented
approach, such models focus on the identification of the business services to be
offered by the system, as well as the identification of the functionalities and processes
needed to carry them out. Here we will describe only the use case model according to
the topic on which this work is focused.
SOD-M proposes building, as a first model of the information system, a use case
model. This model only represents the business services to be implemented in the
system, along with their relations with the end consumers or users of the IS. This
model is represented by means of the UML use case diagram technique, but with a
different building approach. In this model we identify the concepts of end consumer,
represented as an actor; and business service, represented as a use case. A business
service is defined in SOD-M, from an information system point of view, as that
service that will be offered by the systems to satisfy a need of an end-consumer of the
business.
      </p>
      <p>Fig. 6 shows the use case model for the Travel Agency System (TAS), where the
customer is represented as an actor who is the end consumer of the business services.
The model represents as use cases the different business services that will be offered
by the TAS to the customers: “obtain accommodation”, “obtain transportation” and
Travel Agency System</p>
      <p>Obtain
Accommodation</p>
      <p>Obtain
Transportation
Obtain Tourist</p>
      <p>Package
0..*</p>
      <p>UseCases</p>
      <p>UseCase
-Name</p>
      <p>BusinessService
-Name
useCase actor
0..*
0..*</p>
      <p>Actor
-Name
“obtain tourist package”. Such business services must be identified by taking into
account the end-consumer needs identified in the value model.</p>
      <p>In the same way that the value metamodel was specified, we represent the use case
metamodel using EMF. A simplified view of the resultant metamodel is shown in Fig.
7.</p>
      <p>Customer</p>
      <p>Classifier
-Name</p>
      <p>Subject
0..*
ownedUseCase</p>
      <p>To handle use case models in the context of SOD-M we have already developed a
graphical editor using GMF. Fig. 8 shows a screen-capture of the editor. It presents
the use case model for the case study. It is obtained by applying the ATL model
transformation summarized in section 3.3, taking as input the value model showed in
Fig. 3.</p>
      <p>After introducing both the value and the use case model of SOD-M, we focus on
the automation of the model transformation between them.</p>
      <p>Model Transformation: Value Model to Use Case Model
According to the MDA proposal, a model driven development process comprises
models at different abstraction level as well as transformation between them.</p>
      <p>Typically, MDA/MDE proposals define transformation rules between PIM and
PSM models but just traceability relations between the business requirements of the
CIM models and the elements of the PIM and PSM models that fulfil those
requirements. This distinction comes from the nature of what each model represents:
while CIM models aim to represent the business view, PIM models aim to represent
those parts of the business that would be implemented in (or by) the information
system.</p>
      <p>
        Moving from CIM to PIM: value to use case model mapping rules
SOD-M defines guides to map requirements at the CIM level into model elements at
the PIM level. These guidelines are summarized in the following table.
In order to automate the transformation we specify the transformation rules using ATL
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. ATL (ATLAS Transformation Language) is a model transformation language and
toolkit developed by the ATLAS Group (INRIA &amp; LINA). An ATL program is
basically a set of rules that define how source model elements are matched and
navigated to create and initialize the elements of the target models. ATL uses EMF to
handle models: to serialize and desterilize them, to navigate and to modify them. This
way, ATL works perfectly with the models defined using EMF editors.
      </p>
      <p>As Fig. 9 shows, once we have identified the transformations rules to map value
models into use case models, we code them using ATL. The resulting ATL program
(ValueModel2UseCaseModel) is used to generate a use case model of the Travel
Agency System from the corresponding value model. Notice that Ecore is the
metamodel, not only for the source and target metamodels, but also for ATL itself.</p>
      <sec id="sec-5-1">
        <title>Ecore conformsTo ATL conformsTo</title>
      </sec>
      <sec id="sec-5-2">
        <title>Transformation</title>
        <p>conformsTo</p>
      </sec>
      <sec id="sec-5-3">
        <title>ValueModel2UseCaseModel conformsTo</title>
      </sec>
      <sec id="sec-5-4">
        <title>Travel Agency</title>
      </sec>
      <sec id="sec-5-5">
        <title>Value Model</title>
      </sec>
      <sec id="sec-5-6">
        <title>Travel Agency</title>
      </sec>
      <sec id="sec-5-7">
        <title>Use Case Model</title>
        <p>The result of the transformation is the Travel Agency use case model showed in Fig.
8. Next step would be to apply this same transformation to other case studies in order
to refine them.
4</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Lessons learned</title>
      <p>As we have claimed previously in this paper, the problem of the alignment between
high-level business models (corresponding to the business view) and information
technologies (corresponding to the information system view) is becoming one of the
crucial aspects in the area of service-oriented development.</p>
      <p>In this paper we show how to address this problem using an MDE approach. Thus,
we have defined a pair of metamodels according to the different MDA abstraction
levels (business view in correspondence with the CIM level and the information
system view in correspondence with the PIM level) and we have implemented the
transformation between them.</p>
      <p>After the development of this work, we can identify a set of lessons learned: some
of them are related to the study of previous MDE proposals that considers CIM
models, while other are related to the implementation of CIM to PIM transformations.</p>
      <p>Regarding previous proposals we remark that the most of them don‟t really deal
with the alignment between business and information system views. Especially since
they assume that CIM models represent the requirements of the information system
and not the requirements of the business in which the information system will be
involved. This is a very important characteristic of the CIM models which is crucial
for the development of the rest of the information system models, since they are
supposed to model the details of an information system which needs to satisfy the
business requirements. The CIM models included in SOD-M possess this
characteristic and the main challenges for us lie in the ability to take the most of the
knowledge represented in these models to (semi-)automatically generate the PIM and
PSM models of the information system.</p>
      <p>
        Related to the implementation of CIM to PIM model transformations we can
describe the following conclusions:
a) It is necessary to identify some kind of traceability relation between the
concepts represented at the business view, that model the business requirements
and those represented at the information system view that fulfils those
requirements. This traceability relation is indentified in SOD-M by means of the
concepts of business services, end consumers and business collaborators (see
figure 2) which can be analysed from both points of view, allowing the
alignment between high-level business models and information system ones.
b) It is necessary to establish and handle these correspondences between the
elements of business and information system views, each one defined by means
of a model. These correspondences may be informal, incomplete, and
preliminary. In many cases they may not be used directly to drive an executable
operation. However, those correspondences can be used to drive the execution
of the model transformation if we collect them using weaving models [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. We
can code a generic model transformation, which takes as input not only the
source model (CIM), but also the weaving model. Then, depending on the
weaving model used, we can generate different target models (PIM) for a given
source model.
c) It is possible to identify common business patterns in the business models. Those
patterns could help software engineers in the task of defining transformation
rules that allow generating typical common applications, for example, common
applications for travel agency management.
      </p>
    </sec>
    <sec id="sec-7">
      <title>5 Conclusions and Future Work</title>
      <p>The definition of methodologies that support the specification and design of the
behaviour of IS, allowing software engineers to go from the earlier stages of business
analysis to the final step of implementation is actually one of the main challenges to
face in the context of service-oriented development. MDE approaches deal with the
provision of models, transformations between them and code generators to address
software development. In that way, this kind of approaches offers a conceptual
structure for facilitating the alignment between high-level business models,
represented at CIM level, and information system, modelled at PIM level.</p>
      <p>In this work we have dealt with this alignment problem following an MDE
approach. We have focused on the mapping between the CIM and PIM models of
SOD-M, a method for the service-oriented development of IS. We have described, by
means of a case study, how we are actually dealing with the implementation of the
mapping rules between both abstraction levels. More specifically, we have coded the
model transformation to move from a value model at CIM level to a use case model at
PIM level. We have described the mapping rules needed to obtain the later from the
former and we have identified the main learned lessons from this work.</p>
      <p>At the present time we are working in the implementation of the rest of mapping
rules defined in the framework of SOD-M, and more specifically those that allows us
to obtain (in a way as much automatic as possible) information system details from
real computational independent models. Moreover, since SOD-M follows a MDE
approach for the service-oriented development of information systems, we are
currently working in the code generation from SOD-M models to different Web
Services platforms. All this given, we will be able to complete the alignment process
between high level business models and the IT implementation.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgements</title>
      <p>This research is partially granted by the GOLD project financed by the Ministry of
Science and Technology of Spain (Ref. TIN2005-00010) and the M-DOS
(URJCCM-2007-CET-1607) project co-financed by the University Rey Juan Carlos and the
Regional Government of Madrid.</p>
    </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>
            <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="ref4">
        <mixed-citation>
          4.
          <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="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>De Castro</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <article-title>A MDA approach for the service-oriented development of WISs: From Business Model to the Web Service Composition Model</article-title>
          .
          <source>Phd Thesis</source>
          . Rey Juan Carlos University,
          <year>2007</year>
          . Accesible in: http://www.kybele.etsii.urjc.es/investigacion/tesis/tesisvcastro.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Didonet</given-names>
            <surname>Del Fabro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Bézivin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            and
            <surname>Valduriez</surname>
          </string-name>
          <string-name>
            <surname>P.</surname>
          </string-name>
          (
          <year>2006</year>
          ).
          <article-title>Weaving Models with the Eclipse AMW plugin</article-title>
          .
          <source>Eclipse Modeling Symposium</source>
          , Eclipse Summit Europe, Esslingen, Germany.
          <year>2006</year>
          .
        </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>Jouault</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurtev</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Transforming Models with ATL</article-title>
          .
          <source>Satellite Events at the MoDELS 2005 Conference</source>
          (
          <year>2006</year>
          )
          <fpage>128</fpage>
          -
          <lpage>138</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kraus</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cachero</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meliá</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , „
          <article-title>Integration of Business Processes in Web Application Models‟</article-title>
          .
          <source>Journal of Web Engineering</source>
          <volume>3</volume>
          (
          <issue>1</issue>
          ), pp
          <fpage>22</fpage>
          -
          <lpage>49</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mukerji</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <source>„MDA Guide Version 1.0</source>
          .1‟ Document number omg/2003-06-01, Available at: http://www.omg.com/mda,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>O. De Troyer</surname>
            ,
            <given-names>C.J.</given-names>
          </string-name>
          <string-name>
            <surname>Leune</surname>
          </string-name>
          ,
          <article-title>WSDM: A User Centered Design Method for Web Sites</article-title>
          ,
          <source>Computer Networks and ISDN Systems</source>
          <year>1998</year>
          ,
          <volume>30</volume>
          (
          <issue>1-7</issue>
          )
          <fpage>85</fpage>
          -
          <lpage>94</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Papazoglou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Traverso</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dustdar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.. Service-Oriented</given-names>
          </string-name>
          <string-name>
            <surname>Computing</surname>
          </string-name>
          . Research Roadmap. Available at: ftp://ftp.cordis.europa.eu /pub/ist/docs/directorate_d/stds/services-research-roadmap_en.pdf,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Schmid</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossi</surname>
          </string-name>
          , G. „
          <article-title>Modeling and Designing Processes in E-Commerce Applications‟</article-title>
          .
          <source>IEEE Internet Computing</source>
          <volume>8</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>19</fpage>
          -
          <lpage>27</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Schmidt</surname>
          </string-name>
          , D.C..
          <string-name>
            <surname>Model-Driven Engineering</surname>
          </string-name>
          . IEEE Computer
          <volume>39</volume>
          (
          <issue>2</issue>
          ).
          <source>February</source>
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <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="ref17">
        <mixed-citation>
          17.
          <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="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Steinberg</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          et al.
          <article-title>Eclipse Modeling Framework (2nd</article-title>
          . Ed.).
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2008</year>
          .
        </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 id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schauerhuber</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strommer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwinger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kappel</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>A Semiautomatic Approach for Bridging DSLs with UML</article-title>
          ,
          <source>Proceedings of the 7th OOPSLA Workshop on Domain-Specific Modeling (DSM´07)</source>
          ,
          <source>Computer Science and Information System Reports</source>
          , University of Jyväskylä, Finland, p.
          <fpage>97</fpage>
          -
          <lpage>104</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>