<!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>Towards Resolving Compliance Violations in Business Process Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ahmed Awad</string-name>
          <email>ahmed.awad@hpi.uni-potsdam.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sergey Smirnov</string-name>
          <email>sergey.smirnov@hpi.uni-potsdam.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mathias Weske</string-name>
          <email>mathias.weske@hpi.uni-potsdam.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Business Process Technology Group Hasso Plattner Institute at the University of Potsdam D-14482 Potsdam</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2009</year>
      </pub-date>
      <abstract>
        <p>Keeping business processes compliant with regulations is of major importance for companies. Considering the huge number of models each company possesses, an automation of compliance maintenance becomes essential. Therefore, many approaches focused on automation of various aspects of a compliance problem, e.g. compliance verification. Such techniques allow localizing the problem within the process model. However, they are not able to resolve a detected violation. In this paper we make the first attempt to systematically approach the problem of automatic violation resolution, addressing violations of execution order compliance rules. We categorize the violations into types and describe possible violation resolution strategies. The problem of choosing the concrete resolution strategy is addressed by the concept of context.</p>
      </abstract>
      <kwd-group>
        <kwd>business process modeling</kwd>
        <kwd>compliance checking</kwd>
        <kwd>process model parsing</kwd>
        <kwd>process model restructuring</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In todays business, being compliant to regulations is inevitable. Companies are
hiring experts to audit their business processes and to evidence process
compliance to external/internal controls. Keeping business processes compliant with
constantly changing regulations is expensive [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Process models provide
enterprises an explicit view on their business processes. Thus, it is rational to employ
them for the business process compliance checking.
      </p>
      <p>
        Several approaches have been proposed to handle the divergent aspects of
compliance on the level of process models. Most of them are focused on a model
compliance checking, i.e. on a model verification problem [
        <xref ref-type="bibr" rid="ref1 ref10 ref16">1, 10, 16</xref>
        ]. The problem
of violation visualization was addressed in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], where the authors proposed a
mechanism for identifying and presenting to the user process traces violating a
compliance rule. However, the question of compliance violation resolution was
discussed in literature (for instance, see [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]). Usually this problem is considered
as a task for a human expert. However, it would be possible to (semi) automate
the task of resolving compliance violations. This would be valued as an aid to
the human expert to speed up the process of ensuring compliance. This paper
tackles the violation resolution problem and at the same time complements our
previous work on the compliance problem presented in [
        <xref ref-type="bibr" rid="ref1 ref3">1, 3</xref>
        ].
      </p>
      <p>In this paper we make the first step towards resolving execution order
compliance rule violations. Since the problem is new, we start with an analysis and
an identification of the main challenges. The main contribution of the paper is
the set of patterns, capturing possible violation situations and their resolution
strategies. We also introduce the notion of resolution context, which defines the
choice of preferable resolution strategy.</p>
      <p>The rest of the paper is organized as follows. Section 2 discusses the state
of the art in the area of compliance management in business process modeling.
Section 3 frames the problem of compliance rule violation resolution, identifying
the main challenges. A formalism employed in resolution strategies is presented
in Section 4. Sections 5 and 6 represent the paper contribution where we formally
define a catalog of violation patterns and reflect on the influence of a resolution
context on the operation choice. Section 7 concludes the paper and discusses the
future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        An essential problem of compliance is identification of violations. Today a large
body of research on compliance checking of business process models is published.
Our primary interest is a work on an execution order compliance checking. The
research in this area can be divided into two directions: a compliance by design
and a compliance checking of existing models. The idea of compliance by design
is to enforce a process model compliance already at the stage of design. [
        <xref ref-type="bibr" rid="ref14 ref18 ref19 ref7 ref8">7, 8, 14,
18, 19</xref>
        ] show how this approach can be realized. The other branch of research
employs model checking techniques to verify that existing process models satisfy
the compliance rules. [
        <xref ref-type="bibr" rid="ref1 ref16 ref25 ref5">1, 5, 16, 25</xref>
        ] consider this problem. Following this approach
the authors of [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ] use business contracts as a source of compliance rules.
To formalize compliance rules Formal Contract Language (FCL) is used. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
separates process modeling from control objectives; it also uses FCL to express
control requirements over annotated process models.
      </p>
      <p>
        A resolution of violations can be driven by the severity of violations. In
this sense an interesting method was introduced in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. This formal approach
enables measuring the degree of compliance. Once a compliance rule is specified,
the approach tells the degree of a compliance for a given process model on the
scale from 0 to 1. The approach is implemented in an automated tool, which
supports management decisions if the compliance violations should be resolved.
      </p>
      <p>
        Recently, several requirements frameworks for business process compliance
management have been proposed. In [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] the authors formulate requirements for
tools. The requirements specify compliance management of semantic constraints
(compliance rules), addressing the issues of a lifetime compliance. The focus is
also on requirements to languages expressing compliance rules, on rule priorities,
and on validation of process models against rules during design time and runtime.
Another framework was proposed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Among other requirements, the authors
discuss compliance enforceability. In this context they perceive the violation
pay by credit card
resolution as a human task, i.e. only human experts are responsible for taking
remedy actions when a violation is discovered.
      </p>
      <p>
        It should be noticed that [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] discussed possible strategies for resolving
