<!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>Visual Specification Language and Automatic Checking of Business Process</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Outman El Hichami</string-name>
          <email>el.hichami.outman@taalim.ma</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mohammed Al Achhab</string-name>
          <email>alachhab@ieee.ma</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ismail Berrada</string-name>
          <email>iberrada@univ-lr.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Badr Eddine El Mohajir</string-name>
          <email>b.elmohajir@ieee.ma</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Sciences</institution>
          ,
          <addr-line>UAE, Tetouan</addr-line>
          ,
          <country country="MA">Morocco</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Sciences</institution>
          ,
          <addr-line>USMBA, Fez</addr-line>
          ,
          <country country="MA">Morocco</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>National School of Applied Sciences</institution>
          ,
          <addr-line>Tetouan</addr-line>
          ,
          <country country="MA">Morocco</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2003</year>
      </pub-date>
      <volume>2678</volume>
      <fpage>93</fpage>
      <lpage>101</lpage>
      <abstract>
        <p>In this work we propose a visual language for specifying behavioral properties of business processes (BP). We use Business process modeling notation (BPMN) to modelize BP, Petri Net as underlying formal foundations, and SPIN model checker to validate the dynamic behaviors of this process. The objective of this paper is to propose graphical property specification language which can be used during the design phase of BP. The proposed visual language uses the same concepts as established in BPMN to specify the properties to be verified. A semantic interpretation for properties expressed is given based en temporal logic formulas. The advantage of the proposed language is that it hides the temporal logic used for the specification of properties, and the knowledge of this logic is not needed.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        In recent years, researchers have become
increasingly interested in developing methods and tools
for the specification and validation of Business
Processes (BP) behavior. The Business Process
Modeling Notation BPMN OMG (2011) is emerging as a
widely accepted approach in the domain of Business
Process Mana
        <xref ref-type="bibr" rid="ref14">gement Hofstede et al. (2003</xref>
        ) and
becoming increasingly indispensable in business
relationship, web services AbuJarour and Awad (2014),
etc. BPMN is a standard and a well-known
diagrammatic notation for supporting the specification of BP.
It provides symbols to a simple graphical
specification for defining the control flow of the business
process in the early phases of process development.
BPMN diagrams afford a notation that is readily
understandable by all business users: the designer
expert, the technical developers, the business
people who will manage and monitor these processes.
The mix of constructs found in BPMN and the lack of
an unambiguous definition of some notations, makes
it possible to create models with semantic errors.
Therefore, several approaches have been proposed
to the formal validation of BPMN Takemura (2008);
Al Achhab et al. (2014); Bryans et al. (2009);
      </p>
      <p>Van der Aalst and Van Dongen (2013); Fahland et
al. (2011). Most of these approaches are based on
the mapping of BPMN to a formal presentation like
Petri Net Murata and Koh (1989); El Hichami et al.
(2014), YAWL Sun et al. (2008), PROMELA1, and
PNML Hillah et al. (2010), in order to use the formal
analysis tools available for these models. When
model-cheking is considered for formally verifying
BP properties, the specifications of this properties
should be expressed by temporal logic formulas.
Temporal properties are not always easy to write or
read and need strong background knowledge.
The objective of this paper is to propose a
userfriendly graphical interface that business experts
can use to specify and verify business processes.
Furthermore, this approach allows the integration of
formal verification techniques of BPMN models in
the design phase.</p>
      <p>
        The intent of this paper is to collect properties
(patterns) that occur commonly in the specification
of BP. Most specification formalisms in this domain
are a bit tricky to use. To make them easier to use,
our patterns use the same concepts as established
1spinroot.com/spin/Man/promela.html
in BPMN and come with descriptions that illustrate
how to map well-understood conceptions of BP
behavior into precise statements in common formal
specification languages like linear temporal logic
(LTL) MANNA and PNUELI (1992) and computation
tree logic (CTL)
        <xref ref-type="bibr" rid="ref13">Heljanko (1997)</xref>
        . The rest of the
