<!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>E. Marengo);</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Responsibilities for Optimal Process Alignment Computation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matteo Baldoni</string-name>
          <email>matteo.baldoni@unito.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cristina Baroglio</string-name>
          <email>cristina.baroglio@unito.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elisa Marengo</string-name>
          <email>elisa.marengo@unito.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roberto Micalizio</string-name>
          <email>roberto.micalizio@unito.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Process Alignment, Responsibilities, Responsibility Alignment</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Turin, Computer Science Department - Turin</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2070</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>Process alignment aims at relating an actual execution, captured as a log trace, to a process run of a model. Besides considering the control flow aspect, in this paper we propose to leverage on contextual information expressed in terms of responsibilities. This allows us to select, among the possible alignments, those where the fewest number of responsibilities is neglected. Additionally, we leverage on responsibilities to evaluate the deviations occurring between a process run and the log trace: deviations which are justified by a responsibility are considered correct behaviours rather than errors.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        When it comes to process model executions, it might be the case that the actual executions
do not perfectly match with a run foreseen by the model. Conformance checking in
process mining aims at finding the process run which is closest to an execution [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Specifically, in classical trace alignment the approach is to scan stepwise a logged trace
with a sequence of activities from the process model trying to match them and, where
this is not possible, detecting mismatches.
      </p>
      <p>
        In performing this task, most of the approaches consider control flow information only,
and attribute the same cost to the deviations. As a result, the optimal alignment is
the one minimizing the number of deviations. More recent works consider contextual
information to evaluate mismatches [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref5 ref6 ref7">2, 3, 4, 5, 6, 7</xref>
        ]. The underlying idea is that when
additional information is available, leveraging on it in conformance checking leads to
more realistic and informative alignments.
Papers
      </p>
      <p>
        In this paper we focus on responsibilities, through which organizations are capable of
incorporating regulations, laws, policies, objectives and such like. Responsibilities, which
can be on simple tasks as well as complex tasks (i.e., subprocesses), are an integral part of
business organizations. Several models exists to define them, such as Business Motivation
Models (BMM) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], assigning responsibilities to Organizational Units, or RACI matrices,
associating roles to tasks with the meaning of defining which roles are directly responsible
for the completion of what tasks. Responsibilities are therefore capable of capturing
when an activity should, or should not, be performed. However, despite their informative
power, so far conformance checking techniques, and trace alignment in particular, have
neglected them. Consider, for instance, a buying and selling process. An employee is
not only responsible for sending a payment confirmation after a payment, but she is
also responsible for sending the confirmation only if the payment occurred. Therefore, if
in an actual execution both payment and payment confirmation are missing, only the
ifrst should be considered as an anomaly. These considerations are not part of standard
approaches, which instead would consider both mismatches as non-compliant behaviors.
This is also due to the nature of process models, which is often more prescriptive than
strictly required.
      </p>
      <p>
        In this work, we propose to complement such a model with responsibilities ans we