compliance violations. However, the discussion was very high level.
      </p>
      <p>The related work outlook demonstrates that the problem of business process
compliance is actual, since many of its aspects have been investigated. On the
other hand, it reveals that in the area of compliance violation resolution not
much has been done. Many mentioned research projects may profit if they are
complemented by the technique of violation resolution. Therefore, we perceive
these projects as a motivation for the problem of compliance violation resolution.</p>
      <p>
        The problem of violation resolution inevitably involves structural
modifications of process models. In this sense, a paper on workflow inheritance and
change management [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] provides valuable information. In [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] the authors
described adaptations correctness criteria, guiding the change operations. Recently,
a set of change patterns has been discussed in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] along with the discussion of
changes correctness.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Problem Definition</title>
      <p>The goal of this section is to shape the problem of compliance violation
resolution. We start with a discussion of execution order compliance rules and illustrate
by examples this type of rules and their violations. Afterwards, we outline the
challenges to be responded on the way to the resolution of the violations.</p>
      <p>
        Execution order compliance rules restrict an order in which activities appear
in a process model. In previous work [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], we distinguished two types of execution
order rules: leads to and precedes. Compliance rule A leads to B requires
that once there is an occurrence of activity A in a process model, each path
leading from A to a process end contains an occurrence of activity B. A precedes
B rule requires that once there is an occurrence of activity B in a process model,
each path leading from a process start to B contains an occurrence of activity
A. These are considered two basic rules from which more rules can be derived.
      </p>
      <p>The named rules can be illustrated by the process example in Fig. 1. The
figure presents a fragment of a buying process in an electronic shop from the
customer perspective. It captures the final stage of a process, when the customer
has already selected the goods and decided to checkout. Once a delivery address
is provided, the customer chooses a payment method: either credit card, or cash
(on delivery). Depending on the preferred method, the process evolves assuring
that the customer gets the goods delivered. In case of on delivery payment, the
customer receives a notification, once the order is confirmed. The rule Confirm
order leads to Receive goods holds, since every time a customer confirms an
order, the goods are received. The rule Confirm order precedes Get notification
also holds. However, one can impose compliance rules that are violated in this
example. For instance, Go to checkout leads to Pay by cash rule is violated:
there is an alternative path which allows to skip paying by cash. One can also
notice that Get notification precedes Receive goods rule is violated, since on the
upper branch activity Get notification is missing.</p>
      <p>The example shows that there are numerous situations when execution
order compliance rules are violated. To address these multiple cases we introduce
violation patterns. Each pattern captures a certain violation type and describes
structural modifications needed to assure model compliance. The modifications
operate with fragments of a process model, i.e. a connected subgraph of a graph
representing the process model. In the trivial case a fragment is one activity.
The structural modifications involve two elementary operations:
Add introduces a new fragment to a business process model.</p>
      <p>Remove deletes a fragment, which presents in an initial business process model.
Along with the two basic operations we introduce Move operation, which is the
composition of Add and Remove. For the sake of convenience we use Move as a
shortcut in the paper.</p>
      <p>Let us refer to the example in Fig. 1. As we have mentioned Go to checkout
leads to Pay by cash rule is violated in this fragment. To make the model
compliant, we have to guarantee that once Go to checkout is executed, Pay by
cash is executed as well. This can be achieved in several ways:
◦ one more occurrence of activity Pay by cash is added between activity Go
to checkout and the XOR split;
◦ Pay by cash is moved to that position;
◦ Go to checkout is removed from the model.</p>
      <p>Each of the named operations assures the compliance, but may introduce
an inconsistency into the model. For instance, addition of activity Pay by cash
before the choice means that the user always pays twice. Thus, the initial logic
of the business process is broken. This example illustrates that not every
modification making a model compliant is acceptable. The operations are sensitive
to resolution context. The resolution context is defined by constraints which are
imposed on every activity and which are considered to be significant during
resolution process. The resolution context is independent from a concrete
business process, but describes the business environment. Within the context one or
more aspects (types of constraints) can be distinguished. Examples of aspects
are control flow, data flow, and semantic annotations of activities and their
interdependencies. The context may combine these three aspects in different ways.
Meanwhile, we do not aim at identification of all possible aspects. Rather, in
Section 6 we will discuss the influence of the context, looking at the examples.
We also assume initial process models containing violations to be correct with
respect to every aspect defined by the context.</p>
      <p>
        Resolution of compliance violations requires structural modifications of a
