<!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>
      <journal-title-group>
        <journal-title>SGR</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Process Conformance Checking by Relaxing Data Dependencies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Montserrat Estañol</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mirjana Mazuran</string-name>
          <email>mirjana.mazuran@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Xavier Oriol</string-name>
          <email>xoriol@essi.upc.edu</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Letizia Tanca</string-name>
          <email>letizia.tanca@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ernest Teniente</string-name>
          <email>teniente@essi.upc.edu</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Politecnico di Milano</institution>
          ,
          <addr-line>Milan</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>SIRIS Lab, Research Division of SIRIS Academic</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universitat Politècnica de Catalunya</institution>
          ,
          <addr-line>Barcelona</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1534</year>
      </pub-date>
      <volume>2020</volume>
      <fpage>2</fpage>
      <lpage>2</lpage>
      <abstract>
        <p>Given the events modeled by a business process, it may happen in the presence of alternative execution paths that the data required by a certain event determines somehow what event is executed next. Then, the process can be modeled by using an approximate functional dependency between the data required by both events. We apply this approach in the context of conformance checking: given a business process model with a functional dependency (FD) that no longer corresponds to the observed reality, we propose corrections to the FD to make it exact or at least to improve its confidence and produce a more accurate model.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Conformance checking aims at determining whether the actual execution of a
