<!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>Software support for the Computation Independent Modelling in the MDA context</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andreas Martin</string-name>
          <email>Andreas.Martin@iwi.dfki.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Peter Loos</string-name>
          <email>Peter.Loos@iwi.dfki.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Information Systems (IWi) at the German Research Center for Artificial Intelligence (DFKI)</institution>
          ,
          <addr-line>Stuhlsatzenhausweg 3, 66123 Saarbruecken</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>ion step above PIM and present a GMF based editor supporting the MDA process on a higher, more business oriented level than the most used UML.</p>
      </abstract>
      <kwd-group>
        <kwd>Business processes</kwd>
        <kwd>business process software support</kwd>
        <kwd>Model Driven Architecture (MDA)</kwd>
        <kwd>Computation Independent Modelling (CIM)</kwd>
        <kwd>Graphical Modelling Framework (GMF)</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>2 Conceptual modelling language for MDA-support of business processes</title>
      <p>A special language is needed to integrate domain experts which are involved in a
business process and their knowledge into the software development. It has to be a
trade off between the “non-IT-oriented” people who are the target users of a new
system and the people who implement it. So, there are two main requirements:
The language has to be as simple and commonly understandable as necessary and
simultaneously as concrete as possible with the intention to automatically create
programs.</p>
      <p>In order to create such a common language different established languages and
notations were explored. For example the Business Modelling Notation (BPM), the
Business Process Execution Language (BPEL) and the Event driven Process Chain
(EPC) have been analysed. It turned out that each has its advantages and
disadvantages. EPCs are a multi-purpose standard for a high level design of
application systems or organisational structures, but they are not focused on
transformation into an IT system. BPEL is a machine readable, textual format without
an easy-going way to sketch a process in a graphical way. BPMN on the other hand is
a graphical notation for describing business processes with a weak semantic and no
strong formal definition, but, based on our research, it offers the best starting point for
creating the new language.</p>
      <p>So, the BPMN meta model was used as a basis and enriched by different items, partly
gathered from other languages as well as newly created. For example we introduced
the concept of business rules, but it showed that, on conceptual design level, we only
need decision rules and constraint rules [ScWe05].</p>
      <p>Beyond the business rule view we added three other views, namely a process view, a
data view and an organizational view. The most extensively represented one is the
process view, which integrates the other views. It consists of eight parts each of which
describes a particular element of the meta model. Structuring objects are the top-level
class the model contains. The control flow section introduces lane elements, which
are connected to each other by flow objects. The connections section has two further
types of connections between objects in a model. The annotated elements part of the
meta model shows model objects that are used to enrich activity objects with relevant
information. The activity section tells which elements are representing actions in a
model. The events section describes different types of events which describe what
kind of triggers could be used in a model. Gateways explain how decisions of
different types could be integrated into a VIDE CIM model. The enumerations section
is the last section and it gives an overview of the complex types used in three different
classes. Data view and organizational view introduce interfaces to two further
business process analysis scopes. Figure 1 shows the graphical meta model of the
proposed CIM language.
A completely new item is the media object. It represents unstructured data that can be
attached to every element in the diagram. Media objects could be hand-written texts,
recorded audio data of interviews or videos enriching the background knowledge of
the model element they are annotated to. So, an analyst or programmer has always the
possibility to reconsider the origin of a software requirement.</p>
    </sec>
    <sec id="sec-2">
      <title>3 The Eclipse Graphical Modelling Framework (GMF)</title>
      <p>The Graphical Modelling Framework GMF [GMF08] is part of the Eclipse project
and based on the Eclipse Modelling Framework (EMF) and the Graphical Editing
Framework (GEF). With the help of GMF it is possible to define the meta model of a
language and a syntactical representation and a bridge between them. Then you are
able to generate a model editor tool out of the definitions.</p>
      <p>When the appropriate mappings are defined, it is possible to add some
implementation details for the generation phase inside a generator model. At the end
an editor plug-in based on the generator model can be automatically created. The
editor will bridge the notation and domain model when a user is working with a
diagram, and also provides mechanisms for the persistence and synchronization of
both.</p>
    </sec>
    <sec id="sec-3">
      <title>4 CIM Editor</title>
      <p>Based on the meta model in chapter 2 and the symbols of the Business process
modelling notation (BPMN) we created a software tool to support the CIM level
modelling in the MDA context. The editor offers four kinds of model views: Process
view, data view, organizational view and business rules view, which can be all
interconnected (see Figure 3).</p>
      <sec id="sec-3-1">
        <title>4.1 Process view</title>
        <p>The CIM editor follows the classical GMF editor design. In Figure 4 you can see the
main process editor window. It is divided into different parts known from Eclipse, in
particular there are the package explorer, the main editor window, the palette with
model elements and some additional views at the bottom of the window.
Inside the package explorer on the left side you can create new models or open
existing files. All kind of diagram types like process models, business rule definitions
and data or organizational view are shown there. Also attached files like video movies
or office documents are included in the file tree to work with inside the models.
Central in the middle of the window the main editor window is located. This is the
main work area to build the models. All opened files are shown as tabs on top of the
section. So you can change easily between different models and work for example
parallel on a workflow and the structure of the data elements. At the right side of
window there is always the palette. All model elements you can add to your model are
presented there. To do this drag the wished symbol to the main editor window and
drop it into your model. In case of the process editor there are all standard BPMN
elements and the additional language elements.</p>
        <p>At least there is the properties view at the bottom of the window. If you choose an