paper proceeds as follows: Section 2 discusses the
related work. Section 3 provides formal definitions
and notations of BPMN used in the rest of this
paper and the mapping from BPMN modules
to Petri Net. Section 4 describes a graphical
property specification language. Section 5 describes
our verification process of BP and case study.
We develop experiments and analysis in Section
6. Section 7 concludes the paper, and draws
perspectives.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. RELATED WORK</title>
      <p>
        Current research in this area are largely
concentrated on a translation of BPMN models to a formal
language, and the specification of the proprieties
is written in temporal logic, and does not consider
a visual language for specifying these proprieties
to be ve
        <xref ref-type="bibr" rid="ref1">rified. In Dijkman et al. (2007</xref>
        ), the
authors introduce an approach, based on Petri Net,
to formalize and analyze BPMN while abstracting
data information. However, they only consider safety
properties of BPMN. In Van de
        <xref ref-type="bibr" rid="ref1">r Aalst et al. (2007</xref>
        ),
the authors have developed a tool, called Prom2,
to verify BPMN models. The property specification
logic supported by Prom, is restricted to the linear
temporal logic (LTL). In Sakr et al. (2013), the
authors have implemented a concept proof of their
approach with existing software namely the open
modeling platform Oryx
        <xref ref-type="bibr" rid="ref4">Decker et al. (2008)</xref>
        and
the BPMN-Q que
        <xref ref-type="bibr" rid="ref1">ry language Awad (2007</xref>
        ). This
approach is based on the decomposition of
BPMNQ. However, This verification approach may fail
because not all properties of a query can be satisfied
and the decomposition phase is complicated.
To the best of our knowledge, all the above works
assume that the verification phase comes after the
design phase. Thus, a strong background knowledge
of temporal logic is required. Our approach has
the merit of integrating the verification process in
the design stage allowing a gradual validation of
BP. This phase can be avoided by implementing a
specification interface.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. BASIC DEFINITIONS</title>
      <p>In this section, we give the basic definitions,
notations of BPMN, and Petri Net used in this paper.
3.1. BPMN
BPMN is a graphical notation designed for both
business process design and business process
implementation. BPMN process models are composed
of:
1. Events:
(a) Start Event: it indicates where a particular
process will start;
(b) End Event: it indicates where a process
will end.
2. Task: is a generic type of work to be done
during the course of a BP.
3. Sequence flow: it links two objects in a process
diagram.
4. Gateways:
(a) And-split Gateway: is where a single
branch is divided into two or more
parallel branches which are executed
concurrently;
(b) And-join Gateway: is where two or more
different branches of the process merge
into one single branch;
(c) Or-split Gateway: it routes the sequence
flow to exactly one of the outgoing
branches based on conditions;
(d) Or-join Gateway: it awaits one incoming
branch to complete before triggering the
outgoing flow.</p>
      <p>
        Fig. 1 provides an overview of a subset of BPMN
elements related to control-flow specification, these
include sequence flows. An object can be an event,
activity or gateway. A sequence flow links two objects
in a process diagram and denotes a control flow
relation.
3.1.1. Example
For further clarification, we give a simple example
adapted f
        <xref ref-type="bibr" rid="ref1">rom Raedts et al. (2007</xref>
        ) of the recruitment
process. Fig. 2 illustrates the BPMN model of the
hiring process since the creation of the job until the
candidate is rejected or accepted.
      </p>
    </sec>
    <sec id="sec-4">
      <title>3.2. Petri Net</title>
      <p>
        Petri Net is widely used tool for the representation,
validation and verification of BP Van der Aalst (1997,
1998); Ba
        <xref ref-type="bibr" rid="ref1">rkaoui et al. (2007</xref>
        ). A Petri Net is a tuple