show how this would allow us to determine when a mismatch in an alignment is not
necessarily a misbehavior, but an acceptable alternative. The paper is organized as
follows. In Section 2 we propose a formalism for responsibility representation which
supports the specification of declarative orderings among activities. In Section 3 we
provide the formalization of process model extended with responsibilities. An alignment
strategy that accounts for mismatches with the process model as well as responsibilities
that are either satisfied or neglected is presented in Section 4. An extended version of
the paper can be found in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Responsibilities: Definition and Evaluation in a Trace</title>
      <p>
        The term responsibility is associated with multiple shades of meaning [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In this paper,
as well as in BMM and other business models, responsibility refers to an actor’s duty to
perform a task in a given context, or role responsibility in the terminology by Vincent
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Formally, we represent a responsibility relation as R( ,u,v) where  is a role, u is a
context condition, and v is the duty assigned to  . Intuitively, R( ,u,v) states that any
actor playing role  will be receptive to the need of bringing about v if u holds, and hence
it will be answerable about v in that specific context. That is, it would be possible to
ask  an account about her involvement in the achievement, or not, of duty v. Condition
u and duty v can both be simple activities or temporal patterns on activities executions.
      </p>
      <p>
        Our proposal is to leverage on responsibilities, and the fact that they can be neglected,
as a preference criterion on alignments. In fact, in the real execution of a process, an
actor can either meet or neglect her responsibilities. Our goal is to use these events as
contextual information for trace alignment, relying on the assumption that role players
will act so to be aligned as much as possible with their responsibilities. Let us consider
an example inspired by [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>Example (Alignments and Responsibilities). In a Fine Management Process, a fine is
ifrst sent (Send-Fine) to the ofender, then the ofender can either appeal to the judge
(Appeal-Judge), or pay (Pay), in which case a receipt is produced by an employee
(Send-Receipt). Only two model runs are possible: E1 = ⟨Send-Fine, Appeal-Judge⟩
and E2 = ⟨Send-Fine, Pay, Send-Receipt⟩. Let us consider the observed execution trace:
 = ⟨ Send-Fine⟩. The possible alignments with trace T are the following, where ≫
represents mismatches (i.e., moves where either the log trace or the model moves one
step).</p>
      <p>A1 = SSeenndd--FFiinnee Appea≫l-Judge A2 = SSeenndd--FFiinnee P≫ay Send-≫Receipt
Classical approaches would conclude that the model execution E1 is closer to the trace
because in A1 there is one mismatch, while in A2 there are two. Let us now assume that
the model is complemented with an explicit representation of responsibilities, and that
the employee is (always) responsible for producing a receipt only after the payment of the
ifne, and only in case it occurs. Assessing the two alignments against such a responsibility
allows us to observe that the lack of Send-Receipt in A2 is actually correct, justified
by the fact that the payment did not occur. Therefore, it should not be considered a
mismatch, and the two alignments can be considered as equivalent in terms of number of
mismatches.</p>
      <p>Responsibilities provide, in a declarative manner, the expected context of an activity,
which is precious for interpreting a logged trace in a way that goes beyond the syntactic
distance between strings. Accordingly, we define the cost of an alignment as depending
both on the responsibilities that are neglected, and the found mismatches as follows: a
neglected responsibility amounts to a cost accumulated by the alignment; a mismatch
justified by responsibilities (as for Send-Receipt in our example) does not contribute
to the cost of an alignment, while other mismatches are considered as misbehavior and
contribute to the cost.</p>
      <p>
        To express context conditions and duties in a responsibility relation we rely on
precedence logic defined in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and summarized in the following.
      </p>
      <p>
        Precedence Logic. Given a responsibility R(x,u,v), we denote the conditions u and v as
precedence logic expressions, defined over the set of symbols Σ ∪ {0, ⊤}; here, Σ is a set of
activity symbols, 0 means false, and ⊤ means true. Precedence logic is an event-based
linear temporal logic, obtained from propositional logic augmented with the temporal
operator (⋅) before. Such an operator is used to express minimal ordering requirements
between events. For instance,  ⋅  expresses the requirement for event  to occur some
time before the occurrence of event  (need not be strictly before). Besides the before
operator, the logic includes the ∨ (choice) and the ∧ (interleaving) operators (capturing
that two conditions need to be satisfied but there is no temporal requirements between
them). Given a workflow  expressed in precedence logic, the residual of  against an
event  , denoted as / , defines the evolution of  after the occurrence of event  . The
residual operator is defined by rules (a – h) below, defined in [
        <xref ref-type="bibr" rid="ref12 ref13">13, 12</xref>
        ]. Here,  is a given
workflow,  is an event or ⊤, its complement  ̄ represents the non-occurrence of  , and Γ
represents the set of literals in  and their complements (e.g., Γ⋅ = {, , ,̄ }̄ ).
      </p>
      <p>
        The residual / is defined as:
(a)
(c)
(e)
(g)
0/ ≐ 0
( 1 ∧  2)/ ≐ (( 1/) ∧ ( 2/))
( ⋅  1)/ ≐  1 if  ∉ Γ  1
( ′ ⋅  1)/ ≐ 0 if  ∈ Γ  1
(b)
(d)
(f)
(h)
⊤/ ≐ ⊤
( 1 ∨  2)/ ≐ (( 1/) ∨ ( 2/))
( 1/) ≐  1 if  ∉ Γ  1
( ⋅̄  1)/ ≐ 0
Since 0 amounts to false, and ⊤ to true, the residual operator can be used for assessing
whether a workflow expression  is satisfied by a given sequence of events  = ⟨ 1, … ,   ⟩
in Σ. Specifically, we denote as / the expression (((/ 1)/ 2) …)/  . When / leads
to ⊤,  is a possible execution run of  . When / leads to 0  represents a trace not
compliant with  . According to [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], it is assumed that i) the events in  are non-repeating
(timestamps can be used to diferentiate multiple instances of the same event [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]), and
ii) an event  and its complement  ̄ are mutually exclusive in every sequence  .
Evaluate Responsibilities in a Trace. Relying on precedence logic gives us two advantages:
1) generality, since we can model both contexts and duties as workflows, and 2) semantics,
since we can assess the state of a responsibility against a log trace relying on the residual
operator. Specifically, we can assess the state of R(x,u,v) as either i) active, ii) discharged
iii) neglected, or iv) satisfied, given an execution trace  = ⟨ 1, … ,   ⟩ of events over Σ.
Formally, let us denote as ⟨ 1, … ,   ⟩ a prefix of  events with 1 ≤  ≤  ,
• R(x,u,v) is active at step  (s.t.  &lt;  ), if u/⟨ 1, … ,   ⟩ = ⊤ and v/⟨ 1, … ,   ⟩ is
neither ⊤ nor 0;
• R(x,u,v) is discharged at step  if u/⟨ 1, … ,   ⟩ = 0 (the residual of v is irrelevant);
• R(x,u,v) is satisfied at step  if u/⟨ 1, … ,   ⟩ = ⊤ and v/⟨ 1, … ,   ⟩ = ⊤;
• R(x,u,v) is neglected at step  if u/⟨ 1, … ,   ⟩ = ⊤ and v/⟨ 1, … ,   ⟩ = 0, or at step 
(the end of the execution) when u/ = ⊤ and v/ is not ⊤.
      </p>
      <p>Intuitively, when the responsibility is active there is an expectation on  to bring about