process model. On the contrary, formal definitions of leads to and precedes
compliance rules operate with temporal relations between the activities. This
means that one compliance rule regulates relations between multiple activity
occurrences (i.e. between multiple model nodes). For instance, compliance rule Go
to checkout leads to Confirm order holds for the process model in Fig. 1, while
the rule considers one occurrence of activity Go to checkout and two occurrences
of activity Confirm order. This mismatch can be resolved by a method reducing
an analysis of a compliance rule to an analysis of node pairs. Such a method is
out of scope of this paper and we assume that we can identify a concrete pair
of nodes which causes a violation. Although we assume strict matching between
activity labels in rules and models, approaches like the one in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] can be used to
relax this assumption.
      </p>
      <p>Another challenge is resolution of multiple violations within one model (e.g.
when a model is checked against several compliance rules). In this case we
propose to perform resolution of each violation in isolation from others. Multiple
violations can be resolved sequentially, one after another. A problem rises if
resolutions of two violations contradict one another, i.e. a correction of one
violation causes another violation and vice versa. This case requires interference of
a human modeler who resolves the conflict.</p>
      <sec id="sec-3-1">
        <title>C Graph-based modeling notations allow creation of models with an arbitrary struc</title>
        <p>
          A B D ture. We assume that process models are
structured workflows. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] defines a
struc
        </p>
        <p>Fig. 2. Allowed loop fragment tured workflow as one in which each split
control element (e.g. and, or) is matched with a join control element of the same
type, and such split-join pairs are also properly nested. At the same time we
allow structured loops in the form presented in Fig. 2.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Preliminaries</title>
      <p>
        Correction of compliance violations assumes analysis and modification of
business process models on the structural level. Therefore, we need a technique
efficiently supporting these tasks. We rely on the concept of a process structure
tree (PST), which is the process analogue of abstract syntax trees for programs.
PSTs can be constructed using various algorithms. We propose to use an
algorithm developed in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. The assumption that process models are structured
workflows is the direct consequence of this algorithm: the technique can
recognize the organization of a structured workflow. We foresee that an application
of a more efficient technique softens this assumption.
      </p>
      <p>
        The concept of a process structure tree is based on the unique decomposition
of a process model into fragments. One approach is decomposition of a model
into canonical single entry single exit (SESE) fragments, described in [
        <xref ref-type="bibr" rid="ref12 ref23">12, 23</xref>
        ].
Informally, a SESE fragment is a fragment with exactly one incoming and exactly
one outgoing edge. The node sets of two canonical SESE fragments are either
disjoint or one contains the other. Following [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] we consider a maximal sequence
of nodes to be a canonical SESE region. If the node set of SESE fragment f1 is
the subset of the node set of SESE fragment f2, then f1 is the child of f2 and f2
is the parent of f1. If f1 is the child of f2 and there is no f3, such that f3 is the
child of f2 and f3 is the parent of f1, f1 is the direct child of f2. One example of
a SESE fragment is a structured loop with one incoming edge and one outgoing
edge. Further we will consider such loops, and to avoid any ambiguity we provide
the definition of the loop employed in this paper.
      </p>
      <p>Definition 1. A loop is a SESE fragment containing at least two gateways:
a join and a split. The join is incident to the entry edge of the fragment, the
split—to the exit edge of the fragment; the loop has two branches: one leading
from the join to the split is always executed (we call it mandatory) and the other
leading from the split to the join may be skipped (optional ). It is allowed that
one branch does not contain nodes.</p>
      <p>Canonical SESE fragments can be organized into a hierarchy according to the
parent-child relation. The hierarchy is represented with a directed tree called
process structure tree. The tree nodes represent canonical SESE fragments.
Definition 2. A process structure tree P = (N, E, r, t) is a tree, where:
◦ N is a finite set of nodes, where nodes correspond to canonical SESE
fragments
◦ r ∈ N is the root of the tree
◦ E ⊆(N × (N \{r})) is the set of edges. Let tree nodes n1, n2 ∈ N correspond
to SESE fragments f1 and f2, respectively. An edge leads from n1 to n2 if
SESE fragment f1 is the direct parent of f2
◦ Every node has exactly one parent
◦ t : N → {act, seq, and, xor, or, loop} is a function assigning a type to each
node in N : act corresponds to activities, seq—sequences, and, xor, or—
blocks of corresponding type, loop—fragments described in Definition 1
◦ N&lt;type&gt; ⊆ N denotes the set of nodes with specific type, e.g. Nseq are the
nodes of type seq.</p>
      <p>The definition distinguishes 6 node types: activities, sequences of activities,
parallel blocks, exclusive choice blocks, inclusive choice blocks, and loops. In
the illustrations depicting PST sequences are visualized with horizontal lines,
choices—with diamond-shaped figures, loops—with unfilled circles. If the node
type is unimportant, it is captured as a black-filled circle. A process model may
contain several occurrences of one activity (e.g. activity A). Then, the model’s
PST has the set of nodes which corresponds to occurrences of A. To address such
a set of nodes we denote it with Na ⊆ N . The node representing the fragment
on the mandatory branch is connected with its parent node (of type loop) with
solid line, while for the optional branch a dashed line is used.</p>
      <p>We introduce a family of auxiliary functions exec&lt;type&gt;. Every function
