<!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>A Rule-Based Language for Integrating Business Processes and Business Rules</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tuan Anh Pham</string-name>
          <email>tuan-anh.pham@inria.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nhan Le Thanh</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>WIMMICS-INRIA Sophia Antipolis 2004 Route des Lucioles</institution>
          ,
          <addr-line>06902, Valbonne</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Business process modeling has become a popular method for improving organizational efficiency and quality. Automatic validation of process models is one of the most valuable features of modeling tools, in face of the increasing complexity of enterprise business processes and the richness of modeling languages. This paper proposes a formal language, Event-Condition-Action-Event (ECAE), for integrating Colored Petri Nets (CPN)-based business process with a set of business rules. We automate the integration process for validating the business process model. The ECAE language has several important features: its reasoning capabilities, its ability to express complex actions and events, and its declarative semantics. By enabling simulation of business process behavior, the reasoning capabilities facilitate the early detection of flaws</p>
      </abstract>
      <kwd-group>
        <kwd>Logic Programing</kwd>
        <kwd>Business Process Management</kwd>
        <kwd>Event-Condition-Action</kwd>
        <kwd>Colored Petri Nets</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The widespread use of business process modeling has helped enterprises to design,
control and analyze many operational processes. Unfortunately, syntactic and semantic
inconsistencies often appear in business process models, especially as the complexity
of the models increases. Flaw detection and automation are essential for ensuring
costeffective and correct process models.</p>
      <p>The challenge for system designers is to build a flexible intelligent system, which
accepts and verifies the change on business process and business rules automatically.
The business process must be integrated with a set of business rules, and a
correspondence between the process and the rules must be created. This must be flexible since the
business process and the business rules may be modified during runtime. The
verification should be a rule-based system, which can reason and deduce new knowledge or a
new decision based on a set of rules and facts.</p>
      <p>This paper proposes a formal language ECAE for business process modeling, which
takes advantage of both the graphical representation of colored Petri nets and the easy
to represent ECA rule. It designs a business process model through CPN and translates
the model into a set of ECA rules, derivation rules and inhibition rules, it will be
explained in more detail in section 5. This language can be used also for representing
business rules and checking the respect of a business process to the business rules
automatically when a user modifies a workflow.</p>
      <p>Our main contributions in this paper are:
 Modeling a business process in a formal way.
 Representing a set of business rules in the same formal way with the business
processes.
 Integrating the business process and a set of business rules.
 Checking the semantic aspect of business process automatically during runtime.</p>
      <p>The rest of the paper is organized as follows. Section 2 presents a comparison with
previous work. Section 3 introduces the research methodology. Section 4 provides an
overview of both the Color Petri Nets and the ECA language. Section 5 presents the
language ECAE through a case study. Finally, some conclusions and future research
directions are presented in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Comparison with related works</title>
      <p>
        The most widely used languages for describing business process today are the
Business Process Execution Language (BPEL) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and [BPMN]. BPEL and BPMN
describe a process as a series of activities with a control flow (e.g., sequential execution)
in an imperative fashion. Whereas traditional business process description languages
center on activities, ECA rules put emphasis on events. In contrast, our approach
specifies how to execute an action automatically when the event happens, provided that a
certain condition holds. Another advantage of ECA rule-based approach is that it allows
the users to specify requirements in either a natural or formal language, as business
rules, legislative rules, or contractual rules. ECA rules easily integrate with other kinds
of rules commonly used in business applications such as deductive rules (rules
expressing views over data or rules used for reasoning with data) and normative rules (rules
expressing conditions that data must fulfill; also called integrity constraints).
      </p>
      <p>
        Several authors have proposed using ECA rules for business process modeling and
execution, e.g., [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref13 ref14">10, 11, 12, 13, 14</xref>
        ]. Some of these systems [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] use composite events to
detect complex business process situations and only consider the structure and the
execution of business process. By contrast, our ECAE language uses ECA rules for
business process management: we address not only the structure and execution but also the
problem of business constraints and integration with a set of business rules. To the best
of our knowledge, no research work considers this aspect of ECA language. The only
discussing transformation between CPN and ECA [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] does not consider CPN
verification.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Research Methodology</title>
    </sec>
    <sec id="sec-4">
      <title>Background</title>
      <sec id="sec-4-1">
        <title>Colored Petri Nets</title>
        <p>
          In this paper, a Coloured Petri Net (CPN) is used to design a business process model.
