<!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>On Process Rewriting for Business Process Security</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Freiburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>111</fpage>
      <lpage>126</lpage>
      <abstract>
        <p>This paper reports on ongoing work towards a framework to automatically rewrite business process models and, thereby, correctively enforce adherence to regulatory compliance and security policies. Specifically, the paper first motivates the need for rewriting mechanisms as a means to enforce a particular class of properties. Second, it describes the main building blocks of ReWrite, the framework to automatically rewriting process specifications. Third, in order to preserve the functional goals of the processes upon rewriting, a set of congruence relations is defined and their appropriateness is discussed. The presentation of the formal framework and rewriting algorithms is deferred to the full paper version.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Ensuring the compliance of business processes to regulations and security policies
is of utmost importance in business process management [
        <xref ref-type="bibr" rid="ref1 ref31">1, 31</xref>
        ]. Approaches to
assess compliance can be classified into [
        <xref ref-type="bibr" rid="ref25 ref8">8, 25</xref>
        ]: (1) forward compliance checking
aims to design and implement processes where conforming behavior is enforced
and (2) backward compliance checking aims to detect and localize non-conforming
behavior. This paper focuses on forward compliance checking based on business
process models and policies. In this setting, previous work addresses the
annotation of business processes [
        <xref ref-type="bibr" rid="ref15 ref23">15, 23</xref>
        ], requirements elicitation [
        <xref ref-type="bibr" rid="ref10 ref11 ref26">11, 10, 26</xref>
        ] and formal
verification [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref6">2–4, 6</xref>
        ]. None of the previous work has considered the intersection
of rewriting techniques for programs and the corrective enforcement of business
processes compliance. This paper sets out to investigate this connection.
      </p>
      <p>Specifically, this paper starts by motivating the need for rewriting
mechanisms as a means to enforce a class of complex safety properties which encompass
compliance requirements. In contrast to previous works, which merely present
the challenge of enforcing compliance, this paper formally substantiates the need
for rewriting using formal enforcement theories of computer security. By doing
so, one establishes the relationship between the class of properties and the
corresponding enforcement mechanisms needed to guarantee these properties.</p>
      <p>Based on this, the paper further presents the building blocks and examples of
the framework ReWrite to automatically rewrite business processes specifications
and, thereby, ensure compliance with pertinent policies. The overall approach is
depicted in Fig. 1. The key insight is to split responsibilities during the modeling
phase and focus on the core competencies of each actor: the business experts
design a process model (e.g. using BPMN or BPMN) and compliance experts
design the compliance policy (i.e. description of applicable controls) and denote
the processes to which they apply. The goal of ReWrite is to take process and
policy specifications as input and produce an executable process model which
complies to the policy.</p>
      <p>Clearly, modifying the
structure of the process may lead
to a specification that does not
achieve the business goals
designated for that process. To
circumvent this issue while still
allowing for rewriting, one must
define similarity relations between
the original and the modified
processes in terms of execution traces
their produce: only modifications
that preserve the similarity rela- Fig. 1. ReWrite approach.
tion are appropriate. These
relations are, however, not characterized in the literature. This paper defines and
investigates the adequacy of four congruence relations. Initial investigations
carried out with ReWrite show that rewriting operators – append, delete and replace
activities in process models – can be supported by such relations, thereby
allowing for effective rewriting algorithms.</p>
      <p>Taking stock, this paper provides the following contributions:
– Establishes the relationship between the compliance requirements, the
underlying formal properties and the enforcement mechanisms. In particular, it
shows a class of properties that can only be enforced using process rewriting
and that process rewriting can enforce all other kinds of properties.
– Presents the main building blocks of ReWrite. Specifically, it presents μBPMN,
a Turing complete fragment of BPMN to express business processes and a
meta-model for the expression of compliance policies. An example will
illustrate the interplay of these requirements for rewriting.
– Defines four congruence relations to guarantee the compliance with
requirements while preserving the business (functional) goal of the process and
discusses their adequacy for rewriting.
– Reports on ongoing implementation of the ReWrite framework “as-a-service”
and describes how its evaluation will be conducted.</p>
      <p>
        The rewriting framework proposed in this paper can be used in three