N = (P; T; F ) where:
1. P 6= ; is a finite set of places;
2. T 6= ; is a finite set of transitions with P \T = ;;
3. F
(P
      </p>
      <p>T ) [ (T</p>
      <p>P ) is the flow relation.</p>
      <p>A place can contain zero or more tokens. A token
is represented by a black dot. The global state of a
Petri Net, also called a marking, is the distribution
of tokens over places. Formally, a marking of a Petri
Net N is a function M : P ! N. The initial marking
of N is denoted by M0.</p>
      <p>
        An example of Petri Net is shown in Fig. 4.
3.3. Transforming BPMN models to Petri Net
In order to analyze formally BPMN models, several
transformations have been proposed Lohmann et al.
(2009);
        <xref ref-type="bibr" rid="ref11">Dijkman et al. (2008)</xref>
        . Fig. 3 depicts the
mapping from BPMN tasks, events, and gateways
to Petri Net modules proposed by
        <xref ref-type="bibr" rid="ref11">Dijkman et al.
(2008)</xref>
        . A task or an intermediate event is mapped
onto a transition with one input place and one output
place. The transition, being labelled with the name of
that task (respectively event), models the execution
of the task (respectively event). A start or end event
is mapped onto a similar module except that a silent
transition is used to signal when the process starts
or ends.
      </p>
      <p>
        The Petri net, representing the recuitment process
of Fig. 2, that is produced by applying the mapping
rules mentioned above is given in Fig. 4.
4. A VISUAL LANGUAGE FOR BP PROPERTY
SPECIFICATION (BPVSL)
In this section, we show how the designer can
specify the properties to be verified using a
graphical interface based on the same concepts
as established in BPMN. The framework uses
this specification as a guide to implement the
transformation to LTL MANNA and PNUELI (1992)
or CTL
        <xref ref-type="bibr" rid="ref13">Heljanko (1997)</xref>
        temporal logic, even though
the designer has no notions of these temporal logic
languages.
      </p>
      <p>Before illustrating the BPVSL that we propose, we
give the set of properties that may be needed by the
designer:</p>
      <p>Safety property: that “nothing bad” will happen,
ever, during the execution of a system like the
absence of dead transitions (deadlocks).</p>
      <p>Liveness property: that “something good” will
happen, eventually, during the execution of a
system like the absence of cyclical behaviors.
Fairness property: under certain conditions, an
event may occur repeatedly, is a special type of
a safety property.</p>
      <p>Invariant property: is a special case of a safety
property. This type of property is satisfied with
all system states.</p>
      <p>Response property: if action A occurs then
eventually action B will occur.</p>
    </sec>
    <sec id="sec-5">
      <title>4.1. Response Properties</title>
      <p>To specify the dynamic behavior of a BP, five models
of response properties (Fig. 5) are considered in our
BP Visual Specification Language (BPVSL).
The following sections provide some of the most
frequently interpretation of this patterns. The
designer can use a graphical interface to specify the
source and the target extremities of property to be
verified. Then, the framework proposes the collection
of the gateways and arrow types in order to choose
the desirable semantic.</p>
    </sec>
    <sec id="sec-6">
      <title>4.2. Linear temporal logic (LTL)</title>
      <p>Temporal logic as extension of boolean logic may be
used as formal language to express the properties
that must be satisfied by the runs of a BPMN model.
LTL is the logic we use in this paper.</p>
      <p>The syntax of LTL is inductively defined as:
::= pj:j j ^ j _ j ! j j j j U .
Such p is a atomic proposition (task in BPMN). The
intuitive meanings of the associated LTL formulas
are given below:
: means</p>
      <p>is true in next state;
: means</p>
      <p>is true in some future state;
: means</p>
      <p>is true in all future states;
1U 2: means
until 2 holds.</p>
      <p>1 is true in all future states</p>
    </sec>
    <sec id="sec-7">
      <title>4.3. Computation tree logic (CTL)</title>
      <p>The syntax of CTL is inductively defined as:
::= pj:j j ^ j _ j
! .</p>
      <p>Thus, in addition to introducing temporal operators, it
introduces for-all and existential quantifiers:
A : means has to hold in every future state
on every execution path;
E : means has to hold in every future state
on some execution path;
A : means has to hold in some future state
in every execution path;
E : means has to hold in some future state
in some execution path.</p>
      <p>
        For more details see MANNA and PNUELI (1992);
        <xref ref-type="bibr" rid="ref13">Heljanko (1997)</xref>
        .
4.4. Specification language and semantic of 1
Every time ti is executed, tj has to be executed
afterwards: (ti ) tj ), (LTL formula).
4.5. Specification language and semantic of 2
      </p>
      <p>Every time ti is executed, tj and tk have to be