business process, as recorded within an event log, conforms to its model. This
approach helps bridge the gap between process specifications and their
implementation, by detecting deviations between models and reality [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Several approaches
take data into consideration when looking for these misalignments [
        <xref ref-type="bibr" rid="ref11 ref2 ref6 ref8 ref9">2, 6, 8, 9, 11</xref>
        ].
They assume that the data is provided through global attributes, and do not
deal with structured data, which instead is usually considered in business process
specification. Moreover, these approaches are able to highlight the deviations
between the real executions and the process model, but do not propose alternatives
to modify the model so that it becomes correct again.
      </p>
      <p>
        In contrast, our work addresses conformance checking by considering an
artifact-centric perspective of process definition where the data is represented
by a UML class diagram and the processes are described in BPMN. So, we
use standard and common formalisms for conceptual representation of data and
processes, and are aligned with recent proposals aimed at specifying business
process conceptually to facilitate understanding of these models by the domain
experts [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ]. We assume in this paper that the activities in the BPMN
diagram and in the event log are the same (no new activity is taking place in the
actual execution of the business process) and we concentrate on analyzing the
correctness of the conditions specfied in the condition points of a BPMN.
      </p>
      <p>With our approach, not only can we identify current deviations between
the model and the actual execution of the process, but we can also propose
modifications to the models to correct this misalignment. This is achieved by
analyzing, for each event in the log, the functional dependency holding between
its contextual data and the next branch after it.</p>
      <p>The following example illustrates our contribution. Assume that a Taxi
Service has developed an application to coordinate its taxi drivers. When they are in
service, they may receive offers for new rides. Then, depending on the distance
and the price of the offer, the drivers decide to accept/reject it. The BPMN
model in Figure 1 shows this behavior.
Visual Paradigm for UML CoImnmuonritydEedritiotno[noet xfoerccoumtmeeraciarltuisfea]ct-centric approaches, activities need to handle data.</p>
      <p>
        In particular, the data required by previous activities is shown in the UML
diagram in Figure 1. Note that it contains information regarding the taxi and its
driver, and also regarding the offers and the clients that make them. Additionally,
we include an OCL operation that defines how the activity check new offer shown
in the BPMN updates the data represented in the class diagram [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>1
Driver</p>
      <p>Person
id
name
reputation
{i}</p>
      <p>Taxi
drives 1 licensePlate</p>
      <p>currentLocation
0..1</p>
      <p>*
takes
* takenRoute *</p>
      <p>Offer
1 makes * iniPlace
client sdtisatratTnicmee : DateTime
offeredPrice
is offered
offeredRoute
{i}</p>
      <p>CompletedOffer
endTime : DateTime
Operation : checkNewOffer ( O f f e r o , Taxi t )
post : t . o f f e r e d R o u t e &gt;i n c l u d e s ( o )</p>
      <p>When the application is running, it may come up with the log in Table 1,
which shows the attributes related to the new offer event (as given by the class
Offer in Figure 1), and the name of the branch taken in the BPMN diagram
(i.e. the decision made by the Taxi driver).</p>
      <p>From the log we observe that some offers with distances and prices similar
to those that are accepted are instead rejected, thus actually taxi drivers DO
NOT necessarily decide to accept or reject an offer just based on the distance
and price: clearly, this implies that the previous BPMN model is incorrect. At
a closer observation of the data in the log, we eventually note that the decision
depends also on the client’s reputation. While this seems rather obvious with few
data, in practice, with huge amounts of data, a manual analysis is unfeasible,
and error prone because of the difficulty of the analysis itself.</p>
      <p>
        In this paper we propose an approach that uses the techniques for evolving
approximate functional dependencies proposed in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] to compute to what extent
the event log conforms to the business process model specified, and to identify
the attributes (possibly missing from the BPMN diagram) that determine the
next branch taken in a decision point of a process execution.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>Conformance Checking It receives as input a business process model and the
footprints of the processes executed in the information system in terms of an
event log. An execution of a process (also known as process instance or case)
is represented as a sequence of activities called trace. We assume, without loss
of generality, that each trace can be identified with a (surrogate) id, and each
activity within the trace with a timestamp and activity name. An event log is
a set of traces, representing the behavior observed in the information system
during the execution of the process.</p>
      <p>
        Definition 1 (Trace, Event Log). Let A UA be a set of events A over a
universe of events UA. A trace 2 A is a sequence of events. An event log
L 2 P(A ) is a set of traces, where P(A ) represents the power set of A .
Functional Dependencies Let r be an instance of relation R(A1; A2; :::; An),
jrj denotes the number of tuples in r, t[Ai] the value of the attribute Ai in the
tuple t and X (r) is the projection of r on the attributes of X. A functional
dependency F over R has the form F : X ! Y where X and Y are two subsets
of the attributes of R. Given an instance r of R, r satisfies an FD F defined on
R if, for every pair of tuples t1, t2 in r, if t1[X] = t2[X] then t1[Y ] = t2[Y ]. An
instance r is inconsistent with respect to F if it does not satisfy it. Each FD can
be characterized by its confidence cF;r and its goodness gF;r [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]:
Definition 2. Let r be an instance of a relation R, X and Y two subsets of the
attributes of R and F : X ! Y a functional dependency over R. Then:
cF;r = j X (r)j=j XY (r)j and gF;r = j X (r)j j Y (r)j
      </p>
      <p>Depending on the confidence value we have the following definition:
Definition 3. Given a relation R, an instance r of R, a functional dependency
F over R and its confidence cF;r, we say that F is an exact functional
dependency iff cF;r = 1, otherwise it is an approximate functional dependency.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Our Approach</title>
      <p>We start from the signature of the events of the BPMN to be analyzed and from
the database storing the data of the process. Then, we automatically build the
enriched log table, which is a new database table that essentially contains the
contextual data of the initial event applied, together with the subsequent events.
At runtime, the enriched log is filled with the real data of the processes. Then,
to have the data ready for analysis, we have to discretize the continuous values
of the enriched log since we are not interested in how a particular continuous
value determines the next event, but on how a kind of values does. The resulting
discrete enriched log is the basis for our conformance checking analysis.
3.1</p>
      <p>Enriching the Log
The enriched log table should contain all necessary attributes to store the
contextual data of each event execution, plus an additional attribute to store the
name of the successive event. The contextual data consist of the values given in
the event’s input, together with all those values from the database that can be
obtained through joins following the foreign keys.</p>
      <p>We obtain these contextual attributes by looking at the UML types of the
event’s arguments. Then, we pick the attributes in the relational tables
implementing these UML types and chase the foreign keys of these tables recursively
to obtain more tables (and attributes). Note that, since this process is essentially
a chase of foreign keys, we need to pay special attention to foreign key cycles.
Indeed, chasing foreign key cycles never stops, thus, we should eventually break
these cycles at some predefined point. Intuitively, this is done by deciding how
many nested levels of joins we want to perform.</p>
      <p>This process can be performed at compile time since the contextual attributes
are fully determined by the user’s given operation signature, the database schema,
and the mapping between the UML schema and the underlying relational schema.
At runtime we store each execution of the transition under study in a single row
(tuple) of the enriched log. That is, whenever we detect an execution of the
targeted transition, we query the database using the given event argument values
to obtain the values for all its attributes. In the same row, we also store the next
event applied by the user.
3.2</p>
      <p>Discretization
The existence of a functional dependency (FD) depends, of course, on the data,
and indeed, two different discretizations of the data may affect the fact that the
dependency holds or not in the obtained table. Consider the FD F : Distance !
Outcome, meaning that a taxi driver decides to accept or reject a request only
based on the distance. Suppose that the attribute Distance has been discretized
to assume the values fshort; longg and that the data satisfy the FD. If we change
the discretization of the Distance to the domain fshort; medium; longg, then
it is likely that the data will not satisfy the FD any longer, because now some
tuples having medium distance will belong to the accepted category, while others
with different, but still medium, distance, will be among the rejected ones.</p>
      <p>These observations also hold for FDs that involve more than one attribute.
Consider F : Distance; P rice ! Outcome, that is, a taxi driver decides to
accept or reject a request based on the distance and price of the offer. It is
also possible that we find an “appropriate” discretization of the two attributes
Distance and P rice such that the tuples satisfy the FD. Note that most
discretization techniques are univariate, that is, they consider only one feature at
a time and can be used to discretize Distance and P rice independently of one
another. However, the two attributes are involved in the FD together, thus a
multivariate discretization, performed on the two attributes together, would be
more appropriate.</p>
      <p>One way to perform multivariate discretization is by means of clustering
techniques: data can be clustered according to the values of the attributes Distance
and P rice, thus, each cluster contains data with a certain combination of ranges
of the domains of the two attributes. Then each cluster can be given a label that
is the symbolic representation of such combination of domain ranges. This label
can be interpreted as a single categorical attribute, that takes the place of the
two attributes Distance and P rice. Therefore, a FD is influenced by the
discretization process, but can also be used, conversely, to guide the discretization
task. In fact, given a FD, we can try and find a discretization of the antecedent
such that the FD would hold on the current data: for the FD to hold on the
data, the antecedent must have at least the same amount of distinct values as
the consequent (ideally each of them should be related to exactly one of the
distinct values of the consequent) or more (more than one distinct value of the
antecedent is related to the same value of the consequent). If this is true, then
the confidence of the FD will be 1 (thus an exact FD) otherwise it will be less
than 1 (thus an approximate FD). The greater the amount of distinct values of
the antecedent and of the consequent, the worse the goodness of the FD.</p>
      <p>Let r be an instance of a relation R, F : X ! Y an FD defined on it
and K = j Y (r)j the number of distinct values of the consequent of the FD.
The process of discretization, under the guidance of F , consists in finding K
homogeneous clusters of the tuples based on their values of X. If such clustering
exists it represents a multivariate discretization of X such that F holds on the
discretized data.
3.3</p>
      <p>
        Applying Functional Dependency Evolution
Given a FD that is no longer valid, there are two ways to capture the modeled
reality again: (i) try to change the way the attributes in the FD antecedent are
discretized, so that the dependency holds again, (ii) keep the same discretization
and “strengthen” the antecedent of the FD by adding an attribute to it.
Consider the example of Section 3.2 and suppose both price and distance vary in the
range [
        <xref ref-type="bibr" rid="ref1">1,98</xref>
        ] (both 1 and 98 are included) and that, initially, the taxi service
company has a conceptual discretization of these ranges such that, for the distance,
[
        <xref ref-type="bibr" rid="ref1">1,32</xref>
        ] means short and [33,98] means long, while for the offeredPrice [
        <xref ref-type="bibr" rid="ref1">1,65</xref>
        ] means
low and [66,98] means high. Moreover, F : distance; of f eredP rice ! accepted
is defined on the data. Suppose the initial data, without discretization are
(A)
(B)
(C)
      </p>
      <p>Fig. 3. Taxi service running example
the tuples in Figure 3(1)(A). After discretization we obtain the data in (2)(A)
satisfying F with cF =1 and gF =0. By running the K-means algorithm (with
K=2) we find two homogeneous clusters: C1 with centroid distance=29 and
of f eredP rice=79.333 where all tuples have accepted=1 and C2 with centroid
distance=75 and of f eredP rice=25 where all tuples have accepted=0. Thus, C1
represents (accepted) offers with short distance and high price while C2
represents (rejected) offers with long distance and low price. We can also discretize
the data assigning them the label of the cluster to which they belong (as shown
in Figure 3(3)(A)).</p>
      <p>Now, suppose that the two tuples in Figure 3(1)(B) arrive. The first tuple
still satisfies the FD but the second one does not. Therefore, the FD is not
satisfied any longer. By running the K-means algorithm again on the data we
find C1 (centroid distance=29, of f eredP rice=79.333), where all tuples have
accepted=1; and C2 (centroid distance=75, of f eredP rice=25), where 60% of
tuples have accepted=0 and the rest accepted=1, i.e., a non-homogeneous
cluster. Thus, C1 still represents accepted offers with short distance and high price
while C2 mixes tuples having different ranges of distance and price and different
outcomes.</p>
      <p>Now, we can choose different strategies: (i) accept approximate FDs, and
decide that cF =2/3 is still a good confidence for the FD: nothing should be
changed in this case; (ii) try to find a different discretization of the data such
that the FD would hold on them: the data discretization should be changed;
(iii) choose to evolve the FD by looking for attributes that can be added to its
antecedent in order to repair it: the FD should be changed.</p>
      <p>
        Suppose that we decide that the new confidence of the FD is too low and try
to re-cluster the data with K=3. Then, we find 3 homogeneous clusters whose
centroids are: C1: distance=27.5 and of f eredP rice=74 with accepted=1; C2:
distance=80 and of f eredP rice=20 with accepted=0; C3: distance=32.5 and
of f eredP rice=12.5 with accepted=1. In fact, if we associate each tuple with
the label of the cluster it belongs to (see Figure 3(4)(A-B)), instead of distance
and of f eredP rice, we can see that the functional dependency F holds on these
data with cF =1 and gF =1. As data continue to arrive the confidence of the FD
might continue to decrease: we could try to change the discretization again but
there might be a point where this would not be possible anymore. For example,
suppose the two new tuples shown in Figure 3(1)(C) are added to the data: a
homogeneous clustering is found only at K=9, when each cluster contains only one
tuple! Thus, no discretization can bring the data to satisfy the FD. At this point
we can choose to change the FD, looking for a minimal set of attributes that can
be added to its antecedent in order to restore a high confidence value. To this
end we apply the technique for evolving FD in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and add one attribute of the
relation at a time to the antecedent of F , evaluate the confidence of the newly
built FD and decide what is the confidence value we consider acceptable.
Consider the tuples in Figure 3(4): since with the discretization we have performed
the data no longer satisfies F , we try adding reputation to the antecedent of F .
The obtained FD: label; reputation ! accepted has confidence 1 and goodness 4,
hence the reputation allows us to discriminate in particular inside the C3 cluster.
By remembering its centroid (distance=32.5 and of f eredP rice=12.5) we can
say, intuitively, that it contains medium-distance offers with low price. Thus, by
repairing the FD, we are saying that these offers are accepted if the client has
high reputation and are rejected otherwise.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        Several proposals perform conformance checking over process models and logs
considering the data. Most of them use procedural models [
        <xref ref-type="bibr" rid="ref11 ref6 ref9">6, 9, 11</xref>
        ] and are
usually based on Petri nets with data, although they are scalable to other
representations such as BPMN or EPC. More specifically, [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] deals with event logs
with deviating behavior and more complex control-flow constructs. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] follows a
different approach by splitting the log when doing the conformance checking, to
achieve better efficiency. All of [
        <xref ref-type="bibr" rid="ref6 ref9">6, 9</xref>
        ] incorporate resources into the conformance
