Business process
compliance means the adherence or consistence of a set of specifications
modelling a business process and a set of specifications modelling the norms
for a particular business. Business process specifications describe how a
process is executed, while norms state what can be done and what cannot be done
by a process. Compliance checking is to figure out (a) which obligations will
definitely appear when executing the process, and (b) which of those
obligations may not be fulfilled. This paper introduces an algorithm that
provides a compliance checking.
The paper first chooses
FCL as the formal rules language, FCL (Formal Contract Language) is a logical
language that represents rules as expressions. FCL uses the following operators
¬(negation), O (obligation), P (permission), and ⊗ (violation/reparation), ∼p
denote the complement of p. (≺) determines the priorities between two rules to avoid conflicts.
FCL expressions such as:
r1 : account(y) ⇒ OpositiveBalance(y)
⊗ OapproveManager(y)
Which means for
account y it is an obligation to have a positive balance, if this obligation
was violated then it is an obligation to get manager approval. After writing
all rules in FCL, one can enrich the process model by these rules expressions.
Then the paper
explains process models showing how to annotate them with these rules
expressions. Finally, it presents the compliance-checking algorithm. To do
compliance checking there are three steps to go through. Step one ‘building procedure’,
consists of the following: 1- identifying sets of effects for each task from
the process model. 2- determine the normative position (obligation, permission,
prohibition) for each set of effects of these tasks. 3- for each task check if
obligation is fulfilled or a violation has occurred. Step two ‘from tasks to
obligations’, which determine the obligations derived by the tasks. Step three
‘checking compliance’, is applying the checkCompliance
algorithm.
Governatori and
Rotolo in this paper proposed a compliance algorithm, using FCL as the rule
modeling language. FCL has the ability to represent obligation, permission, and
negation. It also has the ability to show what to do incase of violation. And also
uses a priority operator to avoid conflicts. FCL do not differentiate between different
types of obligations (e.g. if an obligation is continues or occur once). Also it
does not have the ability to represent time constrains regulations, or if an obligation
need to happen after another obligation already happened and never before.
My cousin recommended this blog and she was totally right keep up the fantastic work!
ReplyDeleteBusiness Process Management