dimensions and timepoints along the business process management lifecycle. Firstly,
before the process execution to ensure compliance “by design”. Here, if one
assumes that process are stable and faithfully executed by the business process
management system, then rewriting is capable of enforcing the designated class
(a)
(b)
of compliance properties. Secondly, during the execution for corrective
enforcement. In this setting, an execution monitor with rewriting capabilities is needed
to enforce properties. While this dimension comes along with a considerable
performance overhead, it allows for flexible process whose compliance can be
guaranteed at runtime. Thirdly, after the execution as a mechanism for automated
process enhancement and re-design based upon process models reconstructed
from event logs using process mining [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
      </p>
      <p>While the foundation of ReWrite can be used in any of these perspectives
and timepoints, this paper focuses on the “by design” perspective – especially
in terms of implementation. We currently apply these techniques to re-design
reconstructed processes. Carrying over these concepts to in-line process
monitoring is subject of future work. Further, it should be remarked that the focus
of this paper is the presentation of the ReWrite framework, its building blocks
and application. Pertinent proofs for properties – e.g., the Turing completeness
μBPMN – are deferred to a longer version of the paper.</p>
      <p>Paper structure. Section 2 establishes the relationship between classes of
compliance properties and the corresponding enforcement mechanisms, thereby
motivating the need for rewriting. Section 3 introduces the main building blocks
of the rewriting approach, i.e. the process language and policies. Section 4
introduces the congruence relations and the corresponding rewriting operations.
Section 5 reports on the implementation and evaluation of the approach.
Example 1. We illustrate the high-level operation of ReWrite using an example.
Consider the process model in Fig. 2(a). It stands for a medical workflow, namely
updating the patient record. Activity A denotes a staff member inputting the
patient_ID. If the ID exists, B queries the database and C updates the database
with the updated patient record; otherwise, if there is no such an ID, D issues
an error message. In both cases, E deletes local copies of query and record.
One security policy may require that, before showing the query results, the staff
member must be authenticated and authorized to do so, which is encoded with
the activity F . Given that information, rewriting would inspect the original
model to detect whether F is at the correct place. If not, ReWrite will add F
to the process, which produces the process model depicted in Fig. 2(b). The
remainder of this paper shows how to carry out such a rewriting.</p>
    </sec>
    <sec id="sec-2">
      <title>Properties and Enforcement Mechanisms</title>
      <p>
        Non-functional properties – be it security or privacy properties, or properties
arising from compliance requirements – can be classified according to two
hierarchies: (1) the Safety-Progress based on languages used to formalize the
properties [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and (2) the Safety-Liveness based on mechanisms used to enforce the
properties [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This section argues that the enforcement of compliance
requirements demands process rewriting. It does so by revisiting these two theories.
2.1
      </p>
      <sec id="sec-2-1">
        <title>Safety-Progress Hierarchy</title>
        <p>
          Chang et al. [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] define four operators and, based upon them, six formal
languages organized in a hierarchy. Let Σ∗ be the set of all finite words over an
alphabet Σ, Σ+ the set of non-empty, finite words and Σw the set of all infinite
words over the alphabet Σ. Let Φ be a finite language, the operators are:
– A(Φ) encompasses all σ, s. t. every prefixes of σ are in Φ.
– E(Φ) encompasses all σ, s. t. some prefixes of σ are in Φ.
– R(Φ) encompasses all σ, s. t. infinite many prefixes of σ are in Φ.
– P (Φ) encompasses all σ, s. t. all but a finite number of prefixes of σ are in Φ.
With these operators at hand one can define the six languages which build, for
finite languages Φ and Ψ , the hierarchy depicted in Fig. 3.
1. Safety language: Π = A(Φ).
2. Guarantee language: Π = E(Φ).
3. Obligation language: Π = ∩im=1(A(Φi) ∪ E(Ψi)).
4. Response language: Π = R(Φ).
5. Persistence language: Π = P (Φ).
        </p>
        <p>m
6. Reactivity language: Π = ∩i=1(R(Φi) ∪ P (Ψi)).</p>
        <p>In Fig. 3, each language encompasses those
beneath it. This follows directly from the definition
of the languages. For example, the language
Obligation is built by the conjunction of the languages
Safety and Guarantee. Further, all the Safety
languages can be expressed in terms of the
Obligation language, wheras the corresponding
Guarantee part is empty (i.e. E(Ψi) = ∅)
Obligation and Guarantee. Due to the existence
operator E(Φ) the Obligation and Guarantee lan- Fig. 3. Safety-response.
guages are relevant for the formalization of security and compliance
requirements. For example, classical access control could be expressed in a way that
the required prefix – denoting the process state – is available already by during
the access decision. In this case, it can be decided that the property holds and
could be no longer violated.</p>
        <p>
          In another case, the required prefix is not at the decision time and must be
built during the further continuation of the process instance. Here, one cannot
decide whether the obligation will be fulfilled in a later point in time. The
enforcement of such property with classical access control is not possible. That is
because it cannot be decided whether the obligation will be fulfilled or not. If
at a given timepoint t one is to evaluate where a process instance is in the
Obligation language O1, then four different states are possible [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]: (1) true it can
be shown that the instance is in O1; (2) possibly true at t the instance is in O1,
but there is the possibility that the whole instance will not be in O1; (3) possibly
false at t the instance is not in O1, but it is possible that will eventually be in
the language; finally, (4) false, it can be shown that the instance is not in O1.
        </p>
        <p>The rewriting approach presented in this paper allows for the automated
enforcement of cases that evaluate to possibly false. The other cases can be
tackled with existing access control mechanisms, in that they on the one hand
prevent the transition from possibly true to false or possibly false, or if they do
not allow the execution of a false instance.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Safety-Progress Hierarchy</title>
        <p>This hierarchy is defined upon three well-known classes of preventive
enforcement mechanisms, namely: (1) static verification before the execution; (2)
runtime monitoring during the execution; and (3) rewriting before or during the
execution. In particular, each of these mechanisms can recognize and therefore
circumscribe a particular class of properties. The following formally defines the
hierarchy, which is depicted in Fig 4.</p>
        <p>
          Class Π0: Statically enforceable
properties. A policy P is statically enforceable if
there is a Turing machine MP for P that
terminates in finite time if P holds in the
process. It can be shown that the class
of enforceable security properties
corresponds to the class of recursively
decidable properties of programs, which in turn
corresponds to the arithmetic class Π0. Fig. 4. Safety-liveness hierarchy.
(See [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] for details.) Several properties can be statically verified before the
execution of a process [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. The proof of a property stating that, e.g., a (stable)
process calls exactly 30 services is trivial: enumerate and count the service calls.
Class Π1: Runtime properties. The basis for the formalization of properties of
programs which can be enforced during the execution (so-called “execution
monitoring”) is an execution machine that generates traces (sequences of events).
Given a trace, for properties that can be enforced with an execution monitor
there must be a detector that identifies their violation during the runtime. Such
a detector must exhibit the following properties [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]: (1) the property detected by
the detector is irremediably violated; (2) the detector must identify the violation
in finite time; and (3) the detector mus be recursively decidable.
The following criteria thus formally define the detector:
∀Π ∈ Ψ (Π) : P(Π) ⇒ ∀σ ∈ Π : Pˆ(σ)
∀τ 0 ∈ Ψ : ¬Pˆ(τ 0) ⇒ ∀σ ∈ Ψ : ¬Pˆ(τ 0σ)
∀σ ∈ Ψ : ¬Pˆ(σ) ⇒ ∃i : ¬Pˆ(σ[..i])
        </p>
        <p>σ 6∈ Γ ⇒ ∃i : (∀τ ∈ Ψ : σ[..i]τ 6∈ Γ )
Based upon this, it can be shown that the class of security properties enforced
by the monitor correspond to the class of co-recursively countable properties of
programs, thereby circumscribing the class Π1 of the arithmetic hierarchy.
Rewriting properties. The third class of properties in this hierarchy are those
which can be enforced with the modification of the program. The definition of
rewriting requires an adequate notion of equivalence. (See Sect. 4 for details.) For
a given equivalence relation ≈, a rewriting mechanism R is considered “adequate”
for enforcement if it exhibits the following properties:</p>
        <p>P (R(M ))</p>
        <p>P (M ) ⇒ M ≈ R(M )</p>
        <p>
          These properties express that: Eq. (5) the modified program must guarantee
the compliance with a policy; and Eq. (6) if a program complies with a policy
before the rewriting, then it also complies with if after a modification. Hamlen et
al. [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] show that there are properties which can solely be enforced with rewriting.
However, in contrast to the previous classes, the rewriting mechanism does not
corresponds to a class in the arithmetic hierarchy. That is, there is no known
definition for a set of formal languages whose words denote properties, which
can be enforced with rewriting. Conversely, it can be shown that the classes of
properties Π0 (static verification) and Π1 (runtime monitoring) can be enforced
with rewriting mechanisms.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Building Blocks: Processes Models and Policies</title>
      <p>The previous section demonstrates that there is a class of properties which
demand process rewriting for their enforcement. This section describes the
technical building blocks that serve as input to ReWrite, namely process specifications
and policies, as depicted in Fig. 1.
3.1</p>
      <p>μBPMN Syntax
Our rewriting approach considers μBPMN as the modeling language for
business processes. μBPMN is a Turing complete subset of BPMN containing its
main constructs a formal semantics. Turing completeness is insofar relevant as it
guarantees that all the computable processes can be modeled with and reasoned
about in μBPMN. The formal semantics is essential to allow the rewriting and
prove its correctness with regard to the congruence relations.
(1)
(2)
(3)
(4)
(5)
(6)</p>
      <p>
        The μBPMN syntax possesses both a graphical and an algebraic notation. The
graphic notation is the same as the corresponding of BPMN construct, whereas
only the subset of the elements depicted in Fig. 5 is considered. The algebraic
formalization is required to give semantics to the language, which is in this case
based upon π-calculus [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. (The latter is omitted in this paper.)
      </p>
      <p>
        The graphical notation of μBPMN
depicted in Fig. 5 consists of activities
(subprocesses, loops and sub-process loops)
and the gateways AND, OR and XOR,
which allow for the complete representa- Fig. 5. μBPMN language.
tion of logical constructs in the control
flow. Further, activities are linked with sequence arrows. Start and end markers
complete the subset of BPMN used in this paper. Based upon [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], we have
defined translations of μBPMN to BPEL – for execution – and workflow nets – for
reasoning, e.g. soundness.
      </p>
      <p>
        The consideration of subset of BPMN does not restrict the applicability of the
approach. First, because more complex modeling elements are seldom employed.
According to [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], process models in industry usually consist of a few activities
with complex branches. Second, because the language can be extended using the
existing building blocks, should that be required.
      </p>
      <p>Process modeled using the μBPMN are mapped a subset of the π-calculus.
Processes are thus described by a set of activities that are triggered one after
the other, provided the preconditions for their firing hold.</p>
      <p>Relevant bits of μBPMN semantics. μBPMN has an operational semantics defined
via an abstract process execution engine – mimicking the operation of existing
BPMN engines – whose function is to determine the state transitions (choice
of the next activity) and the execution environment for the process execution
(provision of runtime parameters).</p>
      <p>For the purposes of this paper, it is enough to consider a trace-based
semantics for μBPMN based upon this calculus. Let Π be a process, a path χ
of Π is defined as a sequence of input/output operations of Π upon the input
ω ∈ Σ. The set of all possible input parameters of a process Π is denoted by Γ ω;
Π(ω) → χω denotes the path triggered by inputting ω into Π, which eventually
produces the path denoted by χωΠ . Finally, ΞΠ denotes the set of all paths in a
process generated by Π(Γ ω). The congruence relations defined in Sect. 4 build
upon reductions of generated paths in order to describe the changes (rewriting)
in the process structure before the runtime. These changes are denoted as
follows: n ; χω when activity names are deleted in one path; N ; χω if activity
names are deleted in all the possible paths of Π.
3.2</p>
      <sec id="sec-3-1">
        <title>Compliance Rules</title>
        <p>and where to apply the rule in a particular scope. The control defines which set of
activities are to be triggered, as well as their order, so to ensure rule compliance.</p>
        <p>
          This structure is expressive enough to capture the so-called “usage control”
policies and, hence, the majority of regulatory compliance requirements on
automated processes [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. Generally, usage control policies refer to control flow
constraints based upon the patterns in Dwyer et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. That is, they regard,
for example, the absence, presence and cardinality of events, as well as their
interdependencies (e.g. one event as a response of the other and mutual exclusion
of event pairs). The evaluation envisaged for ReWrite considers these patterns.
        </p>
        <p>More specifically, the class diagram
depicted in Fig. 7 shows how the
compliance rules are implemented in ReWrite.</p>
        <p>The scope consists of a list of processes
to which the rule applies and one or more
XPath expressions that describe the
integration of (the controls specified in) this
rule into the set of processes. The
modality defines how the set of activities defined
in the scope are treated. These activities
can be deleted, replaced or complement
with other activities. The latter (i.e. ap- Fig. 7. Class diagram for rules.
pending) may have different modes. For
example, one can distinguish between appending before, after or during an
activity (in one execution branch of a parallel execution). Similarly, one can add
time constraints (e.g. “within three hours”) and cardinality constraints (e.g.
“exactly three times”). The controls with which the modalities are added to the
process (process rewriting) are described as fragments of the BPEL language.</p>
        <p>We define a XML schema in order to express policies rules in a machine
readable format. Figure 8 depicts a policy specified in this XML schema. This rule
applies to two processes (bpPatientReception and bpPatientInformation),
in particular their parts (loci-tag) blood pressure and weight (here we
replace the corresponding XPath expressions for simplicity). The modality-tag
insertBefore conveys that the control process must be inserted before these
loci. The control process, specified in the tag BPELFragment, can require in both
cases the authentication of users using, for instance, their employee information.
The concrete service invocation is omitted here.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Congruence Relations and Rewriting Operators</title>
      <p>This section sketches the rewriting operators necessary to ensure compliance.
While modifying processes models one must ensure that the functional
characteristics of processes are maintained. Therefore, before defining the rewriting
operators, this section sketches the congruence relations operators must fulfill.
4.1</p>
      <sec id="sec-4-1">
        <title>Congruence Relations</title>
        <p>
          Determining the semantic congruence of two arbitrary processes is a not
decidable problem [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. We define atomic operators and a stepwise approach to
changing processes which turns out to be decidable and preserve the congruence
relations. This section presents four congruence relations which are defined in
terms of process paths. Taking two processes p1 and p2, the relations are:
– Full semantic congruence: all the paths generated by the process p1 can
also be generated by the process p2. Formally: Ξp1 = Ξp2 . This relation is
unsuitable for rewriting, as its own definition prohibits modifications.
– Strong semantic congruence: all the paths of the process p1 can also be
generated by the process p2 after the reduction to common activity names.
        </p>
        <p>Formally: N = Ξp1 ∩ Ξp2 .
– Unilateral semantic congruence: the set of all paths generated by the
process p2 is a subset of the set of paths generated by p1. Formally: Ξp2 ⊂ Ξp1 .
– Weak semantic congruence: At least one path generated the process p1 is
also a path of the process p2. Formally: Ξp1 ∩ Ξp2 6= ∅.</p>
        <p>Fig. 9 illustrates these relations. For simplicity, the processes are drawn as a
simple state transition diagram (instead of μBPMN), with the dotted lines showing
a possible move in the “congruence game”. The shaded circles denote activities
that have been added to the process flow. The pictures denote examples of a
process flow that preserve the relations.</p>
        <p>Lack of space prevents us from providing the formal definition of all these
relations. Below we provide the formal definition for the strong semantic
congruence, then jumping to the rewriting operators.</p>
        <p>Definition 1. Two processes p1 and p2 are strongly semantic congruent if the
set of generated process paths after the reduction to the common names NC =
Ξp1 ∩ Ξp2 6= ∅ is identical: (NC ; Ξp1 ) = (NC ; Ξp2 ). a</p>
        <p>It is easy to show that this relation is commutative. The strong semantic
congruent relation allows changes in the process paths, as the activities names
are reduced to a set of names common to both processes. In doing so, rewriting
operators can be defined using this definition.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Rewriting Operators</title>
        <p>
          The relations introduced in Sect. 4.2 are undecidable for two arbitrary processes.
This follows from Jancar [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], who has proved that for Petri nets. His proof
can be carry over to μBPMN: for each Petri net used in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] we can build a
corresponding μBPMN process, a fact that follows from the Turing completeness
of both languages.
        </p>
        <p>Still, for rewriting to work it is necessary to guarantee that the original and
the rewritten processes are semantically congruent and that the latter indeed
Append</p>
        <p>Delete Replace
executes the controls required by the compliance policies. To achieve this in a
decidable manner, we define atomic operators for appending, deleting and
replacing activities in the process which, whenever applied in isolation or sequentially
(one after the other), guarantee that the semantic congruence holds. Due to the
lack of space, the following focuses on the “append” operator. An overview of
the congruence guarantees for all the rewriting operators is given in Table 1.
The “append” operator. The “append” operator adds (missing or required)
activities to the process model. This operator can be applied without disturbing
the semantic congruence of processes. However, the following restrictions have
to be made for the case of the unilateral and weak semantic congruence:
– If an activity has already been appended to one of the process models, then
it is impossible to append further activities to the other model without
disturbing the unilateral semantic congruence relation.
– If the two processes possess solely one common path, then appending one
activity may disturb the congruence relations.</p>
        <p>We have proved these properties for the corresponding congruence relations.
For the strong semantic congruence, the following can be shown:
Theorem 1. The append operator preserves the strong semantic congruence. a
Proof (Sketch). By appending an additional activity A to a process, then either
ΞP1 or ΞP2 are extended with further traces. The computation of NC = ΞP1 ∩
ΞP2 according to Def. 1 will, however, remove this extension (by renaming the
activities), so that the processes still fulfill the strong semantic congruence.
tu</p>
        <p>An analogous procedure can be used to demonstrate that the append
operator preserves the unilateral and the weak semantic congruence relations, as
shown in Table 1. Note that the “replace” operator is defined on the grounds of
the primitive operators “append” and “delete”.</p>
        <p>Adequacy of semantic congruence. Establishing a relationship between the
rewriting operators, congruence relations and the original business goals of a
process is not trivial. Here, one can distinguish between the adequacy of
different relations. Considering the strong semantic congruence and the “delete”
operators, for example. It is possible to remove nearly all activities of a process
and still fulfill the strong semantic congruence. Our experience shows that the
unilateral semantic congruence is the most promising relation within the ReWrite
framework. It still suffers from the problem of the “delete” operator, but not to
the same degree as the strong semantic congruence.</p>
        <p>To tackle this problem, we add the following restrictions to the framework:
(1) only activities that violate a compliance policy are deleted and, hence, should
anyway not be executed; (2) if the semantic congruence is only violated at the
same time that a compliance policy is violated, then the processes are still
congruent. It can be shown that these restrictions are necessary and sufficient to
tackle the problems arising from the “delete” operator.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Realization and Evaluation</title>
      <p>The prototypical implementation of the ReWrite framework is based upon
opensource technologies for the automation of processes with the standards of μBPMN,
BPEL and automated translations from μBPMN into BPEL and the XML tools.
This section reports on the realization of ReWrite and its envisaged evaluation.</p>
      <p>
        The ReWrite framework has been designed as a component of the Security
Workflow Analysis Toolkit (short, SWAT) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. SWAT is an Eclipse-based,
extensible toolkit for the automated, well-founded security analysis of business processes
models to analyze process models in a multitude of ways. SWAT provides for the
following features: process editing, with import and export functions; process
simulation to generate log files and configure policy violations using OpenESB
as execution platform; policy editing to specify security and compliance policies;
and workflow analysis to check whether process models comply with properties.
See [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for details.
      </p>
      <p>Figure 10 depicts the architecture
of ReWrite in SWAT. The design
strategy while integrating ReWrite into
SWAT is the “security-as-a-service”
approach. Correspondingly, the
architecture consists of two modules,
namely: (1) Modeling for process
design and policy specification; and
(2) Execution for the rewriting of
noncompliant process models and the
automated execution of processes.
Regarding (1), SWAT offers support for
process modeling in μBPMN, BPEL Fig. 10. ReWrite in SWAT.
and Petri nets, whereas for process
execution the specifications are translated into BPEL. Compliance policies are
specified using the XML editor “Oxygen”, which is embedded in SWAT. Ongoing work
is designing a policy editor and consistency checker for compliance rules.
Regarding (2), SWAT employs OpenESB as an execution platform, whereas Glassfish
acts an application server. It should be noted, though, that the actual realization
of ReWrite does not require these technologies. Ongoing work is testing with a
realization based upon jBPM.</p>
      <p>The core of rewriting is actual modification of processes. The algorithms
implementing these operators must guarantee, one the one hand, that the
congruence relations are preserved (see Sect. 4.2) and, on the other, that the produced
process models are correct with regard to the compliance policy. The latter
depends on the compliance policy (i.e. controls defined therein) that are applied
to the process. This is, however, out of the scope of this paper, as well as
determining inconsistencies among policies.</p>
      <p>The strategies for actually rewriting the processes is based on XSLT patterns,
which are responsible for the transformation of XML documents (process models)
with stylesheets. (Recall that the policy defines the scope of the rule, i.e., where
to rewrite the process.) The following shows this using the append operator.
Example 2. To guarantee the integrity of data, one can trigger controls after each
data input. Considering a health care setting, for example, one could demand
that, after inputting the results of an exam, the patient ID should be entered
again to avoid mistakes. The realization of this requirement demands inserting a
control after one activity. The corresponding algorithm thus replaces one activity
with a pair activity and control. The XSLT template to enforce this control is as
follows (we omit the actual call to the service realizing the control):
&lt;&lt;x&lt;bs lbp:petlee:mls:eapqsluaseitgnenc emnaantmacmhe==e=’’ ’’’ Eb’Rpnteuell:reaRsVesseiurglintfy[’ @’’’a&gt;pctoiloinc Ty:yapcet=i o’ CnTonytpreo=l A’’ftReersEualcth’ ’’&gt;] ’ ’&gt;</p>
      <p>&lt;x l s : a p p l y −template /&gt;
&lt;&lt;&lt;//bRbbpppee plee:lllaa::aascsessissgiibggnynn&gt;&gt;naacmt ue=a l’ ’ VcoenritfryoPl aftrioemntIcDo m’’p&gt;liance r u l e
&lt;/ b p e l : s e q u e n c e&gt;
&lt;/ x s l : t e m p l a t e&gt;
This template employs the namespace policy, with which action types can be
assigned to activities. This facilitates the rewriting in processes where multiple
occurrences of the same activity happen and are in the scope of a rule. a
ReWrite envisaged evaluation. We plan to carried out an extensive evaluation of
ReWrite, where qualitative and quantitative issues were of interest: firstly, which
policies can be rewritten; secondly, what are the performance figures obtained
in doing so. This section reports on the former.</p>
      <p>
        To evaluate the expressiveness of ReWrite we plan to employ workflow
patterns [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] and compliance policy patterns [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Specifically, we take a
representative subset workflow patterns as the minimal process specification. These
patterns can be seen as appropriate building blocks for process specifications and,
hence, if rewriting succeeds for these patterns, it also succeeds for more complex
specifications composed using workflow patterns. The compliance rules build
upon the patterns of Dwyer et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. These patterns characterize a
representative set of primitive structural requirements of programs, such as the
absence, precedence and bounded existence of activities. However, the patterns can
equally well be applied to business processes [
        <xref ref-type="bibr" rid="ref25 ref3">3, 25</xref>
        ]. More importantly though,
the properties characterized by the patterns lie in the class of properties whose
enforcement requires rewriting (see Sect. 2).
      </p>
      <p>To actually assess the expressiveness of ReWrite, we need to determine which
policy pattern can be added to which workflow pattern and, further, which could
be alternatively enforced with an execution monitor (EM) and which demand
rewriting (RW). Our goal is to demonstrate that each workflow pattern can be
rewritten to comply with the corresponding policy pattern. Ongoing experiments
deliver very promising preliminary results that substantiate this conjecture.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Related Work</title>
      <p>
        Approaches to assessing business process compliance can be classified as [
        <xref ref-type="bibr" rid="ref25 ref8">8, 25</xref>
        ]:
(1) forward compliance checking aims to design and implement processes where
conforming behavior is enforced and (2) backward compliance checking aims to
detect and localize non-conforming behavior. ReWrite is a forward compliance
checking approach based on business process models and compliance policies.
Related work addresses the annotation of business processes [
        <xref ref-type="bibr" rid="ref15 ref23">15, 23</xref>
        ], requirements
elicitation [
        <xref ref-type="bibr" rid="ref10 ref11 ref26">11, 10, 26</xref>
        ] and formal verification [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref6">2–4, 6</xref>
        ].
      </p>
      <p>
        Program rewriting is a mechanism for enforcing security properties [
        <xref ref-type="bibr" rid="ref16 ref19">16, 19</xref>
        ].
It was initially formalized by Hamlen et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and he provided an
implementation of a certified program-rewriting mechanism. These rewriting mechanisms are
used to enforce low level properties such as type safety and do not consider
business processes or high level concepts of modern programming languages. Similar
approaches based on type systems to enforce certain security properties such
as memory safety exist, among others, for Java bytecode [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], the .NET
framework [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. To our knowledge no approaches exist that investigate the transfer of
automated rewriting techniques to business processes on a formal level.
      </p>
      <p>
        The approaches discussed in the previous paragraph do not take into account
the achievement of the programs’ goals. The definition of some congruence
relation is given, e.g. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], but it is never explicitly specified in a way that it becomes
possible to actually evaluate this relation for real world application.
      </p>
      <p>
        De Backer and Snoeck discuss a concept called semantic compatibility which
results in definitions of similar types of congruences [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. As opposed to our
approach, they are based on the languages defined by Petri Nets and they do not
cover congruence of the processes themselves. They investigate how two
processes that are deployed by different participants who need to achieve common
business goals are able to cooperate. This notion of “compatibility” they devise
is not applicable to the scenarios investigated in our research, because we discuss
the business goals of a single process and not the interplay between two distinct
processes in distinct administrative domains.
7
      </p>
    </sec>
    <sec id="sec-7">
      <title>Summary and Further Work</title>
      <p>This paper introduces a framework for rewriting business processes, thereby
enforce security, compliance and privacy policies. Specifically, it motivates rewriting
by showing that existing enforcement mechanisms cannot cope with a relevant
class of properties. The paper then defines the syntax and semantics for a
graphical process modeling language and that of compliance rules. In order to ensure
that the rewritten process still allows for the execution paths of the original
process and, thereby, achieves the original business goals, different congruence
relations are defined. Process rewriting must then not only correct the process,
but also preserve some of these relations (depending on the kind of operation).
Lessons learned. Rewriting is an established field in the theory of programs
and logics. This paper carries over some of these concepts into business process
compliance management. Although rewriting is in general undecidable for chains
of modifications, this paper shows that it is possible to define primitive operators
that allow for decidable procedures. The ReWrite framework thus opens up the
possibility of automated correction of processes to ensure process compliance
“by design” (for modeled or reconstructed processes) or during runtime.
Further work. Besides the ongoing and future work already indicated in the
text, future work comprises four directions: firstly, on the formal side it is still
necessary to investigate the congruence relations. Spefically, we need to flesh out
the details of the most sutiable relation to cover all the operators. Secondly, we
see a relationship between the techniques we employ and process repositories.
That in the sense that the same technologies for querying could be employed to
support rewriting. Clarifying this interplay is subject of further work. Thirdly,
the kinds of policy supported by ReWrite can be generalized to also consider
security properties and other usage control policies. Future work will tackle the
expressive power of policies and corresponding analysis techniques (e.g.
inconsistency detection). Fourthly, testing ReWrite for monitoring process instances.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>R.</given-names>
            <surname>Accorsi</surname>
          </string-name>
          .
          <article-title>Sicherheit im prozessmanagement</article-title>
          .
          <source>digma Zeitschrift fu¨r Datenrecht und Informationssicherheit</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Accorsi</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Lehmann</surname>
          </string-name>
          .
          <article-title>Automatic information flow analysis of business process models</article-title>
          .
          <source>In BPM</source>
          , volume
          <volume>7481</volume>
          <source>of LNCS</source>
          , pages
          <fpage>172</fpage>
          -
          <lpage>187</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>R.</given-names>
            <surname>Accorsi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lowis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sato</surname>
          </string-name>
          .
          <article-title>Automated certification for compliant cloudbased business processes</article-title>
          .
          <source>BISE</source>
          ,
          <volume>3</volume>
          (
          <issue>3</issue>
          ):
          <fpage>145</fpage>
          -
          <lpage>154</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>R.</given-names>
            <surname>Accorsi</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Wonnemann</surname>
          </string-name>
          .
          <article-title>Strong non-leak guarantees for workflow models</article-title>
          .
          <source>In ACM SAC</source>
          , pages
          <fpage>308</fpage>
          -
          <lpage>314</lpage>
          . ACM,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>R.</given-names>
            <surname>Accorsi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Wonnemann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Dochow. SWAT</surname>
          </string-name>
          :
          <article-title>A security workflow toolkit for reliably secure process-aware information systems</article-title>
          .
          <source>In ARES</source>
          , pages
          <fpage>692</fpage>
          -
          <lpage>697</lpage>
          . IEEE,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>R.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Johnson</surname>
          </string-name>
          , J. Kiernan, and
          <string-name>
            <given-names>F.</given-names>
            <surname>Leymann</surname>
          </string-name>
          .
          <article-title>Taming compliance with sarbanes-oxley internal controls using database technology</article-title>
          .
          <source>In ICDE</source>
          , pages
          <fpage>92</fpage>
          -
          <lpage>101</lpage>
          . IEEE,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>B.</given-names>
            <surname>Alpern</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Schneider</surname>
          </string-name>
          .
          <article-title>Defining liveness</article-title>
          .
          <source>IPL</source>
          ,
          <volume>21</volume>
          (
          <issue>4</issue>
          ):
          <fpage>181</fpage>
          -
          <lpage>185</lpage>
          ,
          <year>October 1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Anto´n</surname>
          </string-name>
          , E. Bertino,
          <string-name>
            <given-names>N.</given-names>
            <surname>Li</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Yu</surname>
          </string-name>
          .
          <article-title>A roadmap for comprehensive online privacy policy management</article-title>
          .
          <source>CACM</source>
          ,
          <volume>50</volume>
          (
          <issue>7</issue>
          ):
          <fpage>109</fpage>
          -
          <lpage>116</lpage>
          ,
          <year>July 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>M. D. Backer</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Snoeck</surname>
          </string-name>
          .
          <article-title>Business process verification: a petri net approach</article-title>
          .
          <source>Open access publications from Katholieke Universiteit Leuven</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>T.</given-names>
            <surname>Breaux</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Anto</surname>
          </string-name>
          <article-title>´n. Analyzing regulatory rules for privacy and security requirements</article-title>
          .
          <source>IEEE TSE</source>
          ,
          <volume>34</volume>
          (
          <issue>1</issue>
          ):
          <fpage>5</fpage>
          -
          <lpage>20</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>T.</given-names>
            <surname>Breaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Anto</surname>
          </string-name>
          <article-title>´n, and</article-title>
          <string-name>
            <given-names>E.</given-names>
            <surname>Spafford</surname>
          </string-name>
          .
          <article-title>A distributed requirements management framework for legal compliance and accountability</article-title>
          .
          <source>Computers &amp; Security</source>
          ,
          <volume>28</volume>
          (
          <issue>1- 2</issue>
          ):
          <fpage>8</fpage>
          -
          <lpage>17</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>E. Y.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Manna</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          .
          <article-title>Characterization of temporal property classes</article-title>
          .
          <source>In ICALP</source>
          , volume
          <volume>623</volume>
          <source>of LNCS</source>
          , pages
          <fpage>474</fpage>
          -
          <lpage>486</lpage>
          . Springer,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>M. B. Dwyer</surname>
            ,
            <given-names>G. S.</given-names>
          </string-name>
          <string-name>
            <surname>Avrunin</surname>
            , and
            <given-names>J. C.</given-names>
          </string-name>
          <string-name>
            <surname>Corbett</surname>
          </string-name>
          .
          <article-title>Patterns in property specifications for finite-state verification</article-title>
          .
          <source>In IEEE CSE</source>
          , pages
          <fpage>411</fpage>
          -
          <lpage>420</lpage>
          . ACM,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. ECMA. Ecma-
          <volume>335</volume>
          :
          <article-title>Common language infrastructure. european association for standardizing information and communication systems</article-title>
          .
          <source>Tech. Rep., ECMA</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghose</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Koliadis</surname>
          </string-name>
          .
          <article-title>Auditing business process compliance</article-title>
          .
          <source>In ICSOC</source>
          , volume
          <volume>4749</volume>
          <source>of LNCS</source>
          , pages
          <fpage>169</fpage>
          -
          <lpage>180</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>K.</given-names>
            <surname>Hamlen</surname>
          </string-name>
          , G. Morrisett, and
          <string-name>
            <given-names>F.</given-names>
            <surname>Schneider</surname>
          </string-name>
          .
          <article-title>Computability classes for enforcement mechanisms</article-title>
          .
          <source>ACM TOPLAS</source>
          ,
          <volume>28</volume>
          (
          <issue>1</issue>
          ):
          <fpage>175</fpage>
          -
          <lpage>205</lpage>
          ,
          <year>January 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>M. Hilty</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Basin</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pretschner</surname>
          </string-name>
          .
          <article-title>On obligations</article-title>
          .
          <source>In ESORICS</source>
          , volume
          <volume>3679</volume>
          <source>of LNCS</source>
          , pages
          <fpage>98</fpage>
          -
          <lpage>117</lpage>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>P.</given-names>
            <surname>Jancar</surname>
          </string-name>
          .
          <article-title>Undecidability of bisimilarity for petri nets and some related problems</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <volume>148</volume>
          (
          <issue>2</issue>
          ):
          <fpage>281</fpage>
          -
          <lpage>301</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>R.</given-names>
            <surname>Khoury</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Tawbi</surname>
          </string-name>
          .
          <article-title>Corrective enforcement: A new paradigm of security policy enforcement by monitors</article-title>
          .
          <source>ACM TISSEC</source>
          ,
          <volume>15</volume>
          (
          <issue>2</issue>
          ):
          <fpage>10</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>M.</given-names>
            <surname>Leucker</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Schallhart</surname>
          </string-name>
          .
          <article-title>A brief account of runtime verification</article-title>
          .
          <source>J. Logic and Algebraic Programming</source>
          ,
          <volume>78</volume>
          (
          <issue>5</issue>
          ):
          <fpage>293</fpage>
          -
          <lpage>303</lpage>
          , May/June 2008.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>T.</given-names>
            <surname>Lindholm</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Yelling</surname>
          </string-name>
          .
          <source>The Java Virtual Machine. Addison-Wesley</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>N.</given-names>
            <surname>Lohmann</surname>
          </string-name>
          , E. Verbeek, and
          <string-name>
            <given-names>R.</given-names>
            <surname>Dijkman</surname>
          </string-name>
          .
          <article-title>Petri net transformations for business processes - A survey</article-title>
          .
          <source>In TPNOMC</source>
          , volume
          <volume>5460</volume>
          <source>of LNCS</source>
          , pages
          <fpage>46</fpage>
          -
          <lpage>63</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <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>Using control patterns in business processes compliance</article-title>
          .
          <source>In WISE</source>
          , volume
          <volume>4832</volume>
          <source>of LNCS</source>
          , pages
          <fpage>178</fpage>
          -
          <lpage>190</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>A.</given-names>
            <surname>Pretschner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Massacci</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Hilty</surname>
          </string-name>
          .
          <article-title>Usage control in service-oriented architectures</article-title>
          .
          <source>In TRUSTBUS</source>
          , volume
          <volume>4657</volume>
          <source>of LNCS</source>
          , pages
          <fpage>83</fpage>
          -
          <lpage>93</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. E.
          <string-name>
            <surname>Ramezani</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Fahland</surname>
            , and
            <given-names>W. M. P. van der Aalst.</given-names>
          </string-name>
          <article-title>Where did i misbehave? diagnostic information in compliance checking</article-title>
          .
          <source>In BPM</source>
          , volume
          <volume>7481</volume>
          <source>of LNCS</source>
          , pages
          <fpage>262</fpage>
          -
          <lpage>278</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26. 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="ref27">
        <mixed-citation>
          27.
          <string-name>
            <given-names>D.</given-names>
            <surname>Sangiorgi</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Walker</surname>
          </string-name>
          .
          <article-title>The pi-Calculus: A Theory of Mobile Processes</article-title>
          . Cambridge Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <given-names>F.</given-names>
            <surname>Schneider</surname>
          </string-name>
          .
          <article-title>Enforceable security policies</article-title>
          .
          <source>ACM TISSEC</source>
          ,
          <volume>3</volume>
          (
          <issue>1</issue>
          ):
          <fpage>30</fpage>
          -
          <lpage>50</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29. W. van der Aalst.
          <article-title>Workflow patterns</article-title>
          .
          <source>In Encyclopedia of Database Systems</source>
          , pages
          <fpage>3557</fpage>
          -
          <lpage>3558</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30. W. van der Aalst.
          <source>Process Mining - Discovery, Conformance and Enhancement of Business Processes</source>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <source>Business Process Management: Concepts</source>
          ,
          <source>Languages and Architectures</source>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>C. Wolter</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Menzel</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Schaad</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Miseldine</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Meinel</surname>
          </string-name>
          .
          <article-title>Model-driven business process security requirement specification</article-title>
          .
          <source>J. Systems Architecture</source>
          ,
          <volume>55</volume>
          (
          <issue>4</issue>
          ):
          <fpage>211</fpage>
          -
          <lpage>223</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>