A CPN is a tuple CPN = (Σ, P, T, A, N, C, G, E, IN) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], where Σ is a set of colors; P is
a finite set of places; T is a finite set of transitions; A is a finite set of arcs; N is a node
function; C is a color function; G is a guard function; E is an arc expression function;
and IN is an initialization function.
        </p>
        <p>The advantage of CPN is that color sets are used to distinguish different tokens,
which will be treated in different ways, while arc expression function and guard
function are used to control token’s flow path.</p>
        <p>Example 1: in Fig. 2, we design a CPN graph to represent bank account operations.
color Account = int with 1..1000;
color Balance = int;
color Amount = int with 1..5000;
color AB = product Account * Balance;
color AA = product Account * Amount;
var a:Account; var x:Amount;
var y:Balance;</p>
        <p>A
(a,x)
(a,y-x)
(a,y)
(a,y)
(a,x+y)
(a,x)</p>
        <p>AA
Withdraw</p>
        <p>Withdraw</p>
        <p>Database</p>
        <p>Deposit</p>
        <p>Deposit</p>
        <p>This provides a simple example. There are two main transitions in the CPN graph.
The first transition allows the user to deposit the money to their bank account while the
second action allows the user to withdraw the money from their bank account.</p>
        <p>The event specifies a condition for triggering the rule. The condition is a query,
which determines if the information system is in a particular state, in which case the
rule fires. Finally the action states the actions to be performed if the rule is met. These
actions may in turn cause further events to occur, which may in turn cause more ECA
rules to fire.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Sketch of the Proposed Solution</title>
      <sec id="sec-5-1">
        <title>Overview of the Solution</title>
        <p>In Fig 3, there are three main steps of our solution. First of all, a business process
(CPN graph) is designed by a user; it contains all the properties of CPN (Places,
Transitions, Input Arcs, Output Arcs, GuardFunctions, InputArc Expressions,
OutputArcExpressions, Colour Sets). The business process can be modified and reused by
the user. The second step is compilation; the business process which was designed in
step 1, will be translated into a set of ECAE language rules, an extension of Event
Condition Action language. This language and the compilation step will be introduced
in sections 4.2 and 4.3. Finally, in the execution step, the ECAE language will be
executed with the ECA engine.</p>
        <p>• Business process by Coloured Petri Nets (Places, Transitions, Input Arcs, Output Arcs,
GuardFunctions, InputArc Expressions, OutputArcExpressions, Colour sets)
Design Step
Execution
• Event: transition
• Condition: Place, GuardFunction, Colour Set, Input Arc Expression
• Action: Output Arc Expression, Colour Set
Compilation • Event: next transition
• ECAE Execution Engine</p>
        <p>
          We start this section by informally introducing the various constructs of the