v since the context condition u holds. When the responsibility is discharged, instead,
the context condition does not hold (and cannot hold along the given  ), and hence no
expectation about v can be made. The responsibility is satisfied along  when both u
and v progress to ⊤. Finally, a responsibility is neglected either when, at any execution
step, the context condition u holds and the duty v does not, or when, at the end of the
trace, u holds and v has not progressed to ⊤, that is, the expectation created with u has
not been met.</p>
      <p>Example (Responsibilities). Let us consider a set Σ of activity symbols {p, sf, sr} standing
respectively for Pay, Send-Fine and Send-Receipt. Consider a responsibility relation
R(x,⊤, p ⋅ sr) expressing that the receipt has to be sent only after the payment. Let
us consider the execution ⟨sf, sr⟩ and apply the residual with respect to it. First, since
sf ∉ Γp⋅sr, rule (e) applies: p ⋅ sr/sf = p ⋅ sr. Then, rule (g) applies to p ⋅ sr/sr since sr ∈ Γsr,
bringing the responsibility to be neglected.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Process Model with Responsibilities</title>
      <p>In our approach a process model accounts both for the control flow, and for responsibility
relations assigned to roles taking part to the process. We distinguish the two parts, defining
a Process Net, specified as a labeled Petri Net in Definition 3.1; and complementing it
with a set of responsibilities annotating it.</p>
      <p>
        We define a process net as an extension of the process model given in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] by including
a set of roles and assigning them to the activities. A role can be seen as a participant to
the process and defined in terms of its function or skills.
      </p>
      <p>Definition 3.1 (Process Net). A Process Net is a Labeled Petri Net defined as a tuple
N = ⟨ ,  ,  ,  0,   , Σ, ,  ,  ⟩ , where  is the set of places,  is the set of transitions (with
 ∩  = ∅ ),  is the flow relation  ⊆ ( ×  ) ∪ ( ×  ) ,  0 is the initial marking,   is the