checks if a given activity is always executed within the given fragment. To
answer this question a recursive analysis of all fragment’s children is done. The
following definition formalizes this function family in terms of PST.
Definition 3. The family of functions exec&lt;type&gt; : N&lt;type&gt;×Nact → {true, f alse}
is defined as:
execxor(p, a) =
! true, if "∀x:(p,x)∈E exect(x)(x, a) = true,</p>
      <p>f alse, otherwise.
where p ∈ Nxor and a ∈ Nact.
where p ∈ Nor and a ∈ Nact.
where p ∈ Nand and a ∈ Nact.
where p ∈ Nseq and a ∈ Nact.
where p ∈ Nloop and a ∈ Nact.</p>
      <p>execor(p, a) =
! true, if "∀x:(p,x)∈E exect(x)(x, a) = true,</p>
      <p>f alse, otherwise.
execand(p, a) =
! true, if #∀x:(p,x)∈E exect(x)(x, a) = true,</p>
      <p>f alse, otherwise.
execseq(p, a) =
! true, if #∀x:(p,x)∈E exect(x)(x, a) = true,</p>
      <p>f alse, otherwise.
execloop(p, a) =  true, if for the direct child node x of p laying on
its mandatory branch holds exect(x)(x, a) = true,
 f alse, otherwise.</p>
      <p>execact(p, a) =
! true, if p ∈ Na,</p>
      <p>f alse, otherwise.
where a, p ∈ Nact.</p>
      <p>Since a tree has no cycles, a path between two nodes is a unique node sequence.
Definition 4. A path between two nodes n0, nk ∈ N , is a sequence of nodes
path(n0, nk) = (n0, n1, . . . , nk) where (ni, ni+1) ∈ E, 0 ≤ i &lt; k. If there is
no path between n0 and nk we denote it with path(n0, nk) = ⊥. We write
n ∈ path(n0, nk) to express the fact that n lies on the path from n0 to nk.
Definition 5 formalizes the notion of the least common parent for two nodes.
Definition 5. The least common parent of two nodes n, m ∈ N in tree P =
(N, E, r, t) is a node lcp(n, m) = {p : p ∈ N ∧ p ∈ path(r, n) ∧ p ∈ path(r, m) ∧
!p#(p# )= p ∧ p# ∈ path(r, n) ∧ p# ∈ path(r, m) ∧ p ∈ path(r, p#))}.</p>
      <p>If a node is of type seq the execution order for its direct children is defined.
Definition 6. The order of execution of node n ∈ N with respect to node
p ∈ Nseq is a function:</p>
      <p>order : Nseq × N → N,
defined if (p, n) ∈ E and where the first argument is the parent node and
second—its child.</p>
      <p>The notion of order can be extended to all the children of a node with type seq.
Definition 7. The order∗ of execution of a node n ∈ N with respect to node
p ∈ Nseq is a function:</p>
      <p>order∗ : Nseq × N → N,
defined as follows if path(p, n) )= ⊥:
order∗(p, n) =
! order(p, n) , if (p, n) ∈ E,</p>
      <p>order(p, k) , where (p, k) ∈ E ∧ k ∈ path(p, n), if !(p, n) ∈ E.</p>
      <p>Then, the execution order compliance rules can be expressed as follows.
Definition 8. A process model is compliant with rule A leads to B if the
process model lacks activity A or in the corresponding PST P = (N, E, r, t)
∀a ∈ Na∃x ∈ N : t(lcp(a, x)) = seq∧order∗(lcp(a, x), a) &lt; order∗(lcp(a, x), x)∧
exect(x)(x, b) = true.</p>
      <p>Definition 8 states that a process model is compliant with leads to rule in two
cases. The first case is when there is no occurrence of activity A in the model.
The second case describes the situation when the model contains at least one
occurrence of A. Then, for each occurrence of A there must be a fragment which
is executed in a sequence after A and which assures that B is always executed
within it.</p>
      <p>Definition 9. A process model is compliant with rule A precedes B if the
process model lacks activity B or in the corresponding PST P = (N, E, r, t)
∀b ∈ Nb∃x ∈ N : t(lcp(b, x)) = seq ∧ order∗(lcp(b, x), x) &lt; order∗(lcp(b, x), b) ∧
exect(x)(x, a) = true.</p>
      <p>Definitions 8 and 9 reveal that the two compliance rules are structurally
similar and symmetric. Profiting from this similarity, in the remainder of the
paper we will discuss only one compliance rule type, namely leads to. All the
conclusions made for leads to rule can be trivially deduced for precedes.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Catalog of Violation Patterns</title>
      <p>In this section we present the catalog of compliance rule violation patterns. For
each pattern we give the name and briefly discuss the problem it addresses. We
motivate patterns providing examples. Finally, we formalize patterns in terms
of PST.</p>
      <p>Compliance rule A leads to B is violated in two cases: either there is no