language. Our solution is inspired by previous work [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. In this solution, we aim at defining
a language exhibiting both the advantages of ECA languages and of Logic Programing
[
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] updates. As such, expressions in ECAE are divided into two parts:
        </p>
        <sec id="sec-5-1-1">
          <title>1. Rules: reactive rule, inference rule and inhibition rules.</title>
          <p>2. Definitions: object, event and action</p>
          <p>Reactive rules are as usual in ECA languages, and have the form (1), where: Event
is a basic or a complex event expressed in algebra; Condition is a conjunction of (positive
or negative) literals and Action is a basic or a complex action. Inference rules are Logic
Programing rules with default negation, where default negated heads are allowed.
Finally, ECAE also includes inhibition rules of the form:</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>If Condition Do Not Action</title>
        </sec>
        <sec id="sec-5-1-3">
          <title>If Condition Do Action</title>
          <p>Where condition is a conjunction of literals and events. Such an expression
intuitively means: if Condition is true, do not execute Action. Inhibition rules are useful
for updating the behavior of reactive rules. If the inhibition rule above is asserted all
the rules with Action in the head are updated with the extra condition that Condition
must not be satisfied in order to execute Action.</p>
          <p>ECAE allows basic events to be combined to obtain complex ones using event
algebra. The operators we use are:  |  | S | not. Intuitively, e1  e2 occurs at an instant i
if both e1 and e2 occur at i; e1  e2 occurs at instant i if either e1 or e2 occur at instant i;
not e occurs at instant i if e does not occur i. S (e1, e2, e3) occurs at the same instant of
e3, in case e1 occurred before, and e2 in the middle. Operator S is very important since
it allows combining and reasoning with events occurring at different time points.</p>
          <p>Actions can be basic or complex. Basic external actions are related to the specific
application of the language. Basic internal actions are for adding or retracting facts and
rules (inference, reactive or inhibition rules), of the form assert(τ) and retract(τ)
respectively, for raising basic events, of the form raise(e). There is also an internal action
defined (d) for adding new definitions of actions and events (see more on these
definitions below).</p>
          <p>Complex actions are obtained by applying algebraic operators on basic actions.
Such operators are:  |  | IF, the first for executing actions sequentially, and the
second for executing them concurrently. Executing IF (C, a1, a2) amounts to executing
a1 in case C is true, or executing a2 otherwise.</p>
          <p>To enable modular definition of both complex actions and events, ECAE allows for
event and action definition expressions. These are of the form edef is e and adef is a where
edef (resp. adef) is an atom representing a new event and e (resp. a) is an event (resp. an
action) obtained by the event (resp. action) algebra above. It is also possible to use
defined events (resp. actions) in the definition of other events (resp. actions).
5.3</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>Translation from CPN Business Process Model to ECAE Rule</title>
        <p>As mentioned in section 4.1, a business process is represented by a CPN graph; the
idea of our solution is to translate a CPN graph to a set of ECAE rules. We propose an
algorithm for CPN-ECAE translation:</p>
        <p>The ECAE rules, translated from Coloured Petri Net-based business process model
is used to realize business process execution. The translation algorithm has 4 steps as
follows:
1. The condition part of ECAE reactive rule is a collection of color sets, guard function
related to a transition.
2. Translate each transition to ECAE rule
3. Add starting condition and ending condition.
4. Connect all ECAE rule transition as their triggered sequence.</p>
        <p>With this algorithm, we can translate a business process model into a set of ECAE
rules. Example 2 illustrates this algorithm.</p>
        <p>Example 2: the CPN graph from Example 1 will be translated into a set of ECAE
rules.</p>
        <p>BPR1:If Withdraw&amp;AA(a,x)Do Withdraw&amp;AB(a,y-x)
BPR2:On Withdraw&amp;AB(a,y-x) If Done Do AB(a,y)
BPR3:If Deposit&amp;AA(a,x) Do Deposit&amp;AB(a,y+x)
BPR4:On Deposit&amp;AB(a,y+x) If Done Do AB(a,y)
BPR5:On AB(a,y) If Done Do EndWorkflow
BPR6:If Account&gt;5000&amp;Account&lt;0 Do EndWorkflow
BPR7:If Amount&gt;1000&amp;Amount&lt;0 Do EndWorkflow</p>
        <p>In this example, R1 and R3 are the rules to begin the business process for two cases,
Withdraw and Deposit, respectively. R5 is the rule for quitting the business process.
5.4</p>
      </sec>
      <sec id="sec-5-3">
        <title>Business Rules</title>
        <p>One of the main objectives of ECAE is to build a set of business rules. When a
business process is executed, it must respect a set of business rules. A rule set consists
two parts:
1. Definitions: this part contains all definitions of actions, events and color set in a
specific domain.
2. Inhibition rules: this part consists a set of inhibition rules which are useful for
updating the behavior of reactive rules
Example 3: we extend Example 2 by adding some actions and simple inhibition rules.
BRR1:Withdraw(a,x) is Login(user,pass)  Amount(a,y-x)
BRR2:Deposit(a,x) is Login(user,pass) Amount(a,y+x)
BRR3:If y-x&lt;0 Do Not Withdraw(a,x)
BRR4:If Not Login(user,pass) Do EndWorkflow</p>
        <p>When these inhibition rules are integrated with the set of ECAE rules in Example
2, the balance of bank account will never be negative. We can use ECAE to define this
more complex business rule.
5.5</p>
      </sec>
      <sec id="sec-5-4">
        <title>Verifying the Compliance of a Business Process with Business Rules</title>
        <p>This section introduces our method for integrating and verifying a business process
and business rules. As presented above, the set of business rules and business processes
are represented by ECAE language. Therefore, in order to verify the compliance
between them, we merge two sets of ECAE rules into a single knowledge base and reason
on it. Let us continue our Example 3 we have a knowledge base as follow:
BPR1:If Withdraw&amp;AA(a,x)Do Withdraw&amp;AB(a,y-x)
BPR2:On Withdraw&amp;AB(a,y-x) If Done Do AB(a,y)
BPR3:If Deposit&amp;AA(a,x) Do Deposit&amp;AB(a,y+x)
BPR4:On Deposit&amp;AB(a,y+x) If Done Do AB(a,y)
BPR5:On AB(a,y) If Done Do EndWorkflow
BPR6:If Account&gt;5000&amp;Account&lt;0 Do EndWorkflow
BPR7:If Amount&gt;1000&amp;Amount&lt;0 Do EndWorkflow
BRR1:Withdraw(a,x) is Login(user,pass)  Amount(a,y-x)
BRR2:Deposit(a,x) is Login(user,pass) Amount(a,y+x)
BRR3:If y-x&lt;0 Do Not Withdraw(a,x)
BRR4:If Not Login(user,pass) Do EndWorkflow
We can see that the business process and the business rules are represented in ECAE
syntax (this is a set of rules). Therefore, we can easily check the compliance of business
process with a set of business rules by detecting the conflict between the rules in one
knowledge base using reasoning and a reasoner.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Discussion and Conclusions</title>
      <p>CPNs and ECA rules have a very important role in designing a business process
management system. Colored Petri nets, inherited from the traditional Petri nets, have
a better ability on expressiveness because of their color sets and guard function.
Meanwhile ECA rules are based on the event-trigger feature, which is an easy-to-implement
software initiative.</p>
      <p>In this paper, we propose a formal language ECAE, which exhibits the advantages
of both ECA languages and Logic Programing updates. Further, we design a common
business process model for bank account operations using a colored Petri net, and
translate it into a set of ECAE rules</p>
      <p>In future work, we will focus on enhancing the expressiveness and exception
processing ability of ECA rules, which will make our method more suitable for developing
a useful business process management system. We will also consider the transaction
problem for business process execution, and how to implement and evaluate the
proposed approach based on process agents and ECA rules.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ryan K.L. Ko</surname>
          </string-name>
          ,
          <string-name>
            <surname>Stephen</surname>
            <given-names>S.G.</given-names>
          </string-name>
          <string-name>
            <surname>Lee</surname>
          </string-name>
          , and
          <article-title>Eng Wah Lee, "Business process management (BPM) standards: a survey,"</article-title>
          <source>Business process Management Journal</source>
          , vol.
          <volume>15</volume>
          , pp.
          <fpage>744</fpage>
          --
          <lpage>791</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Marc</given-names>
            <surname>Fasbinder</surname>
          </string-name>
          ,
          <source>Why model business processes?</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>L. J.</given-names>
            <surname>Hommes</surname>
          </string-name>
          ,
          <article-title>"The Evaluation of Business process Modeling Techniques,"</article-title>
          Delft University of Technology,
          <source>Ph.D. thesis 90-9017698-5</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Liu</given-names>
            <surname>Feng</surname>
          </string-name>
          , Zhang Wei.
          <article-title>Colored Petri net extended with price information and its applicaion[J]</article-title>
          .
          <source>Journal of Computer Applications;</source>
          <year>2007</year>
          ,
          <volume>20</volume>
          (
          <issue>10</issue>
          ):
          <fpage>2501</fpage>
          -
          <lpage>2503</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>T.H.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Le-Thanh</surname>
            ,
            <given-names>N.:</given-names>
          </string-name>
          <article-title>An ontology-enabled approach for modelling business process es</article-title>
          . In: Beyond Databases, Architectures, and
          <string-name>
            <surname>Structures</surname>
          </string-name>
          . Volume
          <volume>424</volume>
          of Communications in Computer and Information Science. Springer International Publishing (
          <year>2014</year>
          )
          <fpage>139</fpage>
          -
          <lpage>147</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Tuan</given-names>
            <surname>Anh</surname>
          </string-name>
          <string-name>
            <given-names>Pham</given-names>
            ,
            <surname>Thi-Hoa-Hue</surname>
          </string-name>
          <string-name>
            <surname>Nguyen</surname>
          </string-name>
          , Nhan Le Thanh:
          <article-title>Ontology-based business process validation</article-title>
          .
          <source>RIVF</source>
          <year>2015</year>
          :
          <fpage>41</fpage>
          -
          <lpage>46</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>José</given-names>
            <surname>Júlio</surname>
          </string-name>
          <string-name>
            <surname>Alferes</surname>
          </string-name>
          , Federico Banti, Antonio Brogi:
          <article-title>An Event-Condition-Action Logic Programming Language</article-title>
          .
          <source>JELIA</source>
          <year>2006</year>
          :
          <fpage>29</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Donghui</given-names>
            <surname>Lin</surname>
          </string-name>
          , Huanye Sheng, Toru Ishida:
          <article-title>Interorganizational Business process Execution Based on Process Agents and ECA Rules</article-title>
          .
          <source>IEICE Transactions 90-D (9)</source>
          (
          <year>2007</year>
          ):
          <fpage>1335</fpage>
          -
          <lpage>1342</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>George</given-names>
            <surname>Papamarkos</surname>
          </string-name>
          , Alexandra Poulovassilis, and Peter T. Wood:
          <article-title>Event-condition-action rules on RDF metadata in P2P environments</article-title>
          .
          <source>Computer Networks</source>
          <volume>50</volume>
          (
          <issue>10</issue>
          ):
          <fpage>1513</fpage>
          -
          <lpage>1532</lpage>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Barbará</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mehrota</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rusinkiewicz</surname>
          </string-name>
          .
          <article-title>INCAS: A Computation Model for Dynamic Workflows in Autonomous Distributed Environments</article-title>
          .
          <source>Technical Report</source>
          , Department of Computer Science, University of Houston, May
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>C. Bussler</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Jablonski</surname>
          </string-name>
          .
          <article-title>Implementing Agent Coordination for Business process Management Systems Using Active Database Systems</article-title>
          .
          <source>Proc. 4 th RIDE-ADS</source>
          , Houston,
          <year>February 1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Joonsoo</surname>
            <given-names>Bae</given-names>
          </string-name>
          , Hyerim Bae,
          <string-name>
            <surname>Suk-Ho</surname>
            <given-names>Kang</given-names>
          </string-name>
          , Yeongho Kim:
          <article-title>Automatic Control of Business process Processes Using ECA Rules</article-title>
          .
          <source>IEEE Trans. Knowl. Data Eng</source>
          .
          <volume>16</volume>
          (
          <issue>8</issue>
          ):
          <fpage>1010</fpage>
          -
          <lpage>1023</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Geppert</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tombros</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Event-based distributed business process execution with EVE</article-title>
          .
          <source>In: Proc. of the IFIP Int. Conf. on Distributed Systems Platforms and Open Distributed Processing</source>
          , pp.
          <fpage>427</fpage>
          -
          <lpage>442</lpage>
          (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>George</surname>
            <given-names>Papamarkos</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Ra</given-names>
            <surname>Poulovassilis</surname>
          </string-name>
          , Peter T.
          <article-title>Wood : RDFTL : An Event-ConditionAction Language for RDF</article-title>
          .
          <source>In Proc. 3rd Int. Workshop on Web Dynamics (in conjunction with WWW</source>
          (
          <year>2004</year>
          ), pp.
          <fpage>223</fpage>
          -
          <lpage>248</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Alexandra</surname>
            <given-names>Poulovassilis</given-names>
          </string-name>
          , George Papamarkos, Peter T. Wood:
          <article-title>Event-Condition-Action Rule Languages for the Semantic Web</article-title>
          .
          <source>EDBT Workshops</source>
          <year>2006</year>
          :
          <fpage>855</fpage>
          -
          <lpage>864</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Andrews</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , et al.:
          <article-title>Business process execution language for web ervices version 1.1</article-title>
          . Available at www.ibm.com/developerworks/library/ws-bpel (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>ZHOU</surname>
          </string-name>
          ,
          <string-name>
            <surname>Guo-xiang et</surname>
            <given-names>GAO</given-names>
          </string-name>
          , De-ping.
          <article-title>ECA rule and colored Petri nets based workflow modeling research</article-title>
          .
          <source>The National Natural Science Foundation of China</source>
          ,
          <year>2010</year>
          , p.
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Sandro</surname>
            <given-names>Etalle</given-names>
          </string-name>
          ,
          <source>Miroslaw Truszczynski: Logic Programming</source>
          , 22nd International Conference, ICLP 2006, Seattle, WA, USA,
          <year>August</year>
          17-
          <issue>20</issue>
          ,
          <year>2006</year>
          ,
          <source>Proceedings. Lecture Notes in Computer Science 4079</source>
          ,
          <string-name>
            <surname>Springer</surname>
            <given-names>2006</given-names>
          </string-name>
          <source>, ISBN 3-540-36635-0</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>