ifnal marking, Σ is the set of activity symbols,  ∶  → Σ ∪ { } labels every transition by
an activity or as silent,  is the set of roles, and  ∶ Σ →  assigns a role to every activity
in Σ.</p>
      <p>A process net N sets the scope of responsibility relations, since it specifies both the roles
 and the activities Σ over which a responsibility is defined. Responsibilities are defined
at design time, and relying on precedence logic allows us to specify that a responsibility
be active when a precise execution path occurs. For instance, given a process net N and
the activities a, b, c, d ∈ Σ, and a role  ∈  , to specify that an actor playing role  is
responsible for activity d only if activities a, b, and c (in the order but possibly interleaved
with other events) occur, one can specify the responsibility relation R( , a ⋅ b ⋅ c, d).
Instead, to specify that the responsibility is activated when the three activities occur in
any order one can use the relation R( , a ∧ b ∧ c, d).</p>
      <p>We expect that each responsibility is consistently defined with the process model it
refers to. In other terms, both the context and the duty conditions are assumed to be
(sub)workflows that can be generated by at least one model run. Therefore, there is
always at least a way to satisfy a responsibility.</p>
      <p>Activities are part of the context in which responsibilities hold. For instance, by
accepting an order, an employee becomes responsible for a number of duties. We “attach”
responsibilities to activities, meaning intuitively that a responsibility gets relevant when
its corresponding activity is performed. For instance, R( , a ⋅ b ⋅ c, d) can be attached to
e, to express that it gets relevant when e is executed. The context condition captures
that, if e can be reached from more than one path, the responsibility is activated only by
the path where a ⋅ b ⋅ c holds. Definition 3.2 formally define the responsibility labelling of
a process net.</p>
      <p>Definition 3.2 (Responsibility Labelling). Let N be a process net, and let  and Σ be,
respectively, the set of roles and activity symbols in N. A responsibility labeling over N is
a function R ∶ Σ → {R1, … , R } where each R is a responsibility relation R(  , u , v ), such
that:   ∈  and u and v are precedence logic expressions over Σ ∪ {0, ⊤}.</p>
      <p>A process model is then defined as a pair M = ⟨N, R⟩ where N is a process net as in
Definition 3.1, and R is a responsibility labelling as in Definition 3.2.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Flow and Responsibility Alignments</title>
      <p>
        An alignment compares a process execution against an execution trace (i.e., a log trace).