element in the main editor window, all corresponding textual information is shown
and editable in this view. A right-click on the editor pane will bring up the diagram
context menu. There, there are the functionalities you can utilize to conveniently work
with the diagram, e.g. selecting, zooming or arranging.
A right-click on certain model elements offers some navigation functions. So, if you
choose a business rule object inside a process the specific context menu in Figure 5 is
shown. Apart from standard functions like edit, delete or show properties view there
is a possibility to open this rule in its rule view. In the newly opened view you can see
the rule’s constructs. You decide whether you want to edit it in the rule editor and
then go back to the process editor to continue modelling.</p>
        <p>Additionally there is a feature that you can utilize in your CIM model that allows you
to bring different media files in connection with CIM objects. You can attach binary
files to every object in the model. It suffices to drag the needed file into the editor
pane and place it on the target object. If you make a right-click on such an attached
objects it brings up a context menu with a specific function to open the attached
object. So, if you choose the default editor option from the context menu to open the
attached file, according to your system properties the default application will be
started, for example MS Word for *.doc- files or MS Media Player for *.wmv
files(see Figure 6).</p>
      </sec>
      <sec id="sec-3-2">
        <title>4.2 Business rule view</title>
        <p>The business rule editor consists mainly of the editor pane and the palette to the right
of the editor pane (see Figure 7). A business rule is represented through a box, in
which you can insert keywords like IF, THEN, ELSE, logical connectors like AND,
OR, XOR, terms and verbs. You can also use data objects and attributes defined
previously in the data model by inserting them through “Create shortcut…” context
menu function in the editor pane.
A context menu function “Create shortcut…” in the editor allows for shortcuts to
other editors. It can be a data object, an attribute of a data object or a construct from
organizational model.</p>
      </sec>
      <sec id="sec-3-3">
        <title>4.3 Organizational view</title>
        <p>The organizational hierarchy editor consists mainly of the editor pane and the palette
to the right of the editor pane (see Figure 8). An organizational diagram is represented
through four constructs: role, organizational unit, person and assignment. A Role is a
position that a person can take in an organizational unit. An organizational unit is a
department or a part in an organization, possibly hierarchically ordered and a person
represents a physical person who is working in an organization and performs a certain
role in there.</p>
      </sec>
      <sec id="sec-3-4">
        <title>4.4 Data view</title>
        <p>Data model editor consists mainly of the editor pane and the palette to the right of the
editor pane (see Figure 9). A data diagram is represented through three constructs:
data object, attribute and relationship. A data object is an entity describing a fact
model of the model domain which this model covers. A simple attribute describes its
object’s property in very simple informal way and a relationship makes logical
connection between two data objects.
A possible way to create software systems to support flexible business processes in
industrial enterprises is the MDA approach. Currently software systems are designed
without appropriate consideration of user requirements. Therefore domain users and
their knowledge should directly be involved in the software design process. So,
models on the CIM level should be used as the starting point for Model Driven
Architecture approaches. This can lead to a model transformation process that starts
on conceptual level and leads to generated models on PIM and PSM level.
But actually suitable conceptual modelling languages that are seamlessly integrated
into a MDA approach are still missing. Hence the authors proposed a conceptual
modelling language which is based on and still compliant to BPMN. To evaluate the
practicability and usability a modelling tool based on GMF was implemented.
Further research in the area of MDA approaches starting on CIM level is needed in
the model transformation from CIM to PIM level to have a better integration into
existing PIM tools.
[FeLo03]
[Fra05]
[GMF08]</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [Fra03]
          <string-name>
            <surname>Fettke</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ; Loos,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <article-title>Model Driven Architecture (MDA)</article-title>
          .
          <source>In: Wirtschaftsinformatik, Bd. 45</source>
          ,
          <year>2003</year>
          , Nr. 5, pp.
          <fpage>555</fpage>
          -
          <lpage>559</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Frankel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Model Driven Architecture</article-title>
          . Applying MDA to Enterprise Computing, Wiley &amp; Sons,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Frankel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Toward a Business Process Platform</article-title>
          .
          <source>In: MDA Journal</source>
          ,
          <year>July 2005</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>Graphical</given-names>
            <surname>Modelling Framework</surname>
          </string-name>
          (GMF), http://www.eclipse.org/modeling/gmf/ GMF Tutorial, http://wiki.eclipse.org/GMF_
          <string-name>
            <surname>Tutorial Stephen J. Mellor</surname>
            ,
            <given-names>Kendall</given-names>
          </string-name>
          <string-name>
            <surname>Scott</surname>
          </string-name>
          , Axel Uhl, Dirk Weise: MDA Distilled:
          <article-title>Principles of Model-Driven Architecture</article-title>
          ,
          <source>Addison Wesley</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          Object Management Group:
          <article-title>Model Driven Architecture (MDA</article-title>
          ) http://www.omg.org/docs/ormsc/01-07-01.pdf,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Scheer</surname>
          </string-name>
          , A.-W.;
          <string-name>
            <surname>Werth</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Geschäftsprozessmanagement und Geschäftsregeln</article-title>
          . In A.-W. Scheer (Hrsg.):
          <article-title>Arbeitsberichte des Instituts für Wirtschaftsinformatik, Heft Nr</article-title>
          .
          <volume>183</volume>
          ,
          <string-name>
            <surname>Saarbrücken</surname>
          </string-name>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>