<!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>Abstracting Common Business Rules to Petri Nets (Abstract)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kees van Hee</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Hidders</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Geert-Jan Houben</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Paredaens</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Philippe Thiran</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Delft University of Technology</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Eindhoven University of Technology</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Antwerp</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Namur</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <fpage>113</fpage>
      <lpage>114</lpage>
      <abstract>
        <p>These days Business Information Systems (BIS) have a highly responsible task: they execute large parts of the business processes autonomously. So organizations become more and more dependent on their BIS. Business processes usually require a certain order in which activities have to be executed. On top of that, there are many other business rules that should be met by the execution of business processes, e.g., the famous Sarbanes-Oxley rules (cf. [1]) and the General Accepted Accounting Principles (GAAP). Business rules can be required by any stakeholders, such as management, government, shareholders and business partners, both clients and suppliers. In this paper we take it for granted that a BIS has some unknown errors and that the system is for all stakeholders more or less a black box. Instead of a human auditor we propose here an approach where the BIS is extended by an independent monitor system that checks the essential business rules on the fly and that reports violations of business rules or that interrupts the BIS to prevent the occurrence of a violation. As basic terminology we use workflow notions such as task, case, agent and resource. This is consistent with the terminology for accounting information systems where the REA (Resource, Event and Agent) data-model is used frequently. This model is an Entity-Relationship model for accounting information systems [2-4]. We assume that business processes are described by traces which are here defined as sets of events where events are partial functions that map event properties to property values. Event properties can be either a standard mandatory property such as time, case, task, agent or a certain type of resource that is involved in the event such as money or used materials. A property value can be either a task name, an agent, a basic value, or a rational number where the latter is also used to represent time stamps. The values of standard properties are restricted so they have property values of the right type. The syntax of the BRL, the business rule language we present here, is defined by the following abstract grammar:</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>F ::= ¬F | (F ∧ F ) | PS = E, . . . , PS = E | E = E | E &lt; E.</p>
      <p>E ::= X | DS | Σ(X : F )E | (E + E).</p>
      <p>Here F denotes boolean formulas and E expressions that return a property value.
The non-terminals PS and DS represent event properties and property values,
respectively, and X represents variables that range over property values, which
includes time-stamps. The value of the formulas and expressions are defined
w.r.t. to a certain trace. There are three special workflow constructs with specific
workflow semantics: formulas of the form e1 &lt; e2, formulas of the form p1 =
e1, . . . , pk = ek and expressions of the form Σ(x : ϕ)e. The first compares
the values of e1 and e2 according to the ordering defined over the property
values, which includes the time ordering over time-stamps. The formula p1 =
e1, . . . , pk = ek states that the trace contains at least one event ev such that
ev(p1) = v1, . . . , ev(pk) = vk where v1, . . . , vk are the values of the expressions
e1, . . . , ek for the trace. The expression Σ(x : ϕ)e is a sum quantifier which sums
the values of expression e for each property value x that occurs in the trace
and satisfies the formula ϕ. For example, Σ(xt : (xt = xt))(Σ(xp : time =
xt, payed = xp )xp) computes the total amount of money payed.</p>
      <p>The sum quantifier allows us to formulate business rules about aggregates of
used and produces resources such as “for each case at each moment the total
amount of used bread does not exceed the amount of previously delivered bread”.
In addition it can also be used to formulate more standard workflow rules
concerning precedence, such as “an event for task a is always followed by an event
for task b”. For example, the formula (Σ(x : time = x, task = a )1) &gt; 0 checks
if at least one event for task a has occurred.</p>
      <p>
        In the full paper it is shown how for certain types of rules in BRL we can
define a monitor system that is able to check them on the fly and in parallel to a
business information system. This is done by translating parts of the evaluation
of business rules into the execution of a Petri net [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] by using history-dependent
Petri nets [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This is an efficient way of checking rules because it can be done
in an incremental way, i.e., event by event, using a Petri net engine. If the Petri
net cannot execute a transition, then a rule is violated and this can be reported,
or it may generate an interrupt for the BIS and trigger an exception handler. In
the future we will also try to transform larger classes of business rules.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Berg</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Turning Sarbanes-Oxley projects into strategic business processes</article-title>
          .
          <source>Sarbanes-Oxley Compliance Journal</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Romney</surname>
            ,
            <given-names>M.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinbart</surname>
            ,
            <given-names>P.J.</given-names>
          </string-name>
          :
          <source>Accounting Information Systems</source>
          .
          <volume>11</volume>
          edn. Pearson International Editions (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Geerts</surname>
            ,
            <given-names>G.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McCarthy</surname>
            ,
            <given-names>W.E.</given-names>
          </string-name>
          :
          <article-title>An ontological analysis of the economic primitives of the extended-REA enterprise information architecture</article-title>
          .
          <source>International Journal of Accounting Information Systems</source>
          <volume>3</volume>
          (
          <issue>1</issue>
          ) (
          <year>2002</year>
          )
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>McCarthy</surname>
            ,
            <given-names>W.E.</given-names>
          </string-name>
          :
          <article-title>The REA accounting model: A generalized framework for accounting systems in a shared data environment</article-title>
          .
          <source>The Accounting Review</source>
          <volume>57</volume>
          (
          <issue>3</issue>
          ) (
          <year>1982</year>
          )
          <fpage>554</fpage>
          -
          <lpage>578</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Reisig</surname>
          </string-name>
          , W.:
          <source>Petri Nets: An Introduction. Volume 4 of Monographs in Theoretical Computer Science: An EATCS Series</source>
          . Springer-Verlag, Berlin (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. van Hee,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Serebrenik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Sidorova</surname>
          </string-name>
          , N.:
          <article-title>Token History Petri Nets</article-title>
          .
          <source>Fundam. Inf</source>
          .
          <volume>85</volume>
          (
          <issue>1-4</issue>
          ) (
          <year>2008</year>
          )
          <fpage>219</fpage>
          -
          <lpage>234</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>