<!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>Mining Declarative Models Using Time Intervals</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jan Martijn van der Werf ?</string-name>
          <email>j.m.e.m.v.d.werf@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ronny S. Mans ??</string-name>
          <email>r.s.mans@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wil M.P. van der Aalst</string-name>
          <email>w.m.p.v.d.aalst@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Computer Science Technische Universiteit Eindhoven P.</institution>
          <addr-line>O. Box 513, 5600 MB Eindhoven</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <fpage>313</fpage>
      <lpage>332</lpage>
      <abstract>
        <p>A common problem in process mining is the interpretation of the time stamp of events, e.g., whether it represents the moment of recording, or its occurrence. Often, this interpretation is left implicit. In this paper, we make this interpretation explicit using time intervals: an event occurs somewhere during a time window. The time window may be fine, e.g., a single point in time, or coarse, like a day. As each event is related to an activity within some process, we obtain for each activity a set of intervals in which the activity occurred. Based on these sets of intervals, we define ordering and simultaneousness relations. These relations form the basis of the discovery of a declarative process model describing the behavior in the event log.</p>
      </abstract>
      <kwd-group>
        <kwd>Process mining</kwd>
        <kwd>time intervals</kwd>
        <kwd>concurrency theory</kwd>
        <kwd>declarative process models</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Information systems of today collect large amounts of data. For example, banks are
saving information about the granting of mortgages and loans, insurance companies are
saving information concerning the handling of claims, and hospitals are saving the
actions taken to treat patients. Many of the recorded data concern events which have been
performed in the context of a certain business process. For each event, different aspects
are stored, for example, the activity and case for which the event is raised, its type, and
when it has been raised. Process mining [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] aims to extract process knowledge from
these recorded events to discover, monitor and improve the actual processes supported
by these systems.
      </p>
      <p>The information about when the event occurred, for example using the order in
which events are recorded, or its recorded timestamp is used to discover, monitor and
check the control flow of processes. The implicit assumption many of the process
mining algorithms make is that if two events are recorded consecutively, e.g. one is recorded
before the other, or the timestamp of the first is before the latter, they occurred
consecutively. However, in many cases, this assumption may not hold, as systems implement log
recording differently. So, although time information is recorded, it can be interpreted in
many different ways.</p>
      <p>One interpretation of the timestamp is that it is the time on which the event actually
occurred. More likely, many systems implement this as the time on which the event
is recorded. Other systems implement logging using a queue system, i.e., the event is
placed in the queue, and then written. Thus, if two events occur at the same time, their
timestamp may differ as they are written consecutively.</p>
      <p>A second problem of timestamps is their scale. On the one hand, a too fine time
scale introduces causality that in reality does not exist. For example, consider an
information system consisting of many different components each with their own logging
mechanism. To construct the process of the information system, the recordings of each
component need to be combined in a single event log. As a result, one needs to ensure
that all components have the same time. On the other hand, a too coarse time scale may
falsely introduce concurrency. For example, if the time scale is in days, the order of
activities executed on the same day cannot be discovered.</p>
      <p>A third problem lies in the reliability of the time information. For example, the order
based on timestamps of events is more reliable if the same timestamp generator is used.
Thus, timestamps of events in the same component are more reliable than when the
events are recorded by different components. Another source of unreliability is whether
time information depends on user input, such as calendars, or if it is generated by the
system.</p>
      <p>As a result, one should always first check the order in which events occur. One way
to resemble this is to use intervals for event occurrences instead of single timestamps.
This allows to change the time scale from a very fine scale, such as single points, to
very coarse time scales, such as days. For example, an event that occurred on timestamp
‘2013/04/12 12:24:36.3’, can be seen as an interval of a single point, or, if the required
time scale under consideration is in days, it can be seen as an event that occurred on
April 12, 2013, i.e., in the interval ‘2013/04/12 0:00’ - ‘2013/04/12 23:59:59’.</p>
      <p>
        Process mining focuses on the extraction of process knowledge. Whereas process