checking, but [
        <xref ref-type="bibr" rid="ref6 ref9">6, 9</xref>
        ] also consider time constraints in the process. On the other
hand, [
        <xref ref-type="bibr" rid="ref2 ref8">2, 8</xref>
        ] perform conformance checking and process discovery on declarative
process models which consider data. They are based on the Declare language,
which has formal semantics and a graphical representation and it allows
defining many different types of dependencies between tasks. All these approaches do
not deal with structured data, but rather they consider data as a set of global
attributes. Moreover, none of them deals with variable discretization. In terms
of the data itself, note that the approaches performing conformance checking
highlight the deviations between the real executions, as recorded in the log, and
the process model, but do not propose alternative conditions like we do. [
        <xref ref-type="bibr" rid="ref11 ref8">8, 11</xref>
        ]
do discover data conditions from the log, but both are focused on discovery, not
on conformance. In addition, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] uses a declarative specification instead of a
procedural one, like we do. Our method for analyzing, for each event in the log, the
(approximate) functional dependency holding between its contextual data and
the next branch is based on [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which employs the two measures confidence and
goodness to evaluate the degree of approximation of a FD. This is rather
efficient because it only requires to count tuples. However, we plan to study whether
other measures of approximation [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] produce suggestions of model modifications
that are “closer" to the intention of the designer.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>Our approach for conformance checking of artifact-centric BPMN models
determines whether the actual execution of a business process conforms to the
model and, by analyzing the data dependencies, proposes changes to the model
accordingly.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          : Process Mining: Discovery, Conformance and Enhancement of Business Processes (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Burattin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maggi</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sperduti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Conformance checking based on multiperspective declarative process models</article-title>
          .
          <source>Expert Syst. Appl</source>
          .
          <volume>65</volume>
          ,
          <fpage>194</fpage>
          -
          <lpage>211</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Caruccio</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deufemia</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polese</surname>
          </string-name>
          , G.:
          <article-title>Relaxed functional dependencies - A survey of approaches</article-title>
          .
          <source>IEEE Trans. Knowl. Data Eng</source>
          .
          <volume>28</volume>
          (
          <issue>1</issue>
          ),
          <fpage>147</fpage>
          -
          <lpage>165</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. De Giacomo,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Oriol</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            ,
            <surname>Estañol</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Teniente</surname>
          </string-name>
          , E.:
          <article-title>Linking data and BPMN processes to achieve executable model</article-title>
          .
          <source>In: CAiSE</source>
          (
          <year>2017</year>
          ), accepted for publication
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Estañol</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sancho</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teniente</surname>
          </string-name>
          , E.:
          <article-title>Verification and validation of UML artifactcentric business process models</article-title>
          .
          <source>In: CAiSE</source>
          . pp.
          <fpage>434</fpage>
          -
          <lpage>449</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. de Leoni, M.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Aligning event logs and process models for multi-perspective conformance checking: An approach based on integer linear programming</article-title>
          .
          <source>In: 11th BPM</source>
          . pp.
          <fpage>113</fpage>
          -
          <lpage>129</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. de Leoni,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Munoz-Gama</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Carmona</surname>
          </string-name>
          , J., van der Aalst,
          <string-name>
            <surname>W.M.P.</surname>
          </string-name>
          :
          <article-title>Decomposing alignment-based conformance checking of data-aware process models</article-title>
          .
          <source>In: On the Move to Meaningful Internet Systems: OTM</source>
          . pp.
          <fpage>3</fpage>
          -
          <lpage>20</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Maggi</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>García-Bañuelos</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Discovering dataaware declarative process models from event logs</article-title>
          .
          <source>In: 11th BPM</source>
          . pp.
          <fpage>81</fpage>
          -
          <lpage>96</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Mannhardt</surname>
          </string-name>
          , F.,
          <string-name>
            <surname>de Leoni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
          </string-name>
          , H.A.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Balanced multiperspective checking of process conformance</article-title>
          .
          <source>Computing</source>
          <volume>98</volume>
          (
          <issue>4</issue>
          ),
          <fpage>407</fpage>
          -
          <lpage>437</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Mazuran</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quintarelli</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tanca</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ugolini</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Semi-automatic support for evolving functional dependencies</article-title>
          .
          <source>In: EDBT</source>
          . pp.
          <fpage>293</fpage>
          -
          <lpage>304</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Rozinat</surname>
          </string-name>
          , A.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Decision mining in prom</article-title>
          .
          <source>In: 4th International Conference on Business Process Management</source>
          . pp.
          <fpage>420</fpage>
          -
          <lpage>425</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>