executed in parallel afterwards: (ti ) ( tj ^
tk)), (LTL formula).</p>
      <p>When ti is executed, tj and tk have to be
executed afterwards, while the two outgoing
branches are activated in parallel, each branch
on all potential paths: (ti ) (A tj ^ A tk)),
(CTL formula).</p>
      <p>Every time ti is executed, tj and tk have to be
executed in parallel afterwards: (ti ) ( tj ^
tk)), (LTL formula).
4.6. Specification language and semantic of 3
Every time ti is executed, one of the tasks ti
or tk has to be executed afterwards: (ti )
( tj _ tk)), (LTL formula).</p>
      <p>One of the tasks tj or tk eventually is executed
after the task ti on each potential path: (ti )
(A tj _ A tk)), (CTL formula).</p>
      <p>Every time ti is executed, one of the tasks ti
or tk has to be executed afterwards: (ti )
( tj _ tk)), (LTL formula).
4.7. Specification language and semantic of 4</p>
      <p>Formal semantics</p>
      <p>4:
Every time tasks ti and tj are simultaneously
executed, tk has to be executed afterwards:
((ti ^ tj ) ) tk), (LTL formula).</p>
      <p>When merging parallel branches, outgoing
branch on all potential paths: ((ti^tj ) ) A tk),
(CTL formula).</p>
      <p>Every time tasks ti and tj are simultaneously
executed, tk has to be executed afterwards:
((ti ^ tj ) ) tk), (LTL formula).
4.8. Specification language and semantic of 5</p>
      <p>One of the tasks ti or tj will be eventually
followed by the task tk on each potential path:
((ti _ tj ) ) A tk), (CTL formula).</p>
      <p>Every time one of the tasks ti or tj is executed,
it is followed by the task tk: ((ti _ tj ) ) tk),
(LTL formula).</p>
    </sec>
    <sec id="sec-8">
      <title>4.9. Safety and Liveness properties</title>
      <p>In order to meet the requirements of the designer,
we propose to add for each property to be verified a
sets of properties in order to define safety, liveness,
invariant and fairness properties.
4.9.1. A safety property
are conditions that are verified along any execution
path. These type of properties are usually associated
with some critical behaviour, thereby they should
always hold. Then, the quantifier ( ) is good for the
safety property. For example, in the case of BPMN
model of the recruitment process, the company
never recruits a “bad candidate”.
4.9.2. A liveness property
These type of properties involved in the temporal
concept with eventually. Thus, the quantifier ( ) is
good for the liveness property. Practically, in the case
of BPMN model of the recruitment process, never
reach the “good candidate”.
5. VERIFICATION PROCESS AND CASE STUDY
The verification process proposed of BP (Fig. 11),
the designer uses a graphical interface to modelize
the BPMN and to specify the desired properties
to be verified using BPVSL. The framework uses
this specification as a guide to implement the
transformation to corresponding LTL temporal logic.
As examples, we show how to specify three
response properties using BPVSL.</p>
      <p>Example 1: We could use the specification language