Generally, the objective is to find, among the possible ones, an alignment which is optimal
w.r.t. a criterion of preference. Intuitively, an alignment proceeds step-by-step on the
model and on the log: at each step, if the activity in the model and the one in the log
match each other, a synchronous move is made, and both model and log advance one
step. Otherwise, either the model moves and the log does not, or the other way around,
the log moves and the model does not. Usually, to find an optimal matching, a cost
function associated with mismatches (i.e., asynchronous moves) is defined. So, an optimal
alignment is the one minimizing the cumulative cost of the mismatches. The classical
approach is to minimize the number of asynchronous moves [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        In our approach, an optimal alignment is determined taking into account both the
alignment between a log trace and a model run, and the involved responsibilities. We refer
to the former as flow alignment and to the latter as responsibility alignment. Definition 4.1
formalizes the notion of flow alignment. The symbol ≫ represents a no-move, and is used
for marking asynchronous moves. More in general, given a process model M = ⟨N, R⟩, we
use the term model run for the sequence of activity symbols in Σ produced by a full run
of the process net N, where a Petri Net full run is a sequence of firings from the initial
marking to the final one [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. We also assume the process net N to be easy sound [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],
that is, there exists at least one full run. The term log trace, instead, refers to an actual
execution of a process instance of M. It is a finite sequence of activity symbols  ∈ Σ ∗
(i.e., the space of sequences defined over Σ).
      </p>
      <p>Definition 4.1 (Flow Alignment). Let  = ⟨ 1, … ,   ⟩ be a log trace in Σ∗, and N =
⟨ ,  ,  ,  0,   , Σ, ,  ,  ⟩ a process net, an alignment of  with the process net N is a finite
sequence  = ⟨( 1,  1′), … , (  ′,  ′ )⟩ of moves such that:</p>
      <p>′
• each move is either: a synchronous move ( , ) ∈ Σ ×  with  = () , a log move
(, ≫ ), or a model move (≫,  ),
• dropping the ≫ symbols from the left projection ( 1′, … ,   ′) of  , yields  ,
• dropping the ≫ symbols from the right projection ( 1′, … ,  ′ ) of  , yields a full run
 of N.</p>
      <p>To consider the responsibilities in evaluating the optimal alignment, our approach
is to collect all the responsibilities attached to the activities of a model run (i.e., the
responsibilities that should be satisfied along a possible, expected execution), and assess
them against a log trace (to check if indeed they are satisfied). The cost of an alignment,
thus, takes also into account the cost of neglected responsibilities. Moreover, the
responsibilities collected along a model run give us a context for assessing whether a model
move (i.e., a “skip” on the log side) actually represents an execution error, or a proper
behavior.</p>
      <p>Given a flow alignment  , its responsibility set is the set of responsibilities attached to
the activities in the model run given by the right projection of  (i.e., the model-side
projection). In general, a responsibility set can be computed for any non-empty prefix of
 by considering the alignment up to a given step  .</p>
      <p>Definition 4.2 (Responsibility Set). Let  = ⟨( 1′,  1′), … , (  ′,  ′ )⟩ be a flow alignment
between a process model M = ⟨N, R⟩ and a log trace  ∈ Σ ∗, the responsibility set R, for
the alignment  at step  (1 ≤  ≤  ) is defined as R, = ∪=1 R(( ′)).</p>
      <p>It holds R(≫) = ∅. As a shortcut, we denote as R the set R, , that is the set of
responsibilities computed considering all the steps in the alignment  . The responsibilities
in R are actually satisfied or neglected depending on the activities that are included in
the log trace (i.e., log-side projection of  ). Thus, we first extend the notion of residuation
of the precedence logic to responsibility relations, and then to a responsibility set.</p>
      <p>Given a responsibility set R = {R1, … , R } with R = R(x ,u ,v ), let  ′ = ⟨ 1′, … ,   ′⟩ be
the log-side projection of  . Then, the notation R / ′ is a shorthand for R(x ,u / ′,v / ′)
and R / ′ is a shorthand for {R1/ ′, … , R / ′}. Additionally, the residuation of any
expression u with ≫ has no efect on the expression, namely u/ ≫= u.</p>
      <p>
        It is worth noting that the rewriting rules of the precedence logic guarantee a consistent
evaluation of the responsibilities against a log trace. In fact, whenever a responsibility
progresses from the active state to either satisfied, neglected, or discharged, such a second
state is final: the state of the responsibility can no longer evolve along the same trace.
That is, further events along the trace cannot satisfy a neglected responsibility nor vice
versa. At the same time, a responsibility activated along a log trace must necessarily
evolve to either satisfied or neglected by the end of the same trace (see [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] for details).
Example (Responsibility Set). Consider the example in Section 2, the responsibility set
R1 of alignment R2 for A2 is given by the responsibilities associated to Send-Fine,
Pay and Send-Receipt. The resulting sets will be residuated with respect to the log trace
(i.e., activity Send-Fine).
4.1. Cost functions for optimal alignments.
      </p>
      <p>In general, several alignments of a log trace w.r.t. a model exist. To compare them and
determine the optimal one we define a cost function that considers both the cost of the
mismatches between the model run and the log trace, which we call Flow Alignment
Cost CN,, and the cost for the neglected responsibilities, which we call Responsibility
Alignment Cost CR,.</p>
      <p>The cost CR, corresponds to the number of responsibilities that are neglected in a
lfow alignment  . To compute them, first the responsibility set R for  is determined
(Definition 4.2). Then, R is residuated with respect to the projection log-side of  .
Neglected responsibilities are then those that are active, but not satisfied at the end of
the trace.</p>
      <p>Example (Responsibility Alignment Cost). Let us consider the fine process scenario, and
assume that the employee is responsible for archiving (ar) any sent fine ( sf) after 60 days.
Now, in both alignments A1 and A2 (see Section 2), the responsibility is activated but is
not satisfied by the end of both alignments. Thus is marked as neglected and brings a
cost in both alignments.</p>
      <p>The flow cost CN,, calculates the cost of every mismatch (i.e., either model or log
moves) included within a given alignment. Notably, this calculation takes into account
responsibilities as a sort of context. By using them, in fact, we are able to identify
some model moves as correct, and not as mismatches. Intuitively, to compute CN,, each
alignment step (  ′,  ′) of a flow alignment  is considered. A step is a mismatch, and
hence has to be counted as a cost, when it is either a log move or it is a model move
which is not justified by any responsibility. A model move is justified by a responsibility if
executing that activity in the log (instead of a ≫) would have lead an active responsibility
to progress to neglected. This means that skipping the activity is consistent with at least
one responsibility, and hence does not represent a misbehavior.</p>
      <p>Example (Flow Alignment Cost). Let us consider again alignment A2 in Section 2, and
let us assume that R(x,⊤, p ⋅ sr) is associated with activity Pay to indicate that, if the
expected execution is the one that goes through Pay rather than Appeal-Judge, then the
receipt has to be sent only after and only in case of a payment. Concerning the Flow
Alignment Cost, albeit A2 has two asynchronous model moves, only the first one actually
contributes to the flow cost. The log skip on Send-Receipt ( sr), instead, is justified since
the occurrence of sr in the log would lead to the violation of R(x,⊤, p ⋅ sr).</p>
      <p>The total cost of an alignment  is computed as the weighted sum of the flow and the
responsibility costs: C =  ⋅ CN, +  ⋅ CR,</p>
      <p>Coeficients  and  are domain-dependent weights that can be tuned for penalizing
more either neglected responsibilities or asynchronous moves. An alignment between a
model M and a log trace  is optimal if C is minimal.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions and Future Work</title>
      <p>
        We presented a novel methodology of process alignment which takes into account
responsibilities during the search for optimal alignments. Several proposals in the literature
focus on extending process alignment considering other perspectives besides the control
lfow [
        <xref ref-type="bibr" rid="ref11 ref14 ref15 ref2 ref3 ref4 ref5 ref6">3, 2, 14, 4, 15, 5, 6, 11</xref>
        ]. To the best of our knowledge, no approach considers the
perspective of responsibilities as a perspective or for evaluating model moves.
      </p>
      <p>
        An explicit representation of responsibilities opens several future directions. First, each
alignment found by our algorithm is associated with a set of met and unmet responsibilities.
These two sets provide a sort of justification why a specific alignment has been selected
as optimal. Moreover, by considering the set of unmet responsibilities one could reason
about possible ineficiencies and flaws, enabling a responsibility-driven procedure for
re-engineering a process. In addition, role responsibilities designate the actors playing a
specific role as “in charge” of some job, and hence capable of providing accounts about
its accomplishment or failure. As future work, our responsibility framework can be
complemented with accountability relationships [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] to improve both the computation of
alignments and their understanding in the context of a business organization.
Acknowledgments. This work is part of the projects NODES, which has received
funding from the MUR-M4C2 1.5 of PNRR funded by the European Union-NextGenerationEU
(Grant agreement no. ECS00000036) and “APE : Accountability and Processes from
Events”, financed by MUR “Grant for Internationalization” call.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Carmona</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. F. van Dongen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Solti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Weidlich</surname>
          </string-name>
          , Conformance Checking - Relating
          <source>Processes and Models</source>
          , Springer,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Acitelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Angelini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bonomi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Maggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Marrella</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Palma,
          <source>ContextAware Trace Alignment with Automated Planning, in: ICPM</source>
          <year>2022</year>
          ,
          <year>2022</year>
          , pp.
          <fpage>104</fpage>
          -
          <lpage>111</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Boltenhagen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Chatain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Carmona</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Discounted</given-names>
            <surname>Cost</surname>
          </string-name>
          <article-title>Function for Fast Alignments of Business Processes</article-title>
          , in: BPM, volume
          <volume>12875</volume>
          <source>of LNCS</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>252</fpage>
          -
          <lpage>269</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alizadeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fahland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Zannone</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Linking data and process perspectives for conformance analysis</article-title>
          ,
          <source>Comput. Secur</source>
          .
          <volume>73</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Mozafari</surname>
          </string-name>
          <string-name>
            <given-names>Mehr</given-names>
            ,
            <surname>R. M. de Carvalho</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. F. van Dongen</surname>
          </string-name>
          ,
          <article-title>Detecting Complex Anomalous Behaviors in Business Processes: A Multi-perspective Conformance Checking Approach</article-title>
          , in: ICPM Workshops,
          <source>LNBIP 468</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>44</fpage>
          -
          <lpage>56</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Di Federico</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Burattin</surname>
          </string-name>
          , Do You Behave Always the Same?
          <article-title>- A Process Mining Approach</article-title>
          , in: ICPM Workshops,
          <source>LNBIP 468</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>5</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Baldoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Baroglio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Capuzzimati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Marengo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Patti</surname>
          </string-name>
          ,
          <string-name>
            <surname>A Generalized</surname>
          </string-name>
          <article-title>Commitment Machine for 2CL Protocols and its Implementation</article-title>
          .,
          <volume>7784</volume>
          LNAI (
          <year>2013</year>
          )
          <fpage>96</fpage>
          -
          <lpage>115</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>OMG</surname>
          </string-name>
          ,
          <string-name>
            <given-names>BMM</given-names>
            <surname>Model</surname>
          </string-name>
          ,
          <year>2015</year>
          . URL: https://www.omg.org/spec/BMM/1.3/PDF.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Baldoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Baroglio</surname>
          </string-name>
          , E. Marengo,
          <string-name>
            <given-names>R.</given-names>
            <surname>Micalizio</surname>
          </string-name>
          ,
          <article-title>A Responsibility Framework for Computing Optimal Process Alignments</article-title>
          ,
          <source>in: 7th International Workshop in Artificial Intelligence for Business Process Management</source>
          , Springer,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>N.</given-names>
            <surname>Vincent</surname>
          </string-name>
          ,
          <article-title>A structured taxonomy of responsibility concepts, Moral responsibility: Beyond free will and determinism (</article-title>
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>F.</given-names>
            <surname>Mannhardt</surname>
          </string-name>
          , M. de Leoni,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>Reijers</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <source>Balanced Multi-Perspective Checking of Process Conformance, Computing</source>
          <volume>98</volume>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. N.</given-names>
            <surname>Huhns</surname>
          </string-name>
          ,
          <string-name>
            <surname>Service-Oriented Computing - Semantics</surname>
          </string-name>
          , Processes, Agents, Wiley,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Baldoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Baroglio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Micalizio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tedeschi</surname>
          </string-name>
          ,
          <article-title>Accountability in Multi-Agent Organizations: From Conceptual Design to Agent Programming, Auton</article-title>
          .
          <source>Agents Multi Agent Syst</source>
          .
          <volume>37</volume>
          (
          <year>2023</year>
          )
          <article-title>7</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>V.</given-names>
            <surname>Bloemen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J. van Zelst</given-names>
            ,
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. F. van Dongen</surname>
          </string-name>
          , J. van de Pol,
          <article-title>Aligning Observed and Modelled Behaviour by Maximizing Synchronous Moves and Using Milestones, Inf</article-title>
          . Syst.
          <volume>103</volume>
          (
          <year>2022</year>
          )
          <fpage>101456</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>P.</given-names>
            <surname>Felli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gianola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rivkin</surname>
          </string-name>
          , S. Winkler,
          <article-title>CoCoMoT: Conformance Checking of Multi-perspective Processes via SMT</article-title>
          ,
          <source>in: BPM</source>
          <year>2021</year>
          , volume
          <volume>12875</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2021</year>
          , pp.
          <fpage>217</fpage>
          -
          <lpage>234</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Baldoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Baroglio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Micalizio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tedeschi</surname>
          </string-name>
          ,
          <article-title>Robustness based on accountability in multiagent organizations</article-title>
          , in: AAMAS,
          <string-name>
            <surname>IFAAMAS</surname>
          </string-name>
          ,
          <year>2021</year>
          , pp.
          <fpage>142</fpage>
          -
          <lpage>150</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>