execution path leading from A to B, or there is an execution path leading from A
b
b'
s
a
a'
to the process end, but not containing B. These two cases are addressed by the
violation patterns: each pattern is related to one of them; together the patterns
cover all possible violation cases.</p>
      <p>The suggested resolution strategies for each violation pattern are given in
terms of adding, removing, or moving operations of activities under studies.
These operations might be executed recursively on other activities that are
related to the activities addressed by the compliance rule as will be shown later
in Section 6.
Probably the most challenging violation of rule A leads to B is the case when
activities A and B appear in the inverse order. This means that a process model
contains both activities A and B, connected with a path, but this path leads
from B to A. Obviously, a compliance rule can not hold.</p>
      <p>The inverse order violation can be illustrated by the following example.
Assume that a company sends a notification with an order summary to a customer
once the order is prepared. Afterwards, the company contacts its logistics partner
to arrange a delivery. Fig. 3(b) captures a fragment of the model corresponding
to this process. New business conditions require the company to include the
delivery information in the notification, i.e. first the delivery should be organized.
This requirement is captured in the rule Organize delivery leads to Notify
customer rule. In this case an inverse order violation takes place. Fig. 3(a) captures
this violation type in terms of PST and the following definition formalizes it.
Definition 10. Process model has a violation of compliance rule A leads to B
and this violation is of type inverse order if the PST for this model contains nodes
a and b corresponding to activities A and B, respectively, and s = lcp(a, b) ∧
t(s) = seq ∧ order∗(s, b) &lt; order∗(s, a).</p>
      <p>In general, inverse order violation can be fixed with one of the following
operations:
1. Add B directly after A
2. Remove A from process model
3. Move A to the position directly before B
4. Move B to the position directly after A</p>
      <p>notify
customer
a</p>
      <p>b</p>
      <p>(b) Example of different branches violation
Activities A and B can be located on different branches of a block. Independently
of the block type, compliance rule A leads to B is violated. From the structural
perspective violation of a rule follows from the fact that there is no execution
path neither leading from A to B, nor from B to A (see Fig. 4(a)).</p>
      <p>The example of different branches violation is shown in Fig. 4(b). It presents
a variation of the business process discussed in section 5.1. In contrast to the
initial example, Notify customer and Organize delivery activities are executed in
parallel. The concurrent activities allow the company to shorten the execution
time. However, once the company policy requires to notify a client about
delivery details (i.e. Organize delivery precedes Notify customer compliance rule is
imposed), the business process becomes incompliant.</p>
      <p>Definition 11. Process model has a violation of compliance rule A leads to
B and this violation is of type different branches if the PST for this model
contains nodes a and b corresponding to activities A and B, respectively, and
t(lcp(a, b)) ∈ {and, or, xor}.</p>
      <p>The following operations resolve the violation:
1. Remove A from process model
2. Add B to the branch with A directly after A
3. Add B directly after block
4. Add A directly before block (for and block)
5. Move A to the branch with B directly before B
6. Move B to the branch with A directly after A
7. Move B directly after block
8. Move A directly before block (for and block)
5.3</p>
      <sec id="sec-5-1">
        <title>Splitting Choice</title>
        <p>This violation pattern can be motivated by the following example. Assume we
have a business process, containing the fragment presented in Fig. 5. The
fragment shows that once a purchase request is received, its budget should be
approved; before the approval the request can be optionally analyzed. However,
one can require that every received purchase request must be analyzed. This
receive purchase
request</p>
        <p>approve
request budget
(a) Choice block case
(b) Loop case 1
(c) Loop case 2
requirement can be formalized in the form of compliance rule Receive purchase
request leads to Analyze request. In the presented fragment this rule is violated,
since after a purchase request is received, the analysis can be skipped.</p>
        <p>We call this type of violation splitting choice. Leads to compliance rule has
a violation of type splitting choice if a model contains both activities A and B
and, either A and B are connected with a path, but this path contains a split
gateway (either or, or xor), or there is a loop and activity B is on the optional
branch, while A is either before the loop or on its mandatory branch (see Fig. 6).
Thus, the process model provides an option not to execute B, once A is executed.
Definition 12. Process model has a violation of compliance rule A leads to
B and this violation is of type splitting choice if the PST for this model contains
nodes a and b corresponding to activities A and B, such that s = lcp(a, b) ∧ ((s ∈
Nseq ∧ ∃x ∈ path(lcp(a, b), b) : x ∈ Nor ∪ Nxor ∪ Nloop ∧ exec(x, b) = f alse) ∨ (s ∈
Nloop ∧ exec(s, b) = f alse)).</p>
        <p>The following operations allow to resolve splitting choice violation:
1. Remove A from process model
2. Remove all the branches which do not contain B
3. Add B to every branch in the choice block
4. Add B in between A and the block, directly after A
5. Add B directly after the block
6. Move A to the branch with B directly before B
7. Move B in between A and the block, directly after A
8. Move B directly after the block
5.4</p>
      </sec>
      <sec id="sec-5-2">
        <title>Lack of Activity</title>
        <p>A process model is not compliant with rule A leads to B if it has at least
