rules by Rule Verifier since both of them evaluate the same condition and execute the
same action (conditions b) and c) of above Property 1). ECAPNSim produces a report
of all the anomalies detected, then notify the rule base designer and suggest him do
appropriated corrections.
Using ECAPNSim rule behavior can also be simulated. Suppose a token with in-
formation: insert account(100, James Brown, 300, 0.5) in place E0 of the CCPN of
Figure 2, which means that the customer James Brown has a new bank account which
is identified with the number 100, with a balance and rate of $300 and 0.5%, respec-
tively. Then transition firing steps are verified. 1) First, since there is a token in place
E0, transition T1 is enabled. 2) Second, since transition T1 is attached with the con-
dition insert.balance ¡ 500 and insert.rate ¿ 3 and the new account’s balance and rate
are less than 500 and greater than 0, respectively, condition evaluation is true. So, the
token is removed from place E0 and deposited in place E1. The token generated from
this transition firing consists of the information: (100, James Brown, 300, 0) because it
corresponds to the action of transition T1. In this moment transition T2 is enabled since
there is a token in place E1. However, condition evaluation is false since transition T2
is attached with condition update.balance ¡ 500 and update.rate ¿ 0 but the updated
balance’s value is 0. So, the token is taken away from the CCPN and the rule base pro-
cessing finishes. As you can see, even though a cycle was detected during verification
phase, at runtime that cycle never happens.
5 Related Work
Rule base verification has been widely investigated particularly with respect to produc-
tion rules [7], [10] - [12]. Earlier work in this area focussed on comparing in pairs the
rules of the rule base, trying to discover certain relationships between their premises and
conclusions. Recent techniques use graphical representations, such as directed graphs
or Petri nets, of the rule base to detect the different structural errors [11], [12]. Petri
nets based approaches model the rule base using a Petri net and the verification is per-
formed through reachability analysis of paths in the graph. However, those approaches
depend on the initial mark of the net to detect errors, therefore, some errors may be not
detected. In this sense, our work can detect all the errors described in this paper since
we focus on the structure of the net and information regarding rules.
Very few work can be found on active rule base verification. References [9] and
[8] tackled this topic by verifying the rule properties, such as triggerability, join appli-
cability, rule coverage, rule cascading, and postcondition satisfaction of an active rule
base, which are mainly focused on checking semantic correctness of active rules. Our
approach can work together with their approaches to check both semantic correctness
and structural errors.
Unlike approaches such as Starburst [6], EXACT [1], and SAMOS [1], we verify
and simulate an active rule base in the same platform ECAPNSim. Through ECAPNSim
an active rule base can work with different DBMSs.
157