semantics of 1 to specify the following property
( 1): Does the task “Setup payroll” will happen after
the tasks “Find candidates” This property can be
interpreted with the visual presentation of Fig. 12.
When the source extremity of 1 is selected, the
framework proposes only the reachable tasks as
target extremities of 1. Then, the designer can
specify the arrow types between the task “Find
candidates” and “Setup payroll”.
Example 2: Let 2 be the property given by: the
task “Study CVs” and task “Evaluate interviews”
will be executed in parallel and after task “Receive
candidate CVs”. This property can be interpreted
with the visual presentation of Fig. 13. In fact,
the designer has first to select a task “Receive
candidate CVs”, then the designer has to select only
the reachable tasks “Study CVs” to be executed
in parallel with the task “Evaluate interviews” as
the target extremities of 2. Finally, the framework
proposes the collection of the gateways and arrow
types in order to choose between the different
semantics of 2.
Example 3: Let 3 be the property given by: Task
“Find candidates” will be executed after the tasks
“CV not approved” or “Not successful interviews”.
This property can be interpreted with the visual
presentation of Fig. 14. Similar to the specification
of 1 and 2, when the first source extremity “CV
not approved” of 3 is selected, the designer selects
the task “CV not approved” as the second source
extremity of 3 to be executed in conditional with the
task “CV not approved”, and the reachable task “Find
candidates” as the target extremity of 3. Finally, the
designer can choose between the collection of the
gateways and arrow types.</p>
    </sec>
    <sec id="sec-9">
      <title>6. EXPERIMENTS AND ANALYSIS</title>
      <p>In this paper, we use the SPIN tools3 to validate the
LTL formulas. In these experiments, we discuss the
verification of three models of response properties
1, 2 and 3 of Section 5.
6.1. Transforming Petri Net to PROMELA
In order to simulate Petri Net using SPIN, it is
necessary to translate Petri Net models into SPIN
models-specified using PROMELA.</p>
      <p>In Holzmann (2003), the authors propose a method
to describe a Petri Net into PROMELA that can be
simulated and verified with the SPIN model checker.
In this method, a Petri Net system is represented
3http://spinroot.com/spin/Man/
as a single process. The process describes each
firing of its transitions. An outline of the PROMELA
program of the Petri Net corresponding to the
recruitment process is given bellow:
#define Place 25
#define Transition 25
int M[Place]; /* Marking */
int X[Transition]; /* Firing count */
/* A firing of Transition t*/
/* remove specifies the change of the
marking of preset of t */
/* add specifies the change of the marking
of postset of t */
/* fire (x) increments the element</p>
      <p>corresponding to t in X[t] */