one occurrence of A and no occurrence of B. Consider a compliance rule Receive
purchase order leads to Close purchase order. Checking the process model
fragment in Fig. 5 against this rule, we see that this rule is violated, since it is missing
in the process model.</p>
        <p>Definition 13. Process model has a violation of compliance rule A leads to
B and this violation is of type lack of activity if the PST for this model contains
node a corresponding to activity A and for a there is no corresponding occurrence
of activity B.</p>
        <p>The following operations allow to resolve lack of activity violation:</p>
        <sec id="sec-5-2-1">
          <title>1. Remove A from process model 2. Add B directly after A</title>
          <p>6</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Resolution Context</title>
      <p>In the previous section we have discussed alternative violation resolutions.
Meanwhile, we have not considered how to choose the appropriate operation in a
particular case. This choice is driven by the resolution context. In this section we
aim at formalizing the context notion and illustrating its influence.
Definition 14. The resolution context C is a 7-tuple
(Nact, A, T, type, cont∈T , pret∈T , postt∈T ), where:
◦ Nact is the set activities
◦ A is the set of objects, which define model aspects
◦ T is the set of aspect types
◦ type : A → T is the function relating each object to a particular aspect
◦ cont∈T : {a : ∀a ∈ A, type(a) = t} × {a : ∀a ∈ A, type(a) = t} is the relation
between two objects, indicating their contradiction
◦ pret∈T ⊆ Nact × {a : ∀a ∈ A, type(a) = t} is the relation defining the
prerequisites of activity execution in terms of aspects
◦ postt∈T ⊆ Nact × {a : ∀a ∈ A, type(a) = t} is the relation defining the result
of activity execution in terms of aspects.</p>
      <p>One aspect of a context is a tuple (Nact, At, t, type, cont, pret, postt), where t ∈
T ∧ At = {a : a ∈ A, type(a) = t}.</p>
      <p>Definition 14 captures aspects with three elements: sets A and T and function
type. Set A is the set of objects, describing the business environment from a
certain perspective, e.g. dependencies of activities on data objects, activities
execution constraints, or their semantic annotations. Set T consists of object types; an
example is T = {controlF low, dataF low, semanticAnnotation}. Function type
specifies a type (element of set T ) for an element of A. Typification of objects
allows distinguishing aspects, e.g. distinguishing a data flow from a semantic
description of a process. Relation con shows which objects from A contradict
each other. A context example with one aspect for a process model in Fig. 1
is the following: Nact = {Confirm order, Get notification, Go to check out, Pay
by cash, Provide address, Provide credit card data, Receive goods}, A = Nact,
T ={CF}, ∀n ∈ Nacttype(n) = CF, conCF ={(Provide credit card data, Pay
by cash)}, preCF ={(Provide address, Go to check out ), (Confirm order, Go to
check out ), (Receive goods, Confirm order ), (Receive notification, Confirm
order )}, postCF = ∅.</p>
      <p>Let us look at the examples, illustrating the influence of a context on the
resolution. In the example we refer to the fragment in Fig. 1. The fragment is
evaluated against two compliance rules: Go to checkout leads to Provide credit
card data and Go to checkout leads to Get notification. A thorough inspection
reveals that both compliance rules are violated. Furthermore, both violations
are of the same type splitting choice.</p>
      <p>The original business process violates Go to checkout leads to Provide credit
card data rule, providing the customer the alternative form of payment (i.e.
paying by cash on delivery). At first blush the violation can be fixed with any of
the strategies proposed by splitting choice pattern. For instance, the activities
on the upper branch can be moved to the position before the block. According
to the resolution context, the resulting resolution makes the process inconsistent
because the two contradicting activities Provide credit card data and Pay by cash
appear in sequence. Thus, the violation requires a resolution preserving exactly
one required payment option and the corresponding process completion. The
most suitable strategy is to remove all the branches alternative to the credit
card payment. This makes the business process compliant with the rule and
rational at the same time. Fig. 7(a) presents the result of this transformation.</p>
      <p>Let us refer to the violation of the second rule. The business process in the
example is not compliant with the rule, since the customer receives a
notification only if “pay on delivery” method is selected. Although this violation has
the same type as in the first example, the resolution strategy employed in the
previous case is inappropriate here: a removal of one branch means that only one
payment method is accepted. This effect is undesired as this resolution restricts
the business process logic too much. Both alternative process evolutions have to
be preserved, while a notification delivery should be included in both. Thus, in
this case an occurrence of activity Get notification is added to the upper branch
after activity confirm order, so that pre relation holds. The result of a violation
resolution is presented in Fig. 7(b).</p>
      <p>It is obvious how the availability of the resolution context affects the choice
of the resolution strategy. With several resolution strategies applicable, one can
choose the strategy with the least change in the process structure, yet consistent
with the context.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusions and Future Work</title>
      <p>In this paper we attempted to address the problem of resolving compliance
