<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Towards Resolving Compliance Violations in Business Process Models</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Ahmed</forename><surname>Awad</surname></persName>
							<email>ahmed.awad@hpi.uni-potsdam.de</email>
							<affiliation key="aff0">
								<orgName type="department">Business Process Technology Group Hasso Plattner Institute</orgName>
								<orgName type="institution">University of Potsdam</orgName>
								<address>
									<postCode>D-14482</postCode>
									<settlement>Potsdam</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Sergey</forename><surname>Smirnov</surname></persName>
							<email>sergey.smirnov@hpi.uni-potsdam.de</email>
							<affiliation key="aff0">
								<orgName type="department">Business Process Technology Group Hasso Plattner Institute</orgName>
								<orgName type="institution">University of Potsdam</orgName>
								<address>
									<postCode>D-14482</postCode>
									<settlement>Potsdam</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Mathias</forename><surname>Weske</surname></persName>
							<email>mathias.weske@hpi.uni-potsdam.de</email>
							<affiliation key="aff0">
								<orgName type="department">Business Process Technology Group Hasso Plattner Institute</orgName>
								<orgName type="institution">University of Potsdam</orgName>
								<address>
									<postCode>D-14482</postCode>
									<settlement>Potsdam</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Towards Resolving Compliance Violations in Business Process Models</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">E13C3EE4260E79A69B78CD69196731B6</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T10:48+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>business process modeling</term>
					<term>compliance checking</term>
					<term>process model parsing</term>
					<term>process model restructuring</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><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 <ref type="bibr" target="#b10">[11]</ref>. 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 <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b9">10,</ref><ref type="bibr" target="#b15">16]</ref>. The problem of violation visualization was addressed in <ref type="bibr" target="#b2">[3]</ref>, 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 <ref type="bibr" target="#b5">[6]</ref>). 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 <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b2">3]</ref>.</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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related Work</head><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. <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8,</ref><ref type="bibr" target="#b13">14,</ref><ref type="bibr" target="#b17">18,</ref><ref type="bibr" target="#b18">19]</ref> 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. <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b4">5,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b24">25]</ref> consider this problem. Following this approach the authors of <ref type="bibr" target="#b8">[9,</ref><ref type="bibr" target="#b9">10]</ref> use business contracts as a source of compliance rules. To formalize compliance rules Formal Contract Language (FCL) is used. <ref type="bibr" target="#b20">[21]</ref> 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 <ref type="bibr" target="#b14">[15]</ref>. 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 <ref type="bibr" target="#b16">[17]</ref> 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 <ref type="bibr" target="#b3">[4]</ref>. Among other requirements, the authors discuss compliance enforceability. In this context they perceive the violation 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 <ref type="bibr" target="#b5">[6]</ref> 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 <ref type="bibr" target="#b21">[22]</ref> provides valuable information. In <ref type="bibr" target="#b19">[20]</ref> the authors described adaptations correctness criteria, guiding the change operations. Recently, a set of change patterns has been discussed in <ref type="bibr" target="#b23">[24]</ref> along with the discussion of changes correctness.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Problem Definition</head><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 <ref type="bibr" target="#b0">[1]</ref>, 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. <ref type="figure" target="#fig_0">1</ref>. 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:</p><p>Add introduces a new fragment to a business process model. Remove deletes a fragment, which presents in an initial business process model.</p><p>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. <ref type="figure" target="#fig_0">1</ref>. 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:</p><p>• 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. <ref type="figure" target="#fig_0">1</ref>, 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 <ref type="bibr" target="#b1">[2]</ref> 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><formula xml:id="formula_0">C B D A</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fig. 2. Allowed loop fragment</head><p>Graph-based modeling notations allow creation of models with an arbitrary structure. We assume that process models are structured workflows. <ref type="bibr" target="#b12">[13]</ref> defines a structured 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. <ref type="figure">2</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Preliminaries</head><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 <ref type="bibr" target="#b22">[23]</ref>. 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 <ref type="bibr" target="#b11">[12,</ref><ref type="bibr" target="#b22">23]</ref>. 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 <ref type="bibr" target="#b22">[23]</ref> we consider a maximal sequence of nodes to be a canonical SESE region. If the node set of SESE fragment f 1 is the subset of the node set of SESE fragment f 2 , then f 1 is the child of f 2 and f 2 is the parent of f 1 . If f 1 is the child of f 2 and there is no f 3 , such that f 3 is the child of f 2 and f 3 is the parent of f 1 , f 1 is the direct child of f 2 . 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. 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:</p><p>• N is a finite set of nodes, where nodes correspond to canonical SESE fragments • r ∈ N is the root of the tree where a, p ∈ N act .</p><formula xml:id="formula_1">• E ⊆(N × (N \{r}))</formula><p>Since a tree has no cycles, a path between two nodes is a unique node sequence.</p><formula xml:id="formula_2">Definition 4. A path between two nodes n 0 , n k ∈ N , is a sequence of nodes path(n 0 , n k ) = (n 0 , n 1 , . . . , n k ) where (n i , n i+1 ) ∈ E, 0 ≤ i &lt; k.</formula><p>If there is no path between n 0 and n k we denote it with path(n 0 , n k ) = ⊥. We write n ∈ path(n 0 , n k ) to express the fact that n lies on the path from n 0 to n k .</p><p>Definition 5 formalizes the notion of the least common parent for two nodes.</p><p>Definition 5. The least common parent of two nodes n, m ∈ N in tree</p><formula xml:id="formula_3">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 ))}.</formula><p>If a node is of type seq the execution order for its direct children is defined.</p><p>Definition 6. The order of execution of node n ∈ N with respect to node p ∈ N seq is a function: order : N seq × 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 ∈ N seq is a function:</p><formula xml:id="formula_4">order * : N seq × N → N, defined as follows if path(p, n) = ⊥: order * (p, n) = order(p, n) , if (p, n) ∈ E, order(p, k) , where (p, k) ∈ E ∧ k ∈ path(p, n), if (p, n) ∈ E.</formula><p>Then, the execution order compliance rules can be expressed as follows.</p><p>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)</p><formula xml:id="formula_5">∀a ∈ N a ∃x ∈ N : t(lcp(a, x)) = seq∧order * (lcp(a, x), a) &lt; order * (lcp(a, x), x)∧ exec t(x) (x, b) = true.</formula><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. 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Catalog of Violation Patterns</head><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 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Inverse Order</head><p>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. <ref type="figure" target="#fig_2">3(b</ref>) 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. <ref type="figure" target="#fig_2">3(a</ref> In general, inverse order violation can be fixed with one of the following operations: </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Different Branches</head><p>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. <ref type="figure">4(a)</ref>).</p><p>The example of different branches violation is shown in Fig. <ref type="figure">4(b)</ref>. 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. The following operations resolve the violation:</p><p>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)</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">Splitting Choice</head><p>This violation pattern can be motivated by the following example. Assume we have a business process, containing the fragment presented in Fig. <ref type="figure">5</ref>. 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 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. 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. <ref type="figure">6</ref>). Thus, the process model provides an option not to execute B, once A is executed. </p><formula xml:id="formula_6">) : x ∈ N or ∪ N xor ∪ N loop ∧ exec(x, b) = f alse) ∨ (s ∈ N loop ∧ exec(s, b) = f alse)).</formula><p>The following operations allow to resolve splitting choice violation:</p><p>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</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.4">Lack of Activity</head><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. <ref type="figure">5</ref> 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><p>1. Remove A from process model 2. Add B directly after A</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Resolution Context</head><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. of activity execution in terms of aspects. One aspect of a context is a tuple (N act , A t , t, type, con t , pre t , post t ), where t ∈ T ∧ A t = {a : a ∈ A, type(a) = t}. 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. <ref type="figure" target="#fig_0">1</ref> is the following: N act = {Confirm order, Get notification, Go to check out, Pay by cash, Provide address, Provide credit card data, Receive goods}, A = N act , 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. <ref type="figure" target="#fig_0">1</ref>. 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. <ref type="figure" target="#fig_9">7</ref>(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. <ref type="figure" target="#fig_9">7</ref></p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>(b).</head><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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Conclusions and Future Work</head><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></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Fragment of a process model "Buy goods in electronic shop"</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Definition 9 .</head><label>9</label><figDesc>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 ∈ N b ∃x ∈ N : t(lcp(b, x)) = seq ∧ order * (lcp(b, x), x) &lt; order * (lcp(b, x), b) ∧ exec t(x) (x, a) = true.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 3 .</head><label>3</label><figDesc>Fig.3. Inverse order violation 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.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.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head></head><label></label><figDesc>) 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).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>1 .Fig. 4 .</head><label>14</label><figDesc>Fig. 4. Different branches violation</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Definition 11 .</head><label>11</label><figDesc>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}.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 5 . 2 Fig. 6 .</head><label>526</label><figDesc>Fig. 5. Example of splitting choice violation</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Definition 12 .</head><label>12</label><figDesc>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 ∈ N seq ∧ ∃x ∈ path(lcp(a, b), b</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head></head><label></label><figDesc>(N act , A, T, type, con t∈T , pre t∈T , post t∈T ), where: • N act 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 • con t∈T : {a : ∀a ∈ A, type(a) = t} × {a : ∀a ∈ A, type(a) = t} is the relation between two objects, indicating their contradiction • pre t∈T ⊆ N act × {a : ∀a ∈ A, type(a) = t} is the relation defining the prerequisites of activity execution in terms of aspects • post t∈T ⊆ N act × {a : ∀a ∈ A, type(a) = t} is the relation defining the result</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_9"><head>Fig. 7 .</head><label>7</label><figDesc>Fig. 7. Resolution strategies for violations of different compliance rules</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>is the set of edges. Let tree nodes n 1 , n 2 ∈ N correspond to SESE fragments f 1 and f 2 , respectively. An edge leads from n 1 to n 2 if SESE fragment f 1 is the direct parent of f 2 • 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, orblocks of corresponding type, loop-fragments described in Definition 1 • N &lt;type&gt; ⊆ N denotes the set of nodes with specific type, e.g. N seq are the nodes of type seq.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 N a ⊆ 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. 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; ×N act → {true, f alse} is defined as:</figDesc><table><row><cell>exec xor (p, a) =</cell><cell>true, if ∀x:(p,x)∈E exec t(x) (x, a) = true, f alse, otherwise.</cell></row><row><cell>exec or (p, a) =</cell><cell>true, if ∀x:(p,x)∈E exec t(x) (x, a) = true, f alse, otherwise.</cell></row></table><note>where p ∈ N xor and a ∈ N act . where p ∈ N or and a ∈ N act . exec and (p, a) = true, if ∀x:(p,x)∈E exec t(x) (x, a) = true, f alse, otherwise. where p ∈ N and and a ∈ N act . exec seq (p, a) = true, if ∀x:(p,x)∈E exec t(x) (x, a) = true, f alse, otherwise. where p ∈ N seq and a ∈ N act . exec loop (p, a) =    true, if for the direct child node x of p laying on its mandatory branch holds exec t(x) (x, a) = true, f alse, otherwise. where p ∈ N loop and a ∈ N act . exec act (p, a) = true, if p ∈ N a , f alse, otherwise.</note></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">Proceedings of GRCIS 2009</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Efficient Compliance Checking Using BPMN-Q and Temporal Logic</title>
		<author>
			<persName><forename type="first">A</forename><surname>Awad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Decker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Weske</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">BPM</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">5240</biblScope>
			<biblScope unit="page" from="326" to="341" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Semantic querying of business process models</title>
		<author>
			<persName><forename type="first">A</forename><surname>Awad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Polyvyanyy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Weske</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">EDOC</title>
		<imprint>
			<biblScope unit="page" from="85" to="94" />
			<date type="published" when="2008">2008</date>
			<publisher>IEEE Computer Society</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Visualization of Compliance Violation Using Antipatterns</title>
		<author>
			<persName><forename type="first">A</forename><surname>Awad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Weske</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
		<respStmt>
			<orgName>Business Process Technology Group at Hasso Plattner Institute</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report 2</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Towards a Framework for Semantic Business Process Compliance Management</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">El</forename><surname>Kharbili</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Stein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Markovic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Pulvermüller</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">GRCIS</title>
				<imprint>
			<date type="published" when="2008-06">June 2008</date>
			<biblScope unit="page" from="1" to="15" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Verification of Business Process Quality Constraints Based on Visual Process Patterns</title>
		<author>
			<persName><forename type="first">A</forename><surname>Förster</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Engels</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Schattkowsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Van Der Straeten</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">TASE</title>
		<imprint>
			<biblScope unit="page" from="197" to="208" />
			<date type="published" when="2007">2007</date>
			<publisher>IEEE Computer Society</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Auditing Business Process Compliance</title>
		<author>
			<persName><forename type="first">A</forename><surname>Ghose</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Koliadis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICSOC</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">4749</biblScope>
			<biblScope unit="page" from="169" to="180" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Compliant and Flexible Business Processes with Business Rules</title>
		<author>
			<persName><forename type="first">S</forename><surname>Goedertier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vanthienen</surname></persName>
		</author>
		<ptr target="WS.org" />
	</analytic>
	<monogr>
		<title level="m">BPMDS</title>
		<title level="s">CEUR Workshop Proceedings. CEUR-</title>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">236</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Designing Compliant Business Processes from Obligations and Permissions</title>
		<author>
			<persName><forename type="first">S</forename><surname>Goedertier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vanthienen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">BPD</title>
				<imprint>
			<publisher>Springer Verlag</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">4103</biblScope>
			<biblScope unit="page" from="5" to="14" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m" type="main">Dealing with Contract Violations: Formalism and Domain Specific Language</title>
		<author>
			<persName><forename type="first">G</forename><surname>Governatori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Milosevic</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2005">2005</date>
			<publisher>IEEE Computer Society</publisher>
			<biblScope unit="page" from="46" to="57" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Compliance Checking between Business Processes and Business Contracts</title>
		<author>
			<persName><forename type="first">G</forename><surname>Governatori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Milosevic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sadiq</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
			<publisher>IEEE Computer Society</publisher>
			<biblScope unit="page" from="221" to="232" />
			<pubPlace>Washington, DC, USA</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">The Cost of Being Public in the Era of Sarbanes-Oxley</title>
		<author>
			<persName><forename type="first">T</forename><surname>Hartman</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006-06">June 2006</date>
			<publisher>Foley &amp; Lardner</publisher>
			<pubPlace>Chicago, Ill</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">The Program Structure Tree: Computing Control Regions in Linear Time</title>
		<author>
			<persName><forename type="first">R</forename><surname>Johnson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Pearson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Pingali</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIGPLAN Not</title>
		<imprint>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="171" to="185" />
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">An Analysis and Taxonomy of Unstructured Workflows</title>
		<author>
			<persName><forename type="first">R</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Kumar</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">BPM</title>
		<imprint>
			<biblScope unit="page" from="268" to="284" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Compliance Aware Business Process Design</title>
		<author>
			<persName><forename type="first">R</forename><surname>Lu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sadiq</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Governatori</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">BPM Workshops</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">4928</biblScope>
			<biblScope unit="page" from="120" to="131" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Measurement of Compliance Distance in Business Processes</title>
		<author>
			<persName><forename type="first">R</forename><surname>Lu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sadiq</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Governatori</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Inf. Sys. Manag</title>
		<imprint>
			<biblScope unit="volume">25</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="344" to="355" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">A Static Compliance-checking Framework for Business Process Models</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Lui</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Müller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Xu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IBM SYSTEMS JOURNAL</title>
		<imprint>
			<biblScope unit="volume">46</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="335" to="362" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Compliance of Semantic Constraints-A Requirements Analysis for Process Management Systems</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">T</forename><surname>Ly</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Göser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Rinderle-Ma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Dadam</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">GR-CIS</title>
				<imprint>
			<date type="published" when="2008-06">June 2008</date>
			<biblScope unit="page" from="16" to="30" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<title level="m" type="main">Translating Business Contract into Compliant Business Processes</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Milosevic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sadiq</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Orlowska</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
			<publisher>IEEE Computer Society</publisher>
			<biblScope unit="page" from="211" to="220" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Pattern-Based Design and Validation of Business Process Compliance</title>
		<author>
			<persName><forename type="first">K</forename><surname>Namiri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Stojanovic</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">OTM Conferences</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">4803</biblScope>
			<biblScope unit="page" from="59" to="76" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Evaluation of Correctness Criteria for Dynamic Workflow Changes</title>
		<author>
			<persName><forename type="first">S</forename><surname>Rinderle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Reichert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Dadam</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">BPM</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">2678</biblScope>
			<biblScope unit="page" from="41" to="57" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Modeling Control Objectives for Business Process Compliance</title>
		<author>
			<persName><forename type="first">S</forename><surname>Sadiq</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Governatori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Namiri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">BPM</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">4714</biblScope>
			<biblScope unit="page" from="149" to="164" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Inheritance of Workflows: an Approach to Tackling Problems Related to Change</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M P</forename><surname>Van Der Aalst</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Basten</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theor. Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">270</biblScope>
			<biblScope unit="issue">1-2</biblScope>
			<biblScope unit="page" from="125" to="203" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Faster and More Focused Control-Flow Analysis for Business Process Models Through SESE Decomposition</title>
		<author>
			<persName><forename type="first">J</forename><surname>Vanhatalo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Völzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Leymann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICSOC</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">4749</biblScope>
			<biblScope unit="page" from="43" to="55" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Change Patterns and Change Support Features -Enhancing Flexibility in Process-aware Information Systems</title>
		<author>
			<persName><forename type="first">B</forename><surname>Weber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Reichert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Rinderle-Ma</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Data Knowl. Eng</title>
		<imprint>
			<biblScope unit="volume">66</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="438" to="466" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Pattern Based Property Specification and Verification for Service Composition</title>
		<author>
			<persName><forename type="first">J</forename><surname>Yu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">P</forename><surname>Manh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Han</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Jin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">Y</forename></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Wang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">WISE</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">4255</biblScope>
			<biblScope unit="page" from="156" to="168" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
