Professional Documents
Culture Documents
Abstract—A few research works have proposed a BPMN BPMN models to XML models accordingly to an MDA
metamodel fully compliant to the BPMN specification. In a recent approach.
project called PERCOMOM and based on MDA approach, we
have noticed the need to a BPMN metamodel and a The rest of the paper will be structured as follows: the
transformation tool to handle automatically transformations from section 2 will introduce the MDA approach. In section 3 we
a BPMN model to an XML model. In this paper, we have will deal with the BPMN language and we focus on some
proposed a BPMN metamodel and a set of transformation rules related works. In section 4, we will present our BPMN
based on ATL to automatically handle those transformations. We metamodel. In section 5, we will present our translation
have also applied and validate our approach on some samples of approach related to BPMN models transformations to XML
BPMN models. models. In this section we will also expose the transformation
Keywords- BPMN, metamodel, MDA, transformation rules, rules. Finally, we conclude and outline our future works.
ATL
63
B. Related works: already proposed BPMN metamodels because they don't have a significant role. Moreover, although
there are several event types [3], we have considered only
A metamodel is a language for defining models. It defines events pertaining to Timer, message and rule types.
the concepts and relationships needed to express models. Some
research works have proposed BPMN metamodels but all of
those works have done that for very specific needs and didn’t V. THE TRANSLATION APPROACH
cover all BPMN elements and constructs.
A. An industrial project background
We name for example [6] which have proposed a BPMN
metamodel based on Meta Object Facility (MOF ) [7]. This To validate our metamodel, we have applied it to the
metamodel proposed to automate the management of activities PERCOMOM approach. According to this approach, the
of a software development process specified by the SPEM BPMN is used to express the MDA CIM level and it has to be
(Software Process Engineering Metamodel).The SPEM translated to MDA PIM level which is expressed in the XML
activities are transformed in subprocesses of the standard language (eXtensible Markup Language). The target XML
BPMN. We notice that the metamodel describes only a subset model will therefore contain a set of task definitions with their
of BPMN elements; it doesn't describe the Gateway, Event, relationships. The table 1 illustrates XML definitions
Business process and Message flow concepts which are corresponding to BPMN element definitions. Those XML
considered as BPMN important concepts. element definitions are the result of the transformation process
from the CIM level to the PIM level.
[8] proposes another metamodel which presents major of
basic elements of the BPMN. However, this metamodel
presents some shortcomings. The concept attributes isn’t TABLE I. MATCHING BETWEEN BPMN AND XML ELEMENTS
defined and not all of the relationships between BPMN DEFINITIONS
elements are defined. Moreover, the relationships definition is Bpmn Notation Corresponding XML element
complex. model
element
Therefore, as a conclusion of this section, we can say that <pool id="xxx"
all the metamodels already presented, have shortcomings due name="yyy">
<lane id="xxx"
to the lack of some important BPMN elements and their name="yyy">
relationships. Our metamodel is thus much more complete. Siwmlane <task……….>
Let’s so present it. ::::::::::::::::::::::
</lane>
</pool>
IV. OUR PROPOSAL : A NOVEL BPMN <subprocess id="xxx"
METAMODEL type="Adhoc/loop
name="yyy">
First of all, to present our metamodel we should avoid all Subprocess <task………..>
: ::::::::::
the shortcomings previously detected and list all needed </subprocess>
BPMN concepts. <task id="xxx" type="task"
name="yyy">
A business process is composed of pools and messages Task <nexttask id="xxx"/>
flows. A pool is composed of lanes. Lanes are composed of </task>
flow objects which are connected by sequence flows. The flow <task id="xxx"
object represents: Gateway, Activity and Event BPMN type="eventbeginprocess"
Event start expession=''y"> <nexttask
concepts. A sub-process is composed of object flow elements id="xxx"/>
which are connected by sequence flows [3]. We have used </task>
those concepts to define our BPMN metamodel (Figure 4) <task id="xxx"
type="Gatewayxor"
We should stress that, the representation of events attached condition="yyy" <nextask
to activities is done via the event task reference concept. Gateway id="xxx"
exclusive evaluation="value1"/>
Finally, to facilitate the elements relationships management, <nextask id="xxx"
we have defined the following references: - (from) and (to) evaluation="value2"/>
represent respectively input and output ends of a sequence </task>
flow(inflow) and (outflow) describe respectively the set of <messageflow id="xxx"
message="zzz">
entrant and extran of object flow element.(frompool) and
< task frompoolid="x"
(topool) represent respectively the input and output pool of the Message fromflowobjectid="y"/ >
message flow. flow < task topoolid="xxx"
toflowobjectid="yyy" />
We should notice that we have omitted to represent Artifact
and Association BPMN elements within our metamodel
64
Figure 4. The proposed BPMN metamodel
Our metamodel meets the PERCOMOM approach needs. Figure 5. Transformation approach between BPMN and XML
Indeed, we can use it to establish the CIM level to PIM level
transformations. Let’s so present the transformation rules that
we have defined.
B. Transformation rules
Nowadays we can find many languages that can be used to
implement transformation rules. As examples, we can name
MOLA [9], UMLX [10], QVT [11] and ATL [12]. To
implement our transformation rules, we have chosen the ATL
language because it meets the following criteria: 1) it is simple
as well as flexible 2) it allows hybrid rule expressions
(declarative and imperative rules). This latter criterion is the
most important. Indeed, all the generated elements are
65
composed of other elements which are on their own generated
by other transformation rules (table 1). For instance, the
businessproces XML element generated from the Business
Process element according to the BPMN metamodel, is
composed of pool XML element and requires rules using other
ones to create the target elements. So invoking imperative rules
is an important requirement for our approach.
66
VI. CONCLUSION AND FUTUR
WORKS
VII. REFERENCES
67