#define remove1(x) (x&gt;0) -&gt;
x-#define remove2(x,y) (x&gt;0 &amp;&amp; y&gt;0)
-&gt; x--;
y-#define add1(x) x++
#define add2(x,y) x++; y++
#define fire(x) x++
/* Process representing Petri Net */
init
{
M[0]=1; /* Set the initial marking */
do
:: atomic{remove1(M[0]) -&gt; fire(X[0]);
add1(M[1]}
:: atomic{remove1(M[1]) -&gt; fire(X[1]);
add1(M[2]}
:: atomic{remove1(M[2]) -&gt; fire(X[2]);
add1(M[3]}
:: atomic{remove1(M[3]) -&gt; fire(X[3]);
add1(M[4]}
:: atomic{remove1(M[4]) -&gt; fire(X[4]);
add1(M[5]}
:: atomic{remove1(M[5]) -&gt; fire(X[5]);
add1(M[6]}
:: atomic{remove1(M[6]) -&gt; fire(X[6]);
add2(M[7], M[12])}
:: atomic{remove1(M[7]) -&gt; fire(X[7]);
add1(M[8]}
:: atomic{remove1(M[8]) -&gt; fire(X[8]);
add1(M[9]}
:: atomic{remove1(M[8]) -&gt; fire(X[8]);
add1(M[17]}
:: atomic{remove1(M[9]) -&gt; fire(X[9]);
add1(M[10]}
:: atomic{remove1(M[10]) -&gt; fire(X[10]);
add1(M[11]}
:: atomic{remove1(M[11]) -&gt; fire(X[11]);
add1(M[5]}
:: atomic{remove1(M[12]) -&gt; fire(X[12]);
add1(M[13]}
:: atomic{remove1(M[13]) -&gt; fire(X[13]);
add1(M[14]}
:: atomic{remove1(M[13]) -&gt; fire(X[13]);</p>
      <p>add1(M[19]}
:: atomic{remove1(M[14]) -&gt; fire(X[14]);
add1(M[15]}
:: atomic{remove1(M[15]) -&gt; fire(X[15]);
add1(M[16]}
:: atomic{remove1(M[16]) -&gt; fire(X[16]);
add1(M[5]}
:: atomic{remove1(M[9]) -&gt; fire(X[17]);
add1(M[17]}
:: atomic{remove1(M[17]) -&gt; fire(X[18]);
add1(M[18]}
:: atomic{remove1(M[14]) -&gt; fire(X[19]);
add1(M[19]}
:: atomic{remove1(M[19]) -&gt; fire(X[20]);
add1(M[20]}
:: atomic{remove2(M[18],M[20]) -&gt;</p>
      <p>fire(X[21]); add1(M[21])}
:: atomic{remove1(M[21]) -&gt; fire(X[22]);
add1(M[22]}
:: atomic{remove1(M[22]) -&gt; fire(X[23]);
add1(M[23]}
:: atomic{remove1(M[23]) -&gt; fire(X[24]);
add1(M[24]}
od
}
(The PROMELA description of Petri Net shown in Fig. 4)</p>
    </sec>
    <sec id="sec-10">
      <title>6.2. LTL formulas</title>
      <p>The properties to be verified in SPIN have to
be expressed as LTL formulas. LTL formulas
corresponding to to the response properties 1, 2
and 3 to be verified can be rewritten as follows:
1: Does the task “Setup payroll” will happen
after the tasks “Find candidates” ;
LTL formula: [ ]((M [5] &gt;= 1) &gt; &lt;&gt;
(M [21] &gt;= 1));</p>
      <p>2: Task “Study CVs” and task “Evaluate
interviews” will be executed in parallel and after
task “Receive candidate CVs” ;
LTL formula: [ ]((M [3] &gt;= 1) &gt; &lt;&gt;
(M [12] &gt;= 1 &amp;&amp; M [8] &gt;= 1));</p>
      <p>3: Task “Find candidates” will be executed
after the tasks “CV not approved” or “Not
successful interviews”.</p>
      <p>LTL formula: [ ]((M [15] &gt;= 1 j j M [10] &gt;= 1)
&gt; &lt;&gt; (M [5] &gt;= 1)).</p>
    </sec>
    <sec id="sec-11">
      <title>6.3. Experimental results</title>
      <p>In this section, we give some statistics in order to
show the performance of our approach. We present
the size, the memory and the verification time of the
verification of 1, 2 and 3 on the Petri Net related
to Fig. 4.</p>
      <p>We first investigated in Table 1 and Table 2 the
results without Safety properties and with Liveness
properties.</p>
      <p>In Table 3 we present the results with Safety
properties(invalid deadlock) and without Liveness
properties.</p>
    </sec>
    <sec id="sec-12">
      <title>7. CONCLUSION</title>
      <p>The paper proposes a visual language for specifying
business process behavior. We use BPMN to
modelize BP, Petri Net as underlying formal
foundations, and spin model checker to perform
automated analysis. The principal objective of this
paper is to propose a graphical framework which use
the same notation as established in BPMN. In this
way the designer can specify and validate the BP
properties during the design phase. Several formal
semantics for these properties are expressed as
temporal logic formulas.
Times
(s)
Mohammed AbuJarour and Ahmed Awad. (2014)
Web Services and Business Processes: A Round
Trip. Web Services Foundations : pp. 3-29.
OMG. (2011) Business Process Modeling Notation
(BPMN) Version 2.0. OMG Final Adopted
Specification. Object Management Group.</p>
      <p>T. Takemura. (2008) Formal semantics and
verification of BPMN transaction and compensation. In
Proc. of APSCC 2008, pp. 284-290. IEEE.
J. W. Bryans, J. S. Fitzgerald, A. Romanovsky, and
A. Roth. (2009) Formal modelling and analysis
of business information applications with fault
tolerant middleware. In Proc. of ICECCS 2009, pp.
68-77. IEEE Computer Society.</p>
      <p>O. El Hichami, M. Al Achhab, I. Berrada and B.</p>
      <p>El Mohajir. Graphical specification and automatic
verification of business process, the International
Conference on Networked systems. NETYS 2014,
LNCS 8593, Springer, pp. 1-6.</p>
      <p>W.M.P. van der Aalst and B.F. van Dongen. (2013)
Discovering Petri Nets From Event Logs. T. Petri
Nets and Other Models of Concurrency 7:
372422.</p>
      <p>Dirk Fahland, Cdric Favre, Jana Koehler, Niels
Lohmann, Hagen Volzer, Karsten Wolf. (2011)
Analysis on demand: Instantaneous soundness
checking of industrial business process models.</p>
      <p>Data Knowl. Eng. 70(5): pp.448-466.</p>
      <p>T. Murata and J.Y. Koh (1989) Petri nets: Properties,
Analysis and Applications. an invited surve y
paper, Proceedings of the IEEE, Vol.77, No.4
pp.541-580.</p>
      <p>O. El Hichami, M. Al Achhab, I. Berrada, R. Oucheikh
and B. El Mohajir. (2014) An Approach Of
Optimisation And Formal Verification Of Workflow
Petri Nets. Journal of Theoretical and Applied
Information Technology, Vol.61, No.3 pp. 486-495.
J.-H. Ye, S.-X. Sun, L. Wen, and W. Song. (2008)
Transformation of BPMN to YAWL. In CSSE (2),
pp. 354-359. IEEE Computer Society.</p>
      <p>L. Hillah, F. Kordon, L. Petrucci, and N. Trves. (2010)
PNML Framework: an extendable reference
implementation of the Petri Net Markup Language,
LNCS 6128, pp. 318–327.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>R. M. Dijkman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Dumas</surname>
            , and
            <given-names>C</given-names>
          </string-name>
          <string-name>
            <surname>Ouyang</surname>
          </string-name>
          .
          <article-title>(</article-title>
          <year>2007</year>
          )
          <article-title>Formal semantics and analysis of BPMN process models using Petri nets</article-title>
          .
          <source>Technical Report 7115</source>
          , Queensland University of Technology, Brisbane.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
            ,
            <given-names>B.F. van Dongen</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>C.W. G nther</given-names>
            , R.S. Mans,
            <surname>A.K. Alves de Medeiros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rozinat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Rubin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Song</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.M.W.</given-names>
            <surname>Verbeek</surname>
          </string-name>
          , and
          <string-name>
            <surname>A.J.M.M. Weijters</surname>
          </string-name>
          . (
          <year>2007</year>
          )
          <article-title>ProM 4.0: Comprehensive Support for Real Process Analysis</article-title>
          .
          <source>In J. Kleijn and A</source>
          . Yakovlev, editors,
          <source>Application and Theory of Petri Net and Other Models of Concurrency (ICATPN</source>
          <year>2007</year>
          ), volume
          <volume>4546</volume>
          <source>of LNCS</source>
          , Springer-Verlag, Berlin, pp.
          <fpage>484</fpage>
          -
          <lpage>494</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>Sherif</given-names>
            <surname>Sakr</surname>
          </string-name>
          , Ahmed Awad, Matthias Kunze. (
          <year>2013</year>
          )
          <article-title>Querying Process Models Repositories by Aggregated Graph Search</article-title>
          , in Springer Berlin Heidelberg. Volume
          <volume>132</volume>
          , pp
          <fpage>573</fpage>
          -
          <lpage>585</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Overdick</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2008</year>
          )
          <article-title>Oryx - Sharing Conceptual Models on the Web</article-title>
          .
          <source>In: Conceptual Modeling - ER. LNCS 5231</source>
          , Springer Verlag, pp.
          <fpage>536</fpage>
          -
          <lpage>537</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Awad</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2007</year>
          )
          <article-title>BPMN-Q: A Language to Query Business Processes</article-title>
          . In EMISA, pp.
          <fpage>115</fpage>
          -
          <lpage>128</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>Ivo</given-names>
            <surname>Raedts</surname>
          </string-name>
          , Marija Petkovic, Yaroslav S. Usenko,
          <string-name>
            <surname>Jan Martijn E. M. van der Werf</surname>
            , Jan Friso Groote, and
            <given-names>Lou J. Somers.</given-names>
          </string-name>
          (
          <year>2007</year>
          )
          <article-title>Transformation of BPMN Models for Behaviour Analysis</article-title>
          . MSVVEIS, INSTICC PRESS, pp.
          <fpage>126</fpage>
          -
          <lpage>137</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>W.M.P. van der Aalst.</surname>
          </string-name>
          (
          <year>1997</year>
          )
          <article-title>Verification of Workflow Nets</article-title>
          .
          <source>ICATPN 97</source>
          , Volume
          <volume>1248</volume>
          <source>of LNCS</source>
          , pp.
          <fpage>407</fpage>
          -
          <lpage>426</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>W.M.P. van der Aalst.</surname>
          </string-name>
          (
          <year>1998</year>
          )
          <article-title>The Application of Petri Net to Workflow Management</article-title>
          .
          <source>The Journal of Circuits, Systems and Computers</source>
          , Vol.
          <volume>8</volume>
          , No.
          <issue>1</issue>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>66</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Kamel</given-names>
            <surname>Barkaoui and Rahma Ben</surname>
          </string-name>
          Ayed and
          <string-name>
            <given-names>Zohra</given-names>
            <surname>Sba</surname>
          </string-name>
          . (
          <year>2007</year>
          )
          <article-title>Workflow Soundness Verification based on Structure Theory of Petri Net</article-title>
          ,
          <source>IJCIS Journal</source>
          ,
          <volume>51</volume>
          -
          <fpage>62</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <given-names>Niels</given-names>
            <surname>Lohmann</surname>
          </string-name>
          , Eric Verbeek,
          <string-name>
            <surname>Remco</surname>
            <given-names>M. Dijkman.</given-names>
          </string-name>
          (
          <year>2009</year>
          )
          <article-title>Petri Net Transformations for Business Processes -</article-title>
          A
          <string-name>
            <surname>Survey</surname>
          </string-name>
          .
          <source>T. Petri Net and Other Models of Concurrency 2</source>
          .
          <fpage>46</fpage>
          -
          <lpage>63</lpage>
          , Springer Berlin Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Dijkman</surname>
          </string-name>
          ,
          <string-name>
            <surname>Remco</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            , Marlon, Ouyang,
            <given-names>Chun.</given-names>
          </string-name>
          (
          <year>2008</year>
          )
          <article-title>Semantics and analysis of business process models in BPMN</article-title>
          .
          <source>Information and Software Technology</source>
          ,
          <volume>50</volume>
          (
          <issue>12</issue>
          ), pp.
          <fpage>1281</fpage>
          -
          <lpage>1294</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <given-names>Z.</given-names>
            <surname>MANNA</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.PNUELI.</surname>
          </string-name>
          (
          <year>1992</year>
          )
          <article-title>The temporal logic of reactive and concurrent systems</article-title>
          , Springer-Verlag New York, Inc., New York, NY, USA.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Heljanko</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          (
          <year>1997</year>
          )
          <article-title>Model checking the branching time temporal logic CTL</article-title>
          ,
          <source>Research Report A45</source>
          , Helsinki University of Technology, Digital Systems Laboratory, Espoo, Finland.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>G.J. Holzmann.</surname>
          </string-name>
          (
          <year>2005</year>
          )
          <article-title>The Model Checker Spin</article-title>
          , Addison-Wesley, p.
          <fpage>596</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>