violations systematically. The problem is extremely complex and, thus, we started
with the problem definition. We scoped our work, narrowing the type of
addressed rules to execution order compliance rules and setting up the number of
important assumptions. We assumed that we can learn a pair of activities which
causes a violation and that violations can be resolved independently. Another
important assumption is that process models are structured workflows.</p>
      <p>The main contribution of this paper are a) the catalog of violation patterns,
capturing all possible violation types and proposing resolution operations and b)
the notion of a resolution context, which drives the choice of a suitable operation.</p>
      <p>The violation patterns and the resolution context are perceived by us as the
basis for the future work: they formalize the knowledge a human expert employs
during violation resolution. Therefore, in the next steps we aim at developing
algorithms enabling the choice of resolution strategies basing on the context.
Another interesting question is to what extent the automatic resolution is possible,
i.e. what kinds of violations can be automatically fixed and which can not.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A.</given-names>
            <surname>Awad</surname>
          </string-name>
          , G. Decker, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>Efficient Compliance Checking Using BPMNQ and Temporal Logic</article-title>
          .
          <source>In BPM</source>
          , volume
          <volume>5240</volume>
          <source>of LNCS</source>
          , pages
          <fpage>326</fpage>
          -
          <lpage>341</lpage>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A.</given-names>
            <surname>Awad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polyvyanyy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>Semantic querying of business process models</article-title>
          .
          <source>In EDOC</source>
          , pages
          <fpage>85</fpage>
          -
          <lpage>94</lpage>
          . IEEE Computer Society,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Awad</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>Visualization of Compliance Violation Using Antipatterns</article-title>
          .
          <source>Technical Report 2</source>
          , Business Process Technology Group at Hasso Plattner Institute,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>M.</given-names>
            <surname>El Kharbili</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Stein</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Markovic</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Pulvermu</surname>
          </string-name>
          <article-title>¨ller. Towards a Framework for Semantic Business Process Compliance Management</article-title>
          .
          <source>In GRCIS</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          . CEUR-WS.org,
          <year>June 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>A. F</surname>
          </string-name>
          <article-title>¨orster</article-title>
          , G. Engels,
          <string-name>
            <given-names>T.</given-names>
            <surname>Schattkowsky</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. Van Der</given-names>
            <surname>Straeten</surname>
          </string-name>
          .
          <article-title>Verification of Business Process Quality Constraints Based on Visual Process Patterns</article-title>
          .
          <source>In TASE</source>
          , pages
          <fpage>197</fpage>
          -
          <lpage>208</lpage>
          . IEEE Computer Society,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghose</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Koliadis. Auditing Business Process Compliance. In</surname>
          </string-name>
          <string-name>
            <surname>ICSOC</surname>
          </string-name>
          , volume
          <volume>4749</volume>
          <source>of LNCS</source>
          , pages
          <fpage>169</fpage>
          -
          <lpage>180</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>S.</given-names>
            <surname>Goedertier</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanthienen</surname>
          </string-name>
          .
          <article-title>Compliant and Flexible Business Processes with Business Rules</article-title>
          .
          <source>In BPMDS</source>
          , volume
          <volume>236</volume>
          <source>of CEUR Workshop Proceedings. CEURWS.org</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>S.</given-names>
            <surname>Goedertier</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanthienen</surname>
          </string-name>
          .
          <article-title>Designing Compliant Business Processes from Obligations and Permissions</article-title>
          .
          <source>In BPD</source>
          , volume
          <volume>4103</volume>
          <source>of LNCS</source>
          , pages
          <fpage>5</fpage>
          -
          <lpage>14</lpage>
          . Springer Verlag,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>G.</given-names>
            <surname>Governatori</surname>
          </string-name>
          and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Milosevic</surname>
          </string-name>
          .
          <article-title>Dealing with Contract Violations: Formalism and Domain Specific Language</article-title>
          .
          <source>In EDOC</source>
          , pages
          <fpage>46</fpage>
          -
          <lpage>57</lpage>
          . IEEE Computer Society,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>G.</given-names>
            <surname>Governatori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Milosevic</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Sadiq</surname>
          </string-name>
          .
          <article-title>Compliance Checking between Business Processes and Business Contracts</article-title>
          .
          <source>In EDOC</source>
          , pages
          <fpage>221</fpage>
          -
          <lpage>232</lpage>
          , Washington, DC, USA,
          <year>2006</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>T.</given-names>
            <surname>Hartman</surname>
          </string-name>
          .
          <article-title>The Cost of Being Public in the Era of Sarbanes-Oxley</article-title>
          . [Chicago, Ill.] : Foley &amp; Lardner,
          <string-name>
            <surname>June</surname>
          </string-name>
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>R.</given-names>
            <surname>Johnson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Pearson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Pingali</surname>
          </string-name>
          .
          <article-title>The Program Structure Tree: Computing Control Regions in Linear Time</article-title>
          . SIGPLAN Not.,
          <volume>29</volume>
          (
          <issue>6</issue>
          ):
          <fpage>171</fpage>
          -
          <lpage>185</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>R.</given-names>
            <surname>Liu</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Kumar</surname>
          </string-name>
          .
          <article-title>An Analysis and Taxonomy of Unstructured Workflows</article-title>
          .
          <source>In BPM</source>
          , pages
          <fpage>268</fpage>
          -
          <lpage>284</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>R.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sadiq</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Governatori. Compliance Aware Business Process</surname>
          </string-name>
          <article-title>Design</article-title>
          .
          <source>In BPM Workshops</source>
          , volume
          <volume>4928</volume>
          <source>of LNCS</source>
          , pages
          <fpage>120</fpage>
          -
          <lpage>131</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>R.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sadiq</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Governatori</surname>
          </string-name>
          .
          <article-title>Measurement of Compliance Distance in Business Processes</article-title>
          . Inf. Sys. Manag.,
          <volume>25</volume>
          (
          <issue>4</issue>
          ):
          <fpage>344</fpage>
          -
          <lpage>355</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lui</surname>
          </string-name>
          , S. Mu¨ller, and
          <string-name>
            <given-names>K.</given-names>
            <surname>Xu</surname>
          </string-name>
          .
          <article-title>A Static Compliance-checking Framework for Business Process Models</article-title>
          .
          <source>IBM SYSTEMS JOURNAL</source>
          ,
          <volume>46</volume>
          (
          <issue>2</issue>
          ):
          <fpage>335</fpage>
          -
          <lpage>362</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. L. T. Ly, K. G¨oser, S. Rinderle-Ma, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Dadam</surname>
          </string-name>
          .
          <article-title>Compliance of Semantic Constraints-A Requirements Analysis for Process Management Systems</article-title>
          . In GRCIS, pages
          <fpage>16</fpage>
          -
          <lpage>30</lpage>
          . CEUR-WS.org,
          <year>June 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Milosevic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sadiq</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Orlowska</surname>
          </string-name>
          .
          <article-title>Translating Business Contract into Compliant Business Processes</article-title>
          .
          <source>In EDOC</source>
          , pages
          <fpage>211</fpage>
          -
          <lpage>220</lpage>
          . IEEE Computer Society,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>K.</given-names>
            <surname>Namiri</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Stojanovic</surname>
          </string-name>
          .
          <article-title>Pattern-Based Design and Validation of Business Process Compliance</article-title>
          .
          <source>In OTM Conferences</source>
          , volume
          <volume>4803</volume>
          <source>of LNCS</source>
          , pages
          <fpage>59</fpage>
          -
          <lpage>76</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>S.</given-names>
            <surname>Rinderle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Dadam</surname>
          </string-name>
          .
          <article-title>Evaluation of Correctness Criteria for Dynamic Workflow Changes</article-title>
          .
          <source>In BPM</source>
          , volume
          <volume>2678</volume>
          <source>of LNCS</source>
          , pages
          <fpage>41</fpage>
          -
          <lpage>57</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. S. Sadiq, G. Governatori, and
          <string-name>
            <given-names>K.</given-names>
            <surname>Namiri</surname>
          </string-name>
          .
          <article-title>Modeling Control Objectives for Business Process Compliance</article-title>
          .
          <source>In BPM</source>
          , volume
          <volume>4714</volume>
          <source>of LNCS</source>
          , pages
          <fpage>149</fpage>
          -
          <lpage>164</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
            and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Basten</surname>
          </string-name>
          .
          <article-title>Inheritance of Workflows: an Approach to Tackling Problems Related to Change</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <volume>270</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>125</fpage>
          -
          <lpage>203</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>J. Vanhatalo</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>V¨olzer, and</article-title>
          <string-name>
            <given-names>F.</given-names>
            <surname>Leymann</surname>
          </string-name>
          .
          <article-title>Faster and More Focused Control-Flow Analysis for Business Process Models Through SESE Decomposition</article-title>
          .
          <source>In ICSOC</source>
          , volume
          <volume>4749</volume>
          <source>of LNCS</source>
          , pages
          <fpage>43</fpage>
          -
          <lpage>55</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Rinderle-Ma</surname>
          </string-name>
          .
          <article-title>Change Patterns and Change Support Features - Enhancing Flexibility in Process-aware Information Systems</article-title>
          . Data Knowl. Eng.,
          <volume>66</volume>
          (
          <issue>3</issue>
          ):
          <fpage>438</fpage>
          -
          <lpage>466</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>J. Yu</surname>
            ,
            <given-names>T. P.</given-names>
          </string-name>
          <string-name>
            <surname>Manh</surname>
            , J. Han,
            <given-names>Y</given-names>
          </string-name>
          . Jin, H. Y.,
          <article-title>and</article-title>
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>Pattern Based Property Specification and Verification for Service Composition</article-title>
          .
          <source>In WISE</source>
          , volume
          <volume>4255</volume>
          <source>of LNCS</source>
          , pages
          <fpage>156</fpage>
          -
          <lpage>168</lpage>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>