knowledge mainly focuses on the level of activities, systems recordings are on an event
level, which is not necessarily the same level, as several events may be raised for the
same activity, for example when the activity started or completed. Thus, to be able to
reason on the level of activities, events should be combined into activities. Aggregration
of events in activities can be done in many ways, such as the life-cycle of activities [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Depending on the aggregration, each activity may occur several times, each in its own
time interval, resulting in a set of time intervals for each activity.
      </p>
      <p>
        In this paper, we want to make the time intervals in which an activity occurs
explicit. Based on a set of intervals for each activity, we reason about which relations
can be inferred. For example, do two activities occur simultaneously or do they occur
sequentially. As we use intervals instead of single time points, many activities may
occur concurrently. Procedural languages, like Petri nets [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], model explicitly the order in
which activities occur. For example, places in a Petri net are used to control choices and
to reduce the degree of concurrency in a model. As a consequence, concurrency needs
to be modelled explicitly, rather than being a language primitive. In a declarative
approach, all events may be executed concurrently, unless it is prohibited by constraints.
Therefore, we choose a declarative modelling language instead, called Declare [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and
show how a declarative model can be derived from the intervals induced by the
timestamps of the events.
      </p>
      <p>This paper is structured as follows. In Sec. 2 we introduce the basic notions used
throughout the paper. Sec. 3 discusses the role of intervals within an event log. These
events and their intervals can be mapped onto activities in many different ways, as
shown in Sec. 4. Next, in Sec. 5, we define simultaneousness and causality relations on
sets of intervals. Sec. 6 presents a method to build a declarative model based on these
interval relations. Last, Sec. 7 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Basic Notions</title>
      <p>Let S be a set. The powerset of S is denoted by P(S ) = {S 0 | S 0 ⊆ S }. We use |S | for
the number of elements in S . Two sets U and V are disjoint if U ∩ V = ∅. We denote the
cartesian product of two sets S and T by S × T . On a cartesian product we define two
projection functions π1 : S × T → S and π2 : S × T → T such that π1((s, t)) = s and
π2((s, t)) = t for all (s, t) ∈ S × T . We lift the projection function to sets in the standard
way.</p>
      <p>A binary relation R from S to T is defined by R ⊆ (S × T ). For (x, y) ∈ R, we
also write x R y. For a relation R ⊆ (S × T ), the inverse relation R−1 is defined as
R−1 = {(y, x) ∈ (T × S ) | x R y}. A relation R is called a function if x R y and x R z implies
y = z for all x ∈ S and y, z ∈ T . It is called a binary relation over S if R ⊆ (S × S ).
A binary relation R is reflexive if x R x for all x ∈ S . It is transitive if x R y and y R z
implies x R z for all x, y, z ∈ S . It is reflexive if (x, x) ∈ R for all x ∈ S , and irreflexive
if (x, x) &lt; R for all x ∈ S . Relation R is symmetric if x R y implies y R x for all x, y ∈ S
and asymmetric if x R y implies ¬y R x for all x, y ∈ S . The relation is antisymmetric if
x R y and y R x imply x = y for all x, y ∈ S . The transitive closure of a binary relation R
is defined as the smallest relationR+ such that x R+ y if either x = y, or x R+ z and z R y
for some z ∈ S .</p>
      <p>A binary relation R over some set S is an equivalence relation if it is reflexive,
symmetric and transitive. A transitive, irreflexive binary relation is called a strict order.
It is a preorder, denoted by (S , R), if R is reflexive and transitive. A preorder is a partial
order if (S , R) is also antisymmetric. A partial order is called a total order, if in addition
also x R y or y R x for all x, y ∈ S .</p>
      <p>A sequence over S of length n ∈ N is a function σ : {1, . . . , n} → S . If n &gt; 0 and
σ(i) = ai for i ∈ {1, . . . , n}, we write σ = ha1, . . . , ani. The length of a sequence is
denoted by |σ|. The sequence of length 0 is called the empty sequence, and is denoted
by . The set of all finite sequences over S is denoted by S ∗. Let ν, γ ∈ S ∗ be two
sequences. Concatenation, denoted by σ = ν; γ is defined asσ : {1, . . . , |ν| + |γ|} → S ,
such that for 1 ≤ i ≤ |ν|: σ(i) = ν(i), and for |ν| + 1 ≤ i ≤ |ν| + |γ|: σ(i) = γ(i − |ν|).</p>
      <p>Given a set S and a, possibly infinite setT ⊆ R, a function f : S → T × T is called
an interval function if π1( f (a)) ≤ π2( f (a)) for all a ∈ S .
2.1</p>
      <sec id="sec-2-1">
        <title>Event Logs</title>
        <p>
          For each user action on the system, an event is raised. An event records its type, for
which activity it has been raised, for which case or business process instance, when
it was raised, by whom, and the data inserted by the user. Such a recording is called
an event log [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. The set of all possible events, i.e., the event universe is denoted by E.
Similarly, we denote the case, attribute and value universes by C, A and V, respectively,
such that E, C, A ⊆ V and E, C and A are pairwise disjoint. We assume A ⊆ V to be
the (possibly infinite) set of activities.
        </p>
        <p>Definition 1 (Event log). An event log is a 3-tuple L = (C, E, #) where
– C ⊆ C is a set of case identifiersin the event log;
– E ⊆ E is a set of event identifiersin the log;
– # : A × (C ∪ E) → P(V) is an attribute mapping.</p>
        <p>For an attribute n ∈ A we write #n(·) as a shorthand for #(n, ·). The following attributes
are always defined:
– Each event belongs to exactly one case and each case has at least one event,
denoted by the mandatory attribute case ∈ A, i.e., for all events e ∈ E, a case c ∈ C
exists with #case(e) = {c}, and for all c ∈ C an event e ∈ E exists with #case(e) = {c};
– Each event belongs to some activity, denoted by the mandatory attribute act ∈ A,
i.e., for all events e ∈ E an activity a ∈ A exists such that #act(e) = {a};
– An event may record the time it was recorded using the timestamp attribute time ∈
A, i.e., for all events e ∈ E we have #time(e) = {t} for some timestamp t ∈ T , where
T resembles the set of timestamps.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Intervals in Event Logs</title>
      <p>
        There are many techniques for discovering a process model out of an event log. An
extensive overview of available process discovery techniques can be found in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. Some
examples are the alpha miner [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the ILP miner [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] and the declarative miner [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
In many discovery methods, events are considered to be instantaneous: they occur at a
single point in time. However, in many information systems, such as electronic patient
records, or financial statements, only a date is recorded. Consequently, even if events
are considered to occur instantaneously, if they are observed within the same interval,
the only conclusion to be drawn is that these occurred simultaneously.
      </p>
      <p>
        The more coarse the chosen time scale (e.g., days, weeks or months), the more
events will occur concurrently. Another consequence of a more coarse time scale is that
events occur in some time window, rather than occurring at a single moment in time.
It is important to note that there are some techniques which do not consider events to
be instantaneous. That is, the authors of [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], exploit the fact that activities take time,
i.e. each activity has a start and complete event. As a result, parallelism can be detected
explicitly. Two activities are considered to occur in parallel if there is at least one case
in which the activities overlap in time. In [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], the authors consider the execution of an
activity as a time interval based on a starting and ending event. Parallelism is detected
by identifying two executions in which one activity occurs before the other one, and the
other way around. The work described in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] is comparable to [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], which presents a
different control-flow discovery algorithm based on the notion of time intervals. All the
aforementioned techniques only use one notion for determining intervals for activities
and whether they overlap. In this paper, we study the case where activities occur in
multiple intervals within the same execution.
      </p>
      <p>Consider the events presented in Tbl. 1 showing for each day the events that
occurred. For each event, its case and activity are recorded. The time stamps of these
events are in days, e.g., event (1, B) occurred on January 1, 2013, as well as event
(1, E). Based on this information, we cannot infer any order between B and E, the only
fact that can be inferred is that these events occurred simultaneously.</p>
      <p>As the time scale is relatively coarse, a first analysis of this event log would be the
degree of concurrency. We can build a graph that depicts the intervals on a time scale,
as shown in Fig. 1(a). Based on this graph, we derive a concurrency relation I ⊆ E × E,
such that a I b if and only if a and b occur within the same time interval. This results in
a graph as depicted in Fig. 1(b), where the dashed and solid edges together represent the
relation I. For readability, the self loops have been omitted. Note that (A, G) is an edge
in the graph, while no case exists in which activities A and G occur simultaneously.
Therefore, we can partition the relation I into two relations IS and IG such that a IS b if
and only if #case(a) = #case(b), and IG analogously. In Fig. 1(b), the edges of relation IS
are solid, the edges of relation IG are dashed. Similarly, the concurrency relation is not
transitive with respect to the event log: even though (B, E) and (E, C) are edges in the
graph, B, C and E never occur simultaneously in any case.</p>
      <p>Whereas in Fig. 1(b) an absolute time window is taken, one could also choose to
map each event to a relative interval, e.g. the respective day from the start of the day,
as shown in Fig. 1(c). To allow such abstractions, we introduce the notion of an event
interval mapping function that maps each event onto a time interval.</p>
      <p>Definition 2 (Event interval mapping function). Let L = (C, E, #) be an event log. A
function mL : E → T × T is an event interval mapping function for L if it is an interval
function. The default interval mapping function DL : E → T × T of L is defined by
DL(e) = (#time(e), #time(e)) for all e ∈ E.</p>
      <p>Based on the event interval mapping function, two notions of concurrency can be
observed: one based on the whole event log, called the concurrency relation, and one
based on the individual executions: the simultaneousness relation. Thus, the
simultaneousness relation I for an event log L can be defined as the events that occur in the same
interval defined by some interval mapping function.</p>
      <p>(6,A)
(3,G) (4,F) (5,D) (6,F)
(4,A) (5,A) (4,G) (5,G) (6,G)</p>
      <p>F</p>
      <p>A
G</p>
      <p>C
E
B
D
(a) intervals</p>
      <p>(b) concurrency graph
(5,D)
(6,A) (4,F)</p>
      <p>(6,F)
(5,A) (3,D) (5,G)
(4,A) (2,C) (4,G)
(3,A) (2,E)
(2,A) (1,B) (2,G)
(1,A) (1,E) (1,G) (6,G)
(c) Relative time, intervals</p>
      <sec id="sec-3-1">
        <title>Definition 3 (Concurrency, simultaneousness relation). Let L be an event log, and m</title>
        <p>a corresponding event interval mapping function. Its concurrency relation I¯m ⊆ E × E
is defined by a I¯m b iff π1(m(a)) ≤ π2(m(b)) and π1(m(b)) ≤ π2(m(a)) for a, b ∈ E. Its
simultaneousness relation Im ⊆ E × E is defined by a I m b iff both a I¯m b and #case(a) =
#case(b) for a, b ∈ E.</p>
        <p>
          In the literature, the graph imposed by the concurrency relation is called the interval
graph [
          <xref ref-type="bibr" rid="ref11 ref16">11, 16</xref>
          ]. Following [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], we can define an ordering relation that is defined by
a b iff π2(m(a)) &lt; π1(m(b)), stating that b “wholly occurs after” a. Relation is
called an interval order [
          <xref ref-type="bibr" rid="ref28 ref29">28, 29</xref>
          ], as proven in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>Definition 4 (Interval order). A binary relation R over some set S is an interval order
if a R b and c R d imply a R d or c R b for all a, b, c, d ∈ S .</p>
        <p>
          Using intervals in concurrency is not new. For example, Janicki and Koutny [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]
show that the notion of interval orders naturally follows from a basic assumption on
concurrency: “the observer can state that one event preceded another event, or that two
events occurred simultaneously”. The authors show that for finite event logs, events can
be interpreted as intervals on a discrete time scale. The authors introduce a model as
a set of relations defining (weak) causalities, commutativity and synchronisation. An
observation is called a history of a model if the relations induced by the observation
coincide with the relations of the model.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], Allen defines a set of assertions and properties based on time intervals:
“before”, “equal”, “meets”, “overlaps”, “during”, “starts” and “finishes”. Based on these
predicates, the authors introduce the assertion “occurs” with two variables: an event
and an interval. This approach is often used in the area of artificial intelligence to
reason over time using logic programming [
          <xref ref-type="bibr" rid="ref22 ref7">7, 22</xref>
          ].
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Activities as Sets of Intervals</title>
      <p>
        The interval mapping function on event logs introduced in the previous section induces
an interval order on the events in the event log. In this way, approaches like in [
        <xref ref-type="bibr" rid="ref14 ref9">9,14</xref>
        ] are
directly applicable on this interval mapping function. These approaches mainly focus
on a single run of a system: each event occurs exactly once. However, process mining
mainly focuses on the analysis of the process implied by the activities for which the
events in the event log occurred.
      </p>
      <p>
        Different events for the same activity may indicate that the activity has been
executed several times. Or, if an event represents the different stadia of some life cycle of
activities, like a start and complete type, multiple events occur for the same activity.
In [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] an approach is given for identifying pairs of events which denote the start and
end of an activity. Thus, a single execution involves multiple occurrences of activities
with some duration. Therefore, we search for new relations such that we can describe
the relations on activity level, rather than on the level of events.
      </p>
      <p>
        One way to lift the interval functions from events to activities is by defining a
relation based on the interval order. Similar to the concurrency and simultaneousness
relation, one would obtain two relations R¯and R such that
a R¯b ⇔ ∃e1, e2 ∈ E : #act(e1) = a ∧ #act(e2) = b ∧ e1
e2
a R b ⇔ ∃e1, e2 ∈ E : #case(e1) = #case(e2) ∧ #act(e1) = a ∧ #act(e2) = b ∧ e1
e2
In fact, using the default event interval mapping of an event log, relation R coincides
with the weak order relation of [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], which allows us to construct a relation set [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]
based on intervals. In this paper, we will focus on behavioural relations based on the
interval in which an activity is executed.
      </p>
      <p>Although the above relation R¯is transitive, it abstracts away from the observed
sequences in the event log. As activities may have multiple occurrence intervals, it is
not an interval function. Therefore, we need to generalize the interval function to sets
of intervals.</p>
      <sec id="sec-4-1">
        <title>Definition 5 (Generalized interval function). Given a set S and a, possibly infinite</title>
        <p>set T ⊆ R, a function f : S → P(T × T ) is called a generalized interval function if
x ≤ y for all (x, y) ∈ f (a) and a ∈ S .</p>
        <p>A generalized interval function can define a large set of small intervals, or a small
set of large intervals. We call this the granularity of the interval function. Given any
generalized interval function, we can define its most fine granular interval function, i.e.,
each point is its own interval, and the most coarse granular interval function, i.e., the
conjunction of all intervals.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Definition 6 (Finest and coarsest interval functions). Let f : S → P(T × T ) be a</title>
      <p>generalized interval function. Its finest interval function, denoted by f ↓: S → P(T ×T ),
is defined by</p>
      <p>f ↓ (s) = {(t, t) | ∃(x, y) ∈ f (s) : x ≤ t ≤ y}
The coarsest interval function of f , denoted by f ↑ : S → P(T × T ), is defined by:
f ↑ (s) = { ( min{ π1( f (s) ) }, max{ π2( f (s) ) } ) }</p>
      <p>Consider as an example the event log shown in Tbl. 2 representing the events of
a single case. In this example, the time scale is defined as hours since the start of the
execution. Many different ways exists to map these events to a generalized interval
function on activities.</p>
      <p>Two example mappings are given in Fig. 2. In the first example, the start and
complete events of each activity are used to define the different intervals, whereas in the
second example the very first start event of the activity defines the begin of the interval,
and the very last complete event of the activity the end of the interval. Observe that in
Fig. 2(a) activities B and C have no overlap, whereas in Fig. 2(a) these activities do
have overlap.</p>
      <p>In general, an event log records many different executions. Therefore, we map each
execution to its own activity interval function. This results in an activity interval
mapping for an event log.</p>
      <p>As each event belongs to a single activity, we require that an activity interval
mapping defines a unique interval for each event in the event log. On the other hand, as an
activity may be represented by multiple occurrences, multiple events may be related to
the same activity interval.
Definition 7 (Activity interval mapping). Let L = (C, E, #) be an event log with
corresponding event interval mapping m, let A be a set of activities of L, and let T ⊆ R
be the time scale. The function G : C × A → P(T × T ) is called an activity interval
mapping iff
– each event has a unique corresponding interval, i.e.,</p>
      <p>∀e ∈ E : ( ∃I ∈ G(#case(e), #act(e)) : m(e) ⊆ I )
– each interval has at least one event occurrence, i.e.,</p>
      <p>∧ ( ∀I, J ∈ G(#case(e), #act(e)) : (m(e) ⊆ I ∧ m(e) ⊆ J) =⇒ I = J )
∀a ∈ A, c ∈ C, I ∈ G(c, x) : ∃e ∈ E : #case(e) = c ∧ #act(e) = a ∧ m(e) ⊆ I
The default activity interval mapping of an event log L, denoted by L¯: C × A → T × T ,
is defined by:</p>
      <p>L¯(c, a) = {m(e) | ∃e ∈ E : #case(e) = c ∧ #act(e) = a}</p>
      <p>Many different interval functions can be defined for an event log. As the next
corollary shows, such activity interval mappings are related, as intervals may be combined
into larger intervals, or split into several smaller intervals. It is simple to see that given
some activity interval mapping, its coarsest interval function is also an activity interval
mapping. Further, the finest interval function of the minimal activity interval mapping
is contained in the finest interval function of the activity interval mapping.
Corollary 8. Given an event log L with corresponding event interval mapping m and
activity interval function G. Let A be the set of activities in L. Then (1) G ↑is an activity
interval mapping, (2) L¯↓ ⊆ G ↓, and (3) π1(G ↑ (a)) ≤ π1(Lˆ↑ (a)) and π2(G ↑ (a)) ≥
π2(L¯↑ (a)) for all activities a ∈ A.
5</p>
    </sec>
    <sec id="sec-6">
      <title>Relations on Interval Sets</title>
      <p>
        In general, a generalized interval function does not define any interval order.
Consequently, approaches like in [
        <xref ref-type="bibr" rid="ref14 ref6">6, 14</xref>
        ] cannot be used to determine causality and similarity
relations. In this section, we derive such notions based on the generalized interval
function.
5.1
      </p>
      <sec id="sec-6-1">
        <title>Notions of Simultaneousness</title>
        <p>In an interval order two intervals are unrelated if one does not wholly occur after the
other, and vice versa. With sets of intervals, different degrees of simultaneousness can
be defined.</p>
        <p>The weakest form of simultaneousness is when two elements have some
overlapping intervals. For example, in the intervals shown in Fig. 3(a), activities A and B have
some intervals that overlap. Note that the relation is not transitive, as shown in the same
figure. We say an element s is dependent simultaneous with some other element t if for
every interval of s, an overlapping interval of t exists. Thus, everytime s is started, t will
be started as well, whereas if t occurs, s does not have to occur. If s always overlaps
with t, we say they are strongly dependent.
A
B
C
A
B</p>
        <p>C
(a) Weakly simultaneous</p>
        <p>(b) Dependent simultaneous
A
B
C</p>
        <p>(c) Strongly simultaneous</p>
        <p>Consider again Fig. 3. In Fig. 3(a) we have A ↔ B and B ↔ C but not A ↔ C,
in Fig. 3(b) we have A ⇒ B as every interval of A overlaps with some interval of B,
B ⇒ C as each interval of B overlaps with some interval of C and A ↔ C but not
A ⇒ C as not every interval of A overlaps with an interval of C. Last, in Fig. 3(c) we
have A B, B C and A ⇒ C but not A C, as every interval of A overlaps some
interval of C but not vice versa.</p>
        <p>Based on their definitions, it is trivial to see that strong simultaneousness implies
dependent simultaneousness which in turn implies weak simultaneousness.
Corollary 10. Let f be a generalized interval function over some set S , and let s, t ∈ S .
Then (1) s ⇒ t ∧ f (s) , ∅ =⇒ s ↔ t, and (2) and ↔ are symmetric and reflexive.</p>
        <p>
          As shown in Fig. 3, none of these relations is transitive. Consequently, we cannot
obtain equivalence classes based on the intervals. As the relation is symmetric and
reflexive, it can be used as a dependence relation over the set of activities, which allows
us to use Mazurkiewicz trace theory [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] for e.g. synthesis and to check completeness
of event logs.
5.2
        </p>
      </sec>
      <sec id="sec-6-2">
        <title>Notions of Causality</title>
        <p>
          Fishburn showed in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], that given an interval function f , any order with x y iff
π2( f (x)) &lt; π1( f (y)), i.e., that the interval of x is wholly after the interval of y, is an
interval order. Similarly, the &gt; relation in relation sets [
          <xref ref-type="bibr" rid="ref26 ref4">4, 26</xref>
          ] states that if a &gt; b but not
(a) Wholly succeeded by
(b) Succeeded by
A
B
C
A
B
C
A
B
C
A
B
C
(c) Strictly succeeded by
(d) Preceeded by
A
B
C
        </p>
        <p>(e) Strictly preceeded by
b &gt; a, then a and b are causally ordered, i.e., a is followed by b, but b never followed by
a. In terms of intervals, similar relations can be defined. Again, as an activity possibly
has multiple intervals, we need to adapt the notion of causality to sets of intervals.</p>
        <p>The first causality relation we introduce is if all intervals of some activity t occur
after the intervals of s occurred, i.e., s is wholly succeeded by t. An example is depicted
in Fig. 4(a), in which A is wholly succeeded by B and B is wholly succeeded by C. If
for each interval of s some interval of t can be found that wholly succeeds the interval
of s, we say that s is succeeded by t. In Fig. 4(b), A is always succeeded by B, and B is
always succeeded by C. Note that this allows intervals of t to occur simultaneously with
intervals of s, or even occurring before s, as shown in Fig. 4(b) where B occurs before
A. If s is succeeded by t and they have no overlapping intervals, we say that s is strictly
succeeded by t. An example is shown in Fig. 4(c), where A is strictly succeeded by B,
and B strictly succeeded by C. Note that whereas the succeeded relation is transitive,
the strictly succeeded is not, as A and C have overlap.</p>
        <p>Symmetrically, if for each interval of t an interval of s can be found that wholly
preceeds the interval of t, we say that t is preceeded by s. This allows intervals of s
to occur after intervals of t, or even simultaneously, as shown in Fig. 4(d) where B is
preceeded by A, and C by B. The relation is called strict, if s and t are not
simultaneously. Again, as shown in Fig. 4(e), the strictly preceeded relation is not transitive, as
B is strictly preceeded by A, and C by B, but A and C have overlap. This leads to the
following notions of causality.</p>
        <p>Definition 11 (Causality). Let f be a generalized interval function over some set S .
Let s, t ∈ S . Then:
– s is wholly succeeded by t, denoted by s t, if all intervals of t are after the intervals
of s, i.e., π2( f ↑ (s)) &lt; π1( f ↑ (t));
or c</p>
        <p>b holds.</p>
        <p>Suppose a
Proof. Let a, b, c, d ∈ S such that a
(d)) ≤ π2( f ↑ (a)) &lt; π1( f ↑ (b)). Hence, c
– s is succeeded by t, denoted by s D t, if each interval of s is followed by an interval
– s is strictly succeeded by t, denoted by s
of t, i.e., ∀(a, b) ∈ f (s) : ∃(c, d) ∈ f (t) : b &lt; c;</p>
        <p>t, if s D t and not s ↔ t;
of s, i.e. ∀(c, d) ∈ f (t) : ∃(a, b) ∈ f (s) : b &lt; c;
– t is strictly preceeded by s, denoted by s = t, if s w t and not s ↔ t.
– t is preceeded by s, denoted by s w t, if each interval of t is preceeded by an interval</p>
        <p>It is easy to see that the wholly succeeded relation is a strict order. Similarly, the
followed by and preceeded by relations are transitive. However, these relations are not
irreflexive in general. Only if the set of intervals for some activity is finite, the relations
are irreflexive as well, and thus a strict order. If an activity has an infinite set of intervals,
then it is succeeded by itself.</p>
        <p>If some activity is wholly succeeded by some other activity, then it is easy to show
that the former activity is strictly succeeded by the latter, and the latter is strictly
preceeded by the former.
x, y ∈ S .</p>
        <p>Corollary 12. Let f be a generalized interval function over some set S . Then (1)
is
a strict order, (2) D, and w are transitive, and (3) x
y =⇒
x
y ∧ x = y for all</p>
        <p>Further, the strictly succeeded by and strictly preceeded by relations are subsets of
the succeeded by and preceeded by relations, respectively.</p>
        <p>Corollary 13. Let f be a generalized interval function over some set S . Then (1)
D, and (2) = ⊆ w</p>
        <p>defined on events, the wholly succeeded by relation on
activities is an interval order, which follows directly from the definitions.
Lemma 14 (Wholly succeeded is an interval order). Let f be a generalized interval
function over some set S . Then
is an interval order.</p>
        <p>b, and c</p>
        <p>d. We need to show that either a
d does not hold, i.e., π2( f ↑ (a)) ≥ π1( f ↑ (d)). Then π2( f ↑ (c)) &lt; π1( f ↑
(a)) &lt; π1( f ↑ (b)) ≤ π2( f ↑ (c)) &lt; π1( f ↑ (d)). Hence, a</p>
        <p>b does not hold, i.e., π2( f ↑ (c)) ≥ π1( f ↑ (b)). Then π2( f ↑
5.3</p>
      </sec>
      <sec id="sec-6-3">
        <title>Other Control-Flow Relations</title>
        <p>The simultaneousness and causality relations form the basic building blocks of any
process modelling language. Many other control-flow relations can be defined, depending
on the needs within the process modelling notation. For example, one can define
anextto relation on activities, defining whether two activities are directly after one another,
without any activitiy in between. As for simultaneousness, this can be a weak relation,
i.e., for two activities there are intervals next to each other, or a strong relation, i.e., for
all intervals.
⊆
d
tu
Definition 15 (Next-to relation). Let f be a generalized interval function over some
set S . Let s, t ∈ S . We say s is next to t, denoted by s ◦ t, if some interval of s is directly
followed by an interval of t, without any occurrence of other activities in between, i.e.,
∃(k, l) ∈ f (s), (o, p) ∈ f (t) : ( l &lt; o ∧ ¬(∃u ∈ S : (m, n) ∈ f (u) : l &lt; n ∧ m &lt; o) )</p>
        <p>Similarly, s is followed by t, denoted by s • t, if all intervals of s are directly followed
by an interval of t, without any occurrence of other activities in between, i.e.,
∀(k, l) ∈ f (s) : ( ∃(o, p) ∈ f (t) : l &lt; o ∧ ¬(∃u ∈ S : (m, n) ∈ f (u) : l &lt; n ∧ m &lt; o) )
Naturally, if s is followed by t, then s is also succeeded by t.</p>
      </sec>
      <sec id="sec-6-4">
        <title>Corollary 16 (Follows implies succeeded). Let f be a generalized interval function</title>
        <p>over some set S , and let s, t ∈ S . Then if s • t then also s D t.</p>
        <p>As activities are represented by sets of intervals, an activity can be enclosed by
some other activity, i.e., some activity B always occurs between two intervals of A. We
call this relation betweenness. Again, this can be a strong notion, requiring this for all
intervals of B, or a weak notion, only requiring the existence of such an interval of B.
Definition 17 (Betweenness). Let f be a generalized interval function over some set
S . Let s, t ∈ S . We say t is weakly in between s, denoted by s # t, if some interval of t
is in between two intervals of s, i.e., ∃(m, n) ∈ f (t), (k, l), (o, p) ∈ f (s) : l &lt; m ∧ n &lt; o.</p>
        <p>Similarly, we say t is in between s, denoted by s t, if all intervals of t are between
two intervals of s, i.e., ∀(m, n) ∈ f (t) : (∃(k, l), (o, p) ∈ f (s) : l &lt; m ∧ n &lt; o).</p>
        <p>Altough betweenness seems a natural choice, it can be expressed in terms of the
basic causality notions defined in Def. 11.</p>
      </sec>
      <sec id="sec-6-5">
        <title>Corollary 18 (Betweenness implies basic causality). Let f be a generalized interval</title>
        <p>function over some set S , and let s, t ∈ S . If s t then s w t and t D s.
6</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Discovering Declarative Models</title>
      <p>The density of the time scale has a great impact on the level of concurrency in an event
log, and hence in the model that describes the allowed behaviour of the executions in
the event log. Procedural languages prescribe the order in which activities are supposed
to occur. Consequently, concurrency needs to be modelled explicitly in such languages.
Instead, we use a declarative approach that has concurrency as a language primitive:
activities may occur simultaneous, unless constraints prohibit the execution of the
activity.
6.1</p>
      <sec id="sec-7-1">
        <title>Declare Language</title>
        <p>
          In this paper, we use the declarative language Declare [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. The language provides a
graphical layout to visualize the activities and constraints in the model. It does not
come with a predefined set of language constructs. Instead it offers a set of language
constructs called constraint templates, which the user may adapt to its own needs. These
constraint templates are based on Linear Time Logic (LTL) [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Declare comes with a
        </p>
      </sec>
      <sec id="sec-7-2">
        <title>Graphically</title>
        <p>init
A
A
A
A
B
B
B
n.m
A
B
B
B
B
B</p>
      </sec>
      <sec id="sec-7-3">
        <title>Constraint</title>
        <p>init
response
precedence
non coexistence</p>
      </sec>
      <sec id="sec-7-4">
        <title>Template</title>
        <p>σ(1) = A
(A =⇒</p>
        <p>B)
((¬B) U A) ∨ ¬B
¬(( A) ∧ ( B))
(n..m) occurrences |{i | σ(i) = A}| ∈ [n..m] ⊆ N
basic set of language constructs. Tbl. 3 depicts the language constructs from Declare
used in this paper.</p>
        <p>The first constraint template, init, states that the first activity of any sequence,
represented by σ, should start with A, where A is a placeholder for the actual activity.
Similarly, the response template states that every A should eventually be followed by
some activity B. The precedence constraint template expresses that some activity B has
to be preceeded by some activity A. With the non coexistence template, it is possible to
express that two activities should not occur together in any sequence. Last, we allow to
limit the number of times an activity can be executed using the n..m occurrences
template, where n ≤ m specifies the minimal and maximal number of times some activity
A is executed.</p>
      </sec>
      <sec id="sec-7-5">
        <title>6.2 Interval-Based Constraints</title>
        <p>The constraints in Declare do not take activity duration into account. Consequently, we
need to relate the constructs used in Declare with the simultaneousness and causality
relations defined in the previous section.</p>
        <p>First, consider the response constraint template. This constraint expresses that
activity A is always eventually followed by B. This can be interpreted in many different
ways, e.g., “once activity A is started, activity B will eventually start”, or “once
activity A is finished , activity B will eventually start”. We choose the latter interpretation,
i.e., after activity A finished, eventually activity B will start. A second consideration is
whether the response and precedence templates should allow the activities in the
constraint to occur simultaneously. As the response template is transitive in the Declare
language, we allow the activities to overlap. Thus, we interpret the response template
with the succeeded by relation introduced in the previous section. Similarly, we interpret
the preceeds template as “before activity B starts, activity A should be finished”, which
coincides with the preceeds by relation introduced in the previous section. Therefore,
the strictly succeeded by and strictly preceeded by relations are added to the Declare
language, as shown in Tbl. 4.</p>
        <p>Although in Declare concurrency is a language primitive, each activity in the model
is considered to be instantaneous. The language does not provide any constraint that
limits concurrency without destroying it. Thus, the weak simultaneousness relation as
presented in the previous section is directly supported in the language. The two stronger
simultaneousness relations impose an order on the activities: although the activities
may overlap, the other activity must be executed simultaneously. This is expressed by
the strongly simultaneous template and dependent simultaneous template as depicted in
Tbl. 4.
6.3</p>
      </sec>
      <sec id="sec-7-6">
        <title>Discovery</title>
        <p>In the previous section, we introduced several notions of simultaneousness and
causality. Up to now, these relations only consider a single execution of the system. An event
log contains a set of executions that are executed by, most likely, the same process.
Hence, to come to a model that describes each of the executions in the event logs, we
need to aggregate the relations over the different executions in the event log.</p>
        <p>In what follows, we sketch a declarative discovery algorithm based on time
intervals. Here, it is important to mention that the choice of the generalized interval functions
for the activities breaks or makes the approach presented in this paper.
Events to interval First step in the approach is to map each event to an interval. In
many cases the default event interval mapping, i.e., that maps each event to a
singlepoint interval, can be used. In some cases, for example if event logs of multiple systems
are combined, a reliability interval can be attached to each interval.</p>
        <p>
          Activities to sets of intervals Next step is the construction or discovery of an accurate
activity interval mapping. For example, one can fix the granularity of the time scale,
make it relative or absolute, and then map each event to the corresponding time interval.
Or, one can use the event types to determine the life cycle of an activity, and base the
activity interval mapping on this information. Although at first sight this seems to be
a trivial step, there are many pitfalls [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. For example, if two instances of the same
activity run simultaneously, which interval should be used to map the activity on?
        </p>
        <p>Strongly
simultaneousness</p>
        <p>Dependently
simultaneousness</p>
        <p>Weakly
simultaneousness</p>
        <p>Wholly succeeded by</p>
        <p>Strictly
succeeded by</p>
        <p>Strictly
preceeded by
succeeded by</p>
        <p>preceeded by
(a) Simultaneousness</p>
        <p>(b) Causality
Derive relations Once the activity interval mapping has been established, we can start
to derive the different relations. For example, the (n..m) occurrences template can be
easily constructed by analyzing the number of occurrences in each of the sequences in
the event log. Similarly, the non-coexistence relation can be calculated by a single walk
through the sequences of the event log.</p>
        <p>Next step would be to derive the different simultaneousness relations and causality
relations. For this, we use the relation hierarchy as depicted in Fig. 5, which follows
directly from Cor. 10 and Cor. 12. An arrow from one relation to another relation means
that the former is included in the latter. For example, the strongly simultaneousness
relation is included in the dependently simultaneousness relation. The algorithm starts
with assuming the strongest relation between each of the activities. By going through
the different intervals, relations are weakened, until all intervals of all sequences in the
event log have been inspected.</p>
        <p>
          The algorithms to derive the simultaneousness and causality relations do not take
transitivity into account, which results in models with many constraints, expressing the
complete transitive closure of the respective relations. Therefore, these relations need
to be reduced, such that the transitive closure of this reduced relations remain the same.
For this, standard algorithms as described in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] can be used. Although at first sight this
seems a straightforward task, it is not, as one wants to take the hierarchy of relations
into account during the reduction, which is closely related to the “minimum equivalent
graph” problem [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], which is NP-hard.
        </p>
        <p>
          Last, we sugar the models using nesting, as has been done in e.g. Dynamic
Condition Response Graphs [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. In this approach, set of nodes having the same constraints
are nested in a so called “super nodes”.
        </p>
        <p>For the example event log of Tbl. 1, the discovery algorithm that has been sketched
above results in the model depicted in Fig. 6. For the activities B, C, and E, we briefly
illustrate the steps of the algorithm. In the first step, we take a relative time scale for
the activity interval mapping. Moreover, a “start” event denotes the start time of an
activity and a “complete” event denotes the end time of an activity. Secondly, all three
0. 1
B
0. 1
D
activities occur at most once in each of the sequences of the event log resulting into a
0..1 occurrence relation for each of them. Also, activity A and B never occur together
in each sequence. In the third step, it is discovered that activities B and C are strongly
simultaneous. Also, the tree activities are all preceeded by activity A and succeeded by
activity G. Finally, in the last step, activities B, E and C are nested, as these activities
are all preceeded by A, do not coexist with D and F, and are all succeeded by G.
7</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Conclusions</title>
      <p>Timestamps in an event log play an essential role in process mining to determine the
order in which events occur. A typical problem in process mining is the impreciseness
of these timestamps. In this paper, we overcome this problem by assuming that each
event occurs in some time window, i.e., in some interval. As the intervals in an event
log are on the level of events, rather than on the level of activities, we have presented
an approach based on sets of intervals to represent the occurrences of the activities in
the model. On these sets of intervals new notions of simultaneousness and causalities
are derived. These notions form the basis to discover declarative models.</p>
      <p>The simultaneousness relation forms a natural candidate for the dependency relation
in Mazurkiewicz traces. In this way, simultaneousness can be used to test the
completeness of event logs, by exploring the Mazurkiewicz equivalent traces.</p>
      <p>Although intervals are a natural choice to overcome the impreciseness of
timestamps, choosing the right time window is a hard problem. The events and activities can
be mapped to intervals in many different ways. The granularity of the time scale, like
milliseconds, hours or days, can be used to define the intervals, the time scale can be
relative or absolute. Or, if the event log contains a transition life cycle, like a start and
complete event, then the first and last event of each execution can be used to
determine the intervals in the activity interval mapping. Empirical research is needed to test,
validate and compare the different alternatives.</p>
      <p>
        As the proof of the pudding is in the eating, we will implement the presented
approach in ProM [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] to perform more case studies to test and fine tune the resulting
declarative models.
Acknowledgements The authors would like to thank Jetty Klein for the fruitful
discussions about paradigms of concurrency and interval orders.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
          </string-name>
          .
          <source>Process Mining: Discovery, Conformance and Enhancement of Business Processes</source>
          . Springer-Verlag, Berlin,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
            , M. Pesic, and
            <given-names>M.H.</given-names>
          </string-name>
          <string-name>
            <surname>Schonenberg</surname>
          </string-name>
          .
          <article-title>Declarative workflows: Balancing between flexibility and support</article-title>
          .
          <source>Computer Science - Research and Development</source>
          ,
          <volume>23</volume>
          :
          <fpage>99</fpage>
          -
          <lpage>113</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
            and
            <given-names>C. Stahl. Modeling</given-names>
          </string-name>
          <string-name>
            <surname>Business Processes - U˝ A Petri Net-Oriented Approach</surname>
          </string-name>
          . The MIT Press,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
          </string-name>
          , A.
          <string-name>
            <surname>J.M.M. Weijters</surname>
            , and
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Maruster</surname>
          </string-name>
          . Workflow Mining:
          <article-title>Discovering Process Models from Event Logs</article-title>
          .
          <source>Knowledge &amp; Data Engineering</source>
          ,
          <volume>16</volume>
          (
          <issue>9</issue>
          ):
          <fpage>1128</fpage>
          -
          <lpage>1142</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A.V.</given-names>
            <surname>Aho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Garey</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>The Transitive Reduction of a Directed Graph</article-title>
          .
          <source>SIAM Journal on Computing</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ):
          <fpage>131</fpage>
          -
          <lpage>137</lpage>
          ,
          <year>June 1972</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>J.F.</given-names>
            <surname>Allen</surname>
          </string-name>
          .
          <article-title>Towards a general theory of action and time</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>23</volume>
          (
          <issue>2</issue>
          ):
          <fpage>123</fpage>
          -
          <lpage>154</lpage>
          ,
          <year>July 1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J.F.</given-names>
            <surname>Allen</surname>
          </string-name>
          .
          <article-title>Actions and Events in Interval Temporal Logic 1 Introduction</article-title>
          .
          <source>Journal of Logic and Computation</source>
          ,
          <volume>4</volume>
          :
          <fpage>531</fpage>
          -
          <lpage>579</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>E.</given-names>
            <surname>Clarke</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Emerson</surname>
          </string-name>
          .
          <article-title>Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic</article-title>
          .
          <source>In Logics of Programs</source>
          , volume
          <volume>131</volume>
          <source>of LNCS</source>
          , pages
          <fpage>52</fpage>
          -
          <lpage>71</lpage>
          . Springer-Verlag, Berlin,
          <year>1982</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>P.</given-names>
            <surname>Degano</surname>
          </string-name>
          and
          <string-name>
            <given-names>U.</given-names>
            <surname>Montanari. Concurrent Histories</surname>
          </string-name>
          :
          <article-title>A Basis for Observing Distributed Systems</article-title>
          .
          <source>Journal of Computer and System Sciences</source>
          ,
          <volume>34</volume>
          (
          <issue>2-3</issue>
          ):
          <fpage>422</fpage>
          -
          <lpage>461</lpage>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>V.</given-names>
            <surname>Diekert</surname>
          </string-name>
          and G. Rozenberg, editors.
          <source>The Book of Traces. World Scientific, Singapore</source>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>P.C Fishburn</surname>
          </string-name>
          .
          <article-title>Interval graphs and interval orders</article-title>
          .
          <source>Discrete Mathematics</source>
          ,
          <volume>55</volume>
          (
          <issue>2</issue>
          ):
          <fpage>135</fpage>
          -
          <lpage>149</lpage>
          ,
          <year>July 1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>T.</given-names>
            <surname>Gschwandtner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gärtner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Aigner</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Miksch</surname>
          </string-name>
          .
          <article-title>A Taxonomy of Dirty Time-Oriented Data</article-title>
          . In G. Quirchmayr,
          <string-name>
            <given-names>J.</given-names>
            <surname>Basl</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. You</surname>
          </string-name>
          , and E. Weippl, editors,
          <source>CD-ARES</source>
          <year>2012</year>
          , volume
          <volume>7465</volume>
          <source>of LNCS</source>
          , pages
          <fpage>58</fpage>
          -
          <lpage>72</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. T. Hildebrandt,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mukkamala</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Slaats</surname>
          </string-name>
          .
          <article-title>Nested dynamic condition response graphs</article-title>
          .
          <source>Fundamentals of Software Engineering</source>
          , pages
          <fpage>343</fpage>
          -
          <lpage>350</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>R.</given-names>
            <surname>Janicki</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Koutny</surname>
          </string-name>
          .
          <article-title>Structure of concurrency</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>112</volume>
          (
          <issue>1</issue>
          ):
          <fpage>5</fpage>
          -
          <lpage>52</lpage>
          ,
          <year>April 1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Wen</surname>
            . L.,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Huang</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Sun</surname>
          </string-name>
          .
          <article-title>A Novel Approach for Process Mining based on Event Types</article-title>
          .
          <source>Journal of Intelligent Information Systems</source>
          ,
          <volume>32</volume>
          :
          <fpage>163</fpage>
          -
          <lpage>190</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>R.D. Luce</surname>
          </string-name>
          .
          <article-title>Semiorders and a Theory of Utility Discrimination</article-title>
          . Econometrica,
          <volume>24</volume>
          (
          <issue>2</issue>
          ):
          <fpage>178</fpage>
          -
          <lpage>191</lpage>
          ,
          <year>1956</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>F.M. Maggi</surname>
            ,
            <given-names>R.P.J.C.</given-names>
          </string-name>
          <string-name>
            <surname>Bose</surname>
            , and
            <given-names>W.M.P. van der Aalst.</given-names>
          </string-name>
          <article-title>Efficient discovery of understandable declarative process models from event logs</article-title>
          .
          <source>In CAiSE</source>
          , volume
          <volume>7328</volume>
          <source>of LNCS</source>
          , pages
          <fpage>270</fpage>
          -
          <lpage>285</lpage>
          . Springer-Verlag, Berlin,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>D.M. Moyles</surname>
            and
            <given-names>G.L.</given-names>
          </string-name>
          <string-name>
            <surname>Thompson</surname>
          </string-name>
          .
          <article-title>An algorithm for finding the minimum equivalent graph of a digraph</article-title>
          .
          <source>Journal of the ACM</source>
          , pages
          <fpage>455</fpage>
          -
          <lpage>460</lpage>
          ,
          <year>1969</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>J.</given-names>
            <surname>Nakatumba</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.M.P. van der Aalst. Analyzing</given-names>
            <surname>Resource</surname>
          </string-name>
          <article-title>Behavior Using Process Mining</article-title>
          . In S. et al. Rinderle-Ma, editor,
          <source>BPM 2009 Workshops</source>
          , volume
          <volume>43</volume>
          <source>of LNBIP</source>
          , pages
          <fpage>69</fpage>
          -
          <lpage>80</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>S.S</given-names>
            <surname>Pinter</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Golani</surname>
          </string-name>
          .
          <source>Discovering Workflow Models from Activities' Lifespans. Computers in Industry</source>
          ,
          <volume>53</volume>
          :
          <fpage>283</fpage>
          -
          <lpage>296</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Y.-L. Qu</surname>
            and
            <given-names>T.-S.</given-names>
          </string-name>
          <string-name>
            <surname>Zhao</surname>
          </string-name>
          .
          <source>Building Process Models Based on Inverval Logs</source>
          . In M. Ma, editor,
          <source>Communication Systems and Information Technology</source>
          , volume
          <volume>100</volume>
          <source>of LNEE</source>
          , pages
          <fpage>71</fpage>
          -
          <lpage>78</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22. G. Rosu and
          <string-name>
            <given-names>S.</given-names>
            <surname>Bensalem</surname>
          </string-name>
          .
          <article-title>Allen Linear (Interval) Temporal Logic - Translation to LTL and Monitor</article-title>
          . In Computer Aided Verification , pages
          <fpage>263</fpage>
          -
          <lpage>277</lpage>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>H.M.W. Verbeek</surname>
            ,
            <given-names>J.C.A.M.</given-names>
          </string-name>
          <string-name>
            <surname>Buijs</surname>
            ,
            <given-names>B.F. van Dongen</given-names>
          </string-name>
          , and
          <string-name>
            <surname>W.M.P. van der Aalst. XES</surname>
          </string-name>
          , XESame, and
          <article-title>ProM 6</article-title>
          .
          <source>In Information System Evolution</source>
          , volume
          <volume>72</volume>
          , pages
          <fpage>60</fpage>
          -
          <lpage>75</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>J. de Weerdt</surname>
            , M. de Backer,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Vanthienen</surname>
            , and
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Baesens</surname>
          </string-name>
          .
          <article-title>A Multi-dimensional Quality Assessment of State-of-the-Art Process Discovery Algorithms using Real-Life Event Logs</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>37</volume>
          :
          <fpage>654</fpage>
          -
          <lpage>676</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>M. Weidlich</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Mendling</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>Efficient consistency measurement based on behavioral profiles of process models</article-title>
          .
          <source>IEEE Trans. Software Eng.</source>
          ,
          <volume>37</volume>
          (
          <issue>3</issue>
          ):
          <fpage>410</fpage>
          -
          <lpage>429</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>M.</given-names>
            <surname>Weidlich</surname>
          </string-name>
          and
          <string-name>
            <surname>J.M.E.M. van der Werf</surname>
          </string-name>
          .
          <article-title>On Profiles and Footprints - Relational Semantics for Petri Nets</article-title>
          .
          <source>In Application and Theory of Petri Nets, LNCS</source>
          , pages
          <fpage>148</fpage>
          -
          <lpage>167</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>J.M.E.M. van der Werf</surname>
            ,
            <given-names>B.F. van Dongen</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>C.A.J.</given-names>
            <surname>Hurkens</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Serebrenik</surname>
          </string-name>
          .
          <article-title>Process Discovery Using Integer Linear Programming</article-title>
          .
          <source>Fundamenta Informatica</source>
          ,
          <volume>94</volume>
          (
          <issue>3 - 4</issue>
          ):
          <fpage>387</fpage>
          -
          <lpage>412</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <given-names>N.</given-names>
            <surname>Wiener</surname>
          </string-name>
          .
          <article-title>A contribution to the theory of relative position</article-title>
          .
          <source>Proceedings of the Cambridge Philosophical Society</source>
          ,
          <volume>17</volume>
          :
          <fpage>441</fpage>
          -
          <lpage>449</lpage>
          ,
          <year>1914</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>N.</given-names>
            <surname>Wiener</surname>
          </string-name>
          .
          <article-title>A new theory of measurement: A study in the logic of mathematics</article-title>
          .
          <source>Proceedings of the London Mathematical Soc., s2-19</source>
          (
          <issue>1</issue>
          ):
          <fpage>181</fpage>
          -
          <lpage>205</lpage>
          ,
          <year>1921</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>