<!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>A Generalized Commitment Machine for 2CL Protocols and its Prolog Implementation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matteo Baldoni</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cristina Baroglio</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Federico Capuzzimati</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elisa Marengo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Viviana Patti</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Informatica c.</institution>
          <addr-line>so Svizzera 185, I-10149 Torino</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universita degli Studi di Torino</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>In practical contexts where protocols model business interactions (e.g. trading, banking), designers need tools allowing them to analyse the impact on the possible interactions of regulations, preferences, conventions and the like. This work faces the issue of how to equip commitment protocols with formal and practical instruments aimed at supporting such an analysis by identifying the possible risks of violation and, thus, enabling the de nition of operational strategies aimed at reducing risks of violation. Speci cally, we present an operational semantics for the commitment protocol language 2CL as well as a tool for visualizing as a graph the possible interactions, labelling the states of the interaction so as to highlight legal situations and violations.</p>
      </abstract>
      <kwd-group>
        <kwd>Commitment-based Interaction Protocols</kwd>
        <kwd>Constraints among Commitments</kwd>
        <kwd>Commitment Machine</kwd>
        <kwd>Risks of Violation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Agent interaction is generally speci ed by de ning interaction protocols [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
For communicating with one another, agents must follow the schema that the
protocol shapes. Di erent protocol models can be found in the literature, this
work concerns commitment-based protocols [
        <xref ref-type="bibr" rid="ref16 ref21">16, 21</xref>
        ]. This kind of protocols relies
on the notion of commitment, which in turn encompasses the notions of debtor
and creditor: when a commitment is not ful lled, the debtor is liable for that
violation but as long as agents reciprocally satisfy their commitments, any course
of action is ne.
      </p>
      <p>
        In many practical contexts where protocols model business interactions (e.g.
trading, banking), designers must be able to regulate and constrain the
possible interactions as speci ed by conventions, regulations [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], preferences or habits.
Some proposals attack the issue of introducing similar regulations inside
commitment protocols [
        <xref ref-type="bibr" rid="ref13 ref3 ref6 ref9">3, 9, 6, 13</xref>
        ], however, none of them brought yet to the realization
of a tool that allows visualizing and analysing how regulations or constraints
impact on the interactions allowed by a commitment-based protocol. The
availability of intuitive and possibly graphical tools of this kind would support the
identi cation of possible violations, thus enabling an analysis of the risks the
interaction could encounter. As a consequence, it would be possible to raise
alerts concerning possible violations before the protocol is enacted, and to
reduce risks by de ning proper operational strategies, like regimentation (aimed at
preventing the occurrence of violations) or enforcement (introduction of warning
mechanisms) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        The work presented in this paper aims at lling this gap. To this purpose,
we started from the commitment protocol language 2CL described in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], whose
key characteristic is the extension of the regulative nature of commitments by
featuring the de nition of patterns of interaction as sets of constraints. Such
constraints declaratively specify either conditions to be achieved or the order in
which some of them should be achieved. The rst contribution is, therefore, a
formal, operational semantics for the proposal in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which relies on the
Generalized Commitment Machine in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. We named our extension 2CL-Generalized
Commitment Machines (2CL-GCM for short). On top of this, it was possible
to realize the second contribution of this work: a Prolog implementation for
2CL-GCM, which extends the implementation in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], and is equipped with a
graphical tool to explore all the possible executions, showing both commitment
and constraint violations. The implementation is part of a plug-in Eclipse which
supports 2CL-protocol design and analysis.
      </p>
      <p>
        The chief characteristic of our solution is that it performs a state evaluation of
protocol constraints, rather than performing path evaluation (as, instead, done
by model checking techniques). State evaluation allows considering each state
only once, labelling it as a state of violation if some constraint is violated in it
or as a legal state when no constraint is violated. This is a great di erence with
respect to path evaluation, where a state belonging to di erent paths can be
classi ed as a state of violation or not depending on the path that is considered.
The advantage is practical: state evaluation allows to easily supply the user an
overall view of the possible alternatives of action, highlighting those which will
bring to a violation and those that will not. State evaluation, however, is possible
only by making some restriction on the proposal in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Speci cally, we assume
that the domain is expressed in terms of positive facts only.
      </p>
      <p>The paper is organized as follows. Section 2 brie y summarizes 2CL
interaction protocol speci cation. Section 3 describes the formalization of 2CL-GCM.
Section 4 presents a Prolog implementation of 2CL-GCM. Section 5 describes the
2CL Tools that supply features for supporting the protocol design and
analysis. Related Work and Conclusions end the paper. Along the paper we use as a
running example the well-known NetBill interaction protocol.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background: 2CL Interaction Protocols</title>
      <p>
        Let us brie y recall the chief characteristics of commitment protocols, as de ned
in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In this approach, commitment protocols feature an explicit distinction
between a constitutive and a regulative speci cation. The former de nes the
protocol actions, while the latter encodes the constraints the interaction should
respect. Both speci cations are based on commitments. Commitments are
diRelation
Operators
Temporal
Operators Before
Correlation
rected from a debtor to a creditor. The notation C(x; y; r; p) denotes that agent
x commits to an agent y to bring about the consequent condition p when the
antecedent condition r holds. When r equals true, we use the short notation
C(x; y; p). The interacting partners share a social state that contains
commitments and other facts that are relevant to their interaction. Every partner can
a ect the social state by executing actions, whose de nition is given in terms
of operations onto the social state, see [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. The partners' behaviour is a ected
by commitments, which have a regulative nature, in that debtors should act in
accordance with the commitments they have taken.
      </p>
      <p>De nition 1 (Interaction protocol). An interaction protocol P is a tuple
hRo; F; s0; A; Ci, where Ro is a set of roles, identifying the interacting parties,
F is a set of facts and commitments that can occur in the social state, s0 is the
set of facts and commitments in the initial state of the interaction, A is a set of
actions, and C is a set of constraints.</p>
      <p>
        The set of social actions A, de ned on F and on Ro, forms the constitutive
speci cation of the protocol. The social e ects are introduced by the construct
means, and their achievement can depend on a precondition (conditional
effects). Both preconditions and e ects are given in terms of the set F speci ed
in the protocol, which contains commitments and facts (i.e. the conditions that
are brought about). The means construct amounts to a counts-as relation [
        <xref ref-type="bibr" rid="ref11 ref15">15,
11</xref>
        ]. For instance, consider the action sendGoods reported in Table 2. Its social
meaning is that it makes the facts goods true (the goods were delivered to the
customer) and creates the commitment C(m; c; pay; receipt) that corresponds to
a promise by the merchant to send a receipt after the customer has paid. Further
examples can be found in the rst part of Table 2, which reports all the actions
of the NetBill protocol. The formalization is inspired by those in [
        <xref ref-type="bibr" rid="ref19 ref21">21, 19</xref>
        ].
      </p>
      <p>
        The regulative speci cation of the protocol is made of the set of 2CL
constraints C, de ned on F and on Ro as well. 2CL is a declarative language,
which allows expressing what is mandatory and what is forbidden without the
need of listing the possible executions extensionally. Constraints have the form
\dnf1 op dnf2", where dnf1 and dnf2 are disjunctive normal forms of facts and
Action De nitions
(a1) sendRequest means request if :quote ^ :goods
(a2) sendQuote means quote ^ create(C(m; c; C(c; m; goods; pay); goods))
^ create(C(m; c; pay; receipt))
(a3) sendAccept means create(C(c; m; goods; pay)) if :pay
(a4) sendGoods means goods ^ create(C(m; c; pay; receipt))
(a5) sendEP O means pay
(a6) sendReceipt means receipt if pay
Constraints
(c1) quote . C(c; m; goods; pay) _ C(c; m; pay)
(c2) C(m; c; pay; receipt) ^ goods . pay
(c2) pay . receipt
commitments, and op is one of the 2CL operators, reported in Table 1 together
with their Linear-time Temporal Logic [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] interpretation and with their graphical
notation. Basically, there are two kinds of operators: relational and temporal.
The former kind expresses constraints on the co-occurrence of conditions (if this
condition is achieved then also that condition must be achieved, but the order of
the two achievements does not matter). For instance, one may wish to express
that both the payment for some item and its delivery must occur without
constraining the order of the two conditions: no matter which occurs rst, when one
is met, also the other must be achieved. Temporal operators, instead, capture
the relative order at which di erent conditions should be achieved. The second
part of Table 2 reports the constraints imposed by the NetBill protocol: (c1)
means that a quotation for a price must occur before a commitment to pay or a
conditional commitment to pay given that some goods were delivered; (c2) that
the conditional commitment to send a receipt after payment and the delivery of
goods must occur before the payment is done; (c3) that after payment a receipt
must be issued and if a receipt is issued a payment must have occurred before.
      </p>
      <p>Among the possible interactions, derivable from the action speci cation, those
that respect the constraints are said to be legal. Violations amounting to the
fact that a constraint is not respected can be detected during the execution. The
following section provides the operational semantics 2CL lacked of.
3</p>
    </sec>
    <sec id="sec-3">
      <title>2CL Generalized Commitment Machine</title>
      <p>
        In order to provide the semantics of commitment protocols as speci ed in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] (see
De nition 1 of this paper), we de ne the 2CL generalized commitment machine
(2CL-GCM). Brie y, 2CL-GCM relies on the notion of generalized commitment
machine (GCM) (introduced in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]) for what concerns the inference of the
possible evolutions of the social state, that can be obtained by taking into account
only the protocol actions and the commitment life cycle. Additionally, 2CL-GCM
also accounts for 2CL constraints.
      </p>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], a GCM features a set S of possible states, each of which is
represented by a logical expression of facts and commitments. S represents the
possible con gurations of the social state.
      </p>
      <p>Example 1. Considering NetBill, the expression goods ^ C(c; m; pay) represents
one possible con guration of the social state. This expression means that goods
were shipped and that there is a commitment from c (customer) to m (merchant)
to pay for them.</p>
      <p>Particularly relevant is the subset of S, whose elements are named good states:
they are the desired nal states of the interaction. The characterization of good
states depends on the particular application. For instance, they may be only
those that do not contain unsatis ed active commitments, or they could be the
ones which satisfy a condition of interest (e.g. payment done and goods shipped).</p>
      <p>
        In GCM, transitions between the states are logically inferred on the basis of
an action theory , that contains a set of axioms of the kind p ,!a q, meaning
that q is a consequence of performing action a in a state where p holds. When q
is false the meaning is that a is impossible if p holds. In general, contains all
the axioms deriving from the speci cation of the protocol actions. Additionally,
also contains an axiom for each action a and for each couple of states s and
s0 such that the execution of a in s causes a transition to s0: for instance, if the
precondition p of a is satis ed in s and its e ect q is satis ed in s0, then s ,!a s0
is in . The way in which these axioms are obtained is explained in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
Example 2. According to the 2CL protocol syntax, the action sendAccept,
performed by the customer to accept a quote of the merchant, is de ned as
sendAccept means create(C(c,m,goods,pay)) if : pay. The corresponding axiom is
sendAccept
:pay ,! C(c; m; goods; pay). Now, if one considers a state in which
sendAccept
:pay ^ quote holds, it is also possible to infer the axiom :pay ^ quote ,!
C(c; m; goods; pay).
      </p>
      <p>
        In GCM paths must be in nite. All the nite paths are transformed into
in nite ones by adding a transition from the last state of the nite path towards
an arti cial new state with a self loop [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In 2CL-GCM we adopt the same
assumption and the same mechanism for transforming nite paths into in nite
ones. We are now ready to de ne 2CL-GCM. The de nition adopts the same
notation in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>De nition 2 (2CL Generalized Commitment Machine). Let ` and be,
respectively, the logical consequence and the logical equivalence of propositional
logic. A 2CL-GCM is a tuple P = hS; A; s0; ; G; Ci, where:
- S is a nite set of states;
- A is a nite set of actions;
- s0 2 S is the initial state;
- is an action theory;
- G S is a set of good states;
- C is a set of 2CL constraints.
(i) Members of S are logically distinct, that is: 8s; s0 2 S; s 6 s0; (ii) false 62 S;
and (iii) 8s 2 G; s0 2 S : (s0 ` s) ) (s0 2 G), i.e. any state that logically derives
a good state is also good.</p>
      <p>A sequence of states is a path of a 2CL-GCM if it satis es all of the constraints
in C. Since 2CL constraints are de ned in terms of LTL formulas, to perform the
veri cation one can consider the transition system corresponding to the path.
Given a sequence of states interleaved by actions, the corresponding transition
system can be derived quite straightforwardly. Intuitively, the set of states and
transitions of the system is the same set of states and transitions in the sequence.
A requirement on transition systems is that each state has at least one outgoing
transition (i.e. runs are in nite).</p>
      <p>De nition 3 (Transition System). Let = h( 0; a0; 1); ( 1; a1; 2); : : : i be
an in nite and ordered sequence of triples, where i is the state at position i in
and ai is the action that causes the transition from state i to state i+1. The
transition system T ( ) corresponding to is a triple hS ; ; L i where:
- S = f ij i 2 g is a set of states;
- : S ! S is a transition function where: ( j ) = k i ( j ; a; k) 2 ;
- L : S ! 2F is a labelling function, where: F is a set of facts and
commitments and given l 2 F , then l 2 L( i) i i ` l.</p>
      <p>
        To de ne a 2CL-GCM path, we adapt the de nition of GCM path by adding
the requirement that the sequence of states satis es all the constraints of the
2CL-GCM. This condition is checked on the transition system corresponding to
the path, by means of the LTL satisfaction relation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. We denote it with the
symbol j=LT L. In the following de nition we adopt the same notation in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
De nition 4 (2CL-GCM path). Let P = hS; A; s0; ; G; Ci be a 2CL-GCM. Let
= h( 0; a0; 1); : : : i be an in nite sequence of triples and T ( ) be the
corresponding transition system. Let inf ( ) be the set of states that occur in nitely
often in . is a path generated from P when:
ai
(i) 8( i; ai; i+1) in then i; i+1 2 S and ai 2 A and i ,!
(ii) inf ( ) \ G 6= ;; and
(iii) 8c 2 C : T ( ); 0 j=LT L c
i+1 2
; and
In the above de nition, (i) and (ii) are the conditions for a path to be generated
from a GCM [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Condition (i) requires that each state in the sequence is a
state of the 2CL-GCM, that the action that causes the transition from a state
to the subsequent one in the sequence is an action of the 2CL-GCM, and that
the transition is inferable according to the axioms in . It also requires that
the path is in nite. Condition (ii) requires that at least one good state occurs
in nitely often in the sequence. Condition (iii) was added to account for the
evaluation of the protocol constraints. According to the LTL semantics, the
notation M; s j=LT L ' means that every execution path of M, starting at
s, is such that j=LT L '. Since T ( ) is a transition system made only of one
linear path (by construction), whose starting state is the starting state of , the
condition T ( ); 0 j=LT L c amounts to checking if c is satis ed in the path of the
transition system, corresponding to .
      </p>
      <p>
        Given a protocol speci cation it is possible to build the corresponding
2CLGCM:
De nition 5 (2CL-GCM of a protocol). Let P = hRo; F; s0; A; Ci be a
protocol, S be a set of states and G S be a set of good states. P = hS; LA; s0; ; G; Ci
is a 2CL-GCM of P when (i) LA is the set of action labels in A; and (ii) is
the action theory of A, i.e.:
a
{ for each (a means e if p) belonging to A, then p ,! e belongs to
{ is closed under inference rules in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
;
Since the state s0 and the constraints C of a 2CL-GCM are the same of the
protocol, the de nition uses the same symbols. By varying the sets S and G di erent
2CL-GCMs associated to the same protocol are obtained: when S contains all the
states that can be reached from s0, applying the protocol actions, the machine
can infer all the possible interactions; when S is smaller, only a subset of the
possible interactions is determined.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Implementation of the 2CL Commitment Machine</title>
      <p>This section describes a Prolog implementation for the 2CL-GCM, formalized
above. It allows exploring all the possible executions of an interaction protocol,
showing the regulative violations | i.e. both those states in which some
constraint is violated and those that contain unsatis ed commitments. We prove
that if a path is legal according to the implementation, then it is a path of the
corresponding 2CL-GCM.</p>
      <p>
        The implementation is realized in tuProlog 1 and it builds upon the enhanced
commitment machine realized by Winiko et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. By relying on it, we inherit
the mechanisms for the computation of the possible interactions. Speci cally,
enhanced commitment machines feature the generation of the reachable states,
the transitions among them and the management of commitments (like the
operations of discharge, creation and so on). Our extension equips them with the
possibility of evaluating 2CL constraints. The aim is to provide a qualitative view
of the possible interactions, highlighting those that violate some constraints. The
interacting parties are not prevented from entering in illegal paths (autonomy is
preserved), but they are made aware of the risks they are encountering and that
they may incur in penalties as a consequence of the violations they caused [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>In order to provide a compact but global view of the possible interactions,
the evaluation of constraints is performed on one state at a time rather than
on paths (as, instead, usually done in LTL model checking). Speci cally, the</p>
      <sec id="sec-4-1">
        <title>1 http://www.alice.unibo.it/xwiki/bin/view/Tuprolog/</title>
        <p>Correlation
Co-existence
Response
Before
Cause</p>
        <p>State Condition
(A B) = A ^ B
(A 6
(A
(A 6
(A</p>
        <p>B) = :(A ^ B)
B) = (A B) ^ (B</p>
        <p>B) = (A 6
. B) = A ^ B</p>
        <p>B) ^ (B 6</p>
        <p>A)</p>
        <p>
          A)
(A 6 . B) = :(A ^ B)
(A . B) = :(B ^ :A)
(A 6 . B) = :(A ^ B)
(A . B) = (A . B) ^ (A . B)
state content is given in terms of positive facts and commitments. A fact that
is not true in a state has not been achieved yet, so we use negation as failure
in the conditions of the action de nitions to verify whether a fact is present or
not in the social state. In this setting, the evaluation of 2CL constraints can
be made on single states. For instance, if in a state b holds but a does not, we
can infer that the constraint `a before b' is violated. This kind of veri cation,
however, can be performed only on a subset of 2CL formulas, speci cally, only
on constraints corresponding to conditions that persist (i.e. that involve DNFs
of facts without negation). Since commitments do not persist because they can
be cancelled, discharged, etc., another requirement is to associate a fact to each
operation that is performed on commitments (along the line of [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]). These facts
are automatically asserted whenever an operation is performed on a commitment
and they can be used in constraint formulas. For instance, when a commitment
C(x; y; r; p) is created, the fact created(C(x; y; r; p)) is added to the state,
and so forth for the other operations. Notice that these facts are not meant to
associate to each commitment its current state in the commitment life cycle,
as instead done in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. This information can be inferred from the presence or
absence of the commitment in the state.
        </p>
        <p>Given a constraint c, we denote by (c) the corresponding condition to be
veri ed one state at a time (state condition). The above assumptions allow the
simpli cation of the LTL formulas, corresponding to the 2CL operators, in the
way that is reported in Table 3. Consider, for instance, the before operator ( . ):
it requires that A is met before or in the same state of B. So, given a run , if
in there is a state j such that B holds while A does not, that is a state where
a violation occurred. In formulas: i j=LT L A . B , :9j i s:t: j j=LT L
(B ^ :A) (when a formula does not contain temporal operators, the relation
j=LT L checks the condition in the rst state of a path).</p>
        <p>The other 2CL operators can be divided in two groups. Correlation ( ) and
response ( .) are part of the same group. A B requires that if A is achieved in
a run, then also B is achieved in the same run (before or after A is not relevant).
If B is achieved before A it will remain true also after. Therefore, in those cases
in which the constraint is satis ed, from a certain time onwards both conditions
will hold. In formulas: i j=LT L A B , :9j i s:t: j j=LT L A and 8j0
j; j0 j=LT L (A ^ :B). The same equivalence holds for i j=LT L A . B. In 2CL
A . B requires that when A is met, B is achieved at least once later (even if
it already occurred in the past) but under our assumptions it can be checked in
the same way of correlation. The state condition amounts to verifying whether
a state satis es A but does not satisfy B. Notice that states that satisfy the
test cannot be marked as states of violation because the constraint does not
require B to hold whenever A holds. A state of violation is signalled when the
interaction does not continue after it: we say that there is a pending condition.</p>
        <p>Negated correlation, response and before correspond to the same formula:
i j=LT L A op B , :9j i s:t: j j=LT L (A ^ B) where op 2 f 6 ; 6 .; 6 . g.
Intuitively, a constraint of the kind A 6 B (negative correlation) requires that
if A holds, B is not achieved. Since facts persist, this amounts to check that
the two conditions do not hold in the same state, otherwise a violation occurs.
Negative response (negative before) adds a temporal aspect to not-correlation: if
A holds, B cannot hold later (before, respectively). Since facts persist, the rst
achieved condition will remain true also after the other becomes true. Also in
this case we only need to check that the two conditions do not hold together.</p>
        <p>Derived operators are decomposed and the reasoning made for the operators,
from which they derive, is applied. For instance, cause ( . ) derives from before
and response. If a state does not satisfy the response part of the cause, it is
marked as \pending"; if it violates the before part, it is marked as a \violation".
Both labels are applied when the state does not satisfy any of the two.</p>
        <p>Summarizing, given a constraint formula and a state in which to verify it,
we have three possible cases: (i) the state satis es the formula; (ii) the state
does not satisfy the formula and this leads to a violation; and (iii) the state
does not satisfy the formula but the violation is potential, depending on future
evolution. Considering all the constraints of a protocol, a state can both violate
some constraint and have pending conditions. Moreover, states are also evaluated
based on the presence of unsatis ed active commitments.</p>
        <p>These considerations enable the generation and the labelling of all the states
that can be reached by applying the protocol actions. The result is a labelled
graph, as de ned in De nition 6, where each state is associated a set of labels.
De nition 6 (Labelled Graph). Let P = hRo; F; s0; A; Ci be a protocol, the
corresponding labelled graph G(P) is a triple (S; ; L) where:
{ S is a set of states reachable from s0, such that 8s; s0 2 S; s 6 s0;
{ S A S is a transition relation such that 8(s; a; s0) 2 then s; s0 2 S
and 9a 2 A s.t. when a is executed in s it determines s0;
{ L S fpending,violation, nal,non- nalg is a labelling relation such that
given s 2 S:
violation 2 L(s) i 9c 2 C s.t. s 2LT L (c) and c is not a response or a
correlation;
pending 2 L(s) i 9c 2 C s.t. s 2LT L (c) and c is a response or a
correlation;</p>
        <p>nal 2 L(s) i there are no unsatis ed active commitments in s;</p>
        <p>Listing 1.1. Prolog clauses that generate the labelled graph: consequence(A,State) is
a clause that determines if the fact (or the DNF formula) A can be derived in State;
response and before are constraints. The complete program is downloadable at the
URL http://di.unito.it/2cl.</p>
        <p>not- nal 2 L(s) i s contains unsatis ed active commitments.</p>
        <p>
          Following De nition 6, our implementation starts from the initial state and
determines all the reachable states, by applying a depth- rst search, as in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. The
di erence is that our representation of the states contains also a list of labels,
which identify the presence of active commitments and of pending or violated
conditions. Listing 1.1 reports part of the Prolog program that generates the
labelled graph. The mechanism is as follows: given a state, explore nds the set
of the possible successors by applying the e ects of the actions, whose
preconditions are satis ed in the state. A state is added only if it is new (not explored
yet). Before adding it, nd labels considers all the constraints and checks them
on the state. Constraints are represented as constraint(A; B; Id), where
constraint is the 2CL operator used by the constraint, A and B are the antecedent
and the consequent conditions of the constraint, and Id is the identi er of the
constraint. Listing 1.1 reports, as an example of tests performed on states, the
veri cation of a response and of a before. The clause check pending, that is
reported here, veri es response constraints: it is satis ed if there is a constraint
of kind response, whose antecedent condition can be derived in the state, while
the consequent condition cannot. In this case, the label pending is added to the
list of labels of the state. A similar clause checks the correlation constraint.
Instead, the clause check violation, checks before constraints, which are violated
if the consequent condition can be derived in the state while their antecedent
cannot. Other similar clauses, checking di erent conditions, are de ned for the
other operators. Finally, the program checks the presence of unsatis ed
commitments (check commitments ) and adds the label nal or not- nal consequently.
The result of running this program on a protocol speci cation is a graph of
the reachable annotated states. Annotations follow the graphical convention
explained in Section 5.
        </p>
        <p>Given a labelled graph we are now able to de ne when a path is legal.
De nition 7 (Legal path). Let G(P) = (S; ; L) be a labelled graph, =
h( 0; a0; 1); : : : ; ( n 1; an 1; n)i be a path of at least one state. is a legal
path of G(P) when:
(i) 8i 0; i is a state of the graph and ( i; ai; i+1) 2 .
(ii) @i 0 such that i 2 and violation 2 L( i);
(iii) pending 62 L( n) and f inal 2 L( n).</p>
        <p>Condition (i) requires that the transitions in the path nd correspondence in the
graph; (ii) requires that none of the states of the path violates a constraint; (iii)
requires that the last state of the path does not contain pending conditions or
unsatis ed commitments.</p>
        <p>Given a legal path , of a labelled graph produced by Listing 1.1, we can
prove its correctness w.r.t. the 2CL-GCM built on the same protocol speci cation.
This actually corresponds to prove that is a path of the 2CL-GCM.
Theorem 1 (Soundness). Let P = hRo; F; s0; A; Ci be a protocol; let G(P) be
the corresponding labelled graph; let = h( 0; a0; 1); : : : ; ( n 1; an 1; n)i be
a path; and let P = hS ; A; s0; ; G; Ci be the 2CL-GCM of P, where S is the
set of states in and G is the set of states in that do not contains unsatis ed
commitments. If is a legal path of G then is a path of P.</p>
        <p>The proof is by contradiction. It is omitted for lack of space.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>2CL Tool for Protocol Design and Analysis</title>
      <p>Let us now present the tool that we developed based on the technical framework,
described in the previous sections. The tool supports the user in two di erent
ways: (i) it features two graphical editors for specifying the protocol actions and
the constraints; (ii) it generates di erent kinds of graphs for supporting the user
in the analysis of the possible interactions and in understanding which of them
are legal. The system is realized as an Eclipse plug-in, available at the URL
http://di.unito.it/2cl.</p>
      <p>The functionalities that the system supports can be grouped into three
components: design, reasoning and visualization.</p>
      <p>
        Design Component. The design component provides the tools that are
necessary for de ning the protocol. It supplies two editors: one for the de nition of
the actions and one for the de nition of constraints. The action de nition editor
is basically a text editor, where actions can be speci ed following the grammar
in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The regulative speci cation editor allows the user to graphically de ne
a set of constraints. Constraints are represented by drawing facts, connecting
them with 2CL arrows (following the graphical representation of Table 1) or
with logical connectives so as to design DNF formulas. The advantage of having
a graphical editor is that it supplies a global view of constraints, thus giving the
perception of the ow imposed by them, without actually specifying any rigid
sequence (no- ow-in- ow principle [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]).
      </p>
      <p>
        Reasoning Component. The reasoning component consists of a Java Parser
and of the Prolog implementation of the commitment machine described in
Section 4. The former generates di erent kinds of graphs as well as the Prolog
program corresponding to the protocol speci cation. The latter is the input of
the Prolog implementation of the commitment machine for the generation of the
labelled graph. As explained, the labelled graph represents all the possible
interactions where each state is labelled according to the evaluation of the protocol
constraints. The graphical conventions is: (i) a state of violation is represented as
a red diamond, with an incoming red arrow (e.g. states 54, 57, 108 in Figure 1);
(ii) a state in which there is a pending condition is yellow (e.g. states 45, 53,
108); (iii) a state with a single outline, independently from the shape (e.g. 49,
57, 60), is a state that contains unsatis ed commitments; (iv) a state with a
double outline, independently from the shape, does not contain active commitments
(e.g. 41, 108). Graphical notations can be combined, e.g. a yellow diamond with
single outline is a state where there are unsatis ed active commitments, where a
constraint is violated and where there is a pending condition (e.g. 53, 57, 114).
Visualization Component. All the graphs produced by the reasoning
component can be visualized as images. Labelled graph, however, can be explored
by means of the tool Graph Explorer, which is realized in Java and relies on
iDot (Incremental Dot Viewer) { an open source project that uses the prefuse2
visualization framework for Dot graph display. The Graph Explorer supplies
different functionalities, like the visualization of the shortest path given a source
and a target state, and the visualisation of legal (or illegal) paths only. The user
can add or delete a node in a path; search a state starting from its label; and
search all the states that contain a certain fact or commitment. Moreover, the
tool allows the exploration of the graph one state at a time, by choosing which
node to expand. Figure 1 reports part of the labelled graph for NetBill.
Protocol Analysis. The tool can be used as a support in protocol analysis [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Particularly interesting is the possibility of exploring the labelled graph by means
of the Graph Explorer, which can be used to predict whether performing a certain
sequence of actions results in a violation and, in this case, if there is a way to
return on a legal path. For what concerns the designer, it is not always easy,
      </p>
      <sec id="sec-5-1">
        <title>2 http://prefuse.org/</title>
        <p>when specifying a protocol, to individuate which constraints to introduce but,
with the help of the tool, it becomes easy to identify misbehaviours and revise the
constraints so as to avoid them. Moreover, a designer can decide, by analysing
the graph, to modify the speci cation so as to regiment some of the patterns
expressed as constraints, or to remove some of them. For instance, considering
the running example, from Figure 1 it is possible to infer that the protocol does
not allow the customer to pay (sendEP O) before the merchant sends the goods.
This is due to the constraint created(C(m; c; pay; receipt)) ^ goods . pay. If
this behaviour was not in the intention of the designer, he/she can discover it and,
e.g., relax the before constraint ( . ) transforming it into a co-existence ( ).
If, instead, that is exactly the desired behaviour, one may decide to regiment
sendEP O so as to enable the payment only after the goods have been sent.</p>
        <p>
          The complete NetBill protocol encoding and the corresponding labelled graph
together with further examples (like CNet, OECD guidelines and MiFID [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]) are
available at http://di.unito.it/2cl (section Examples).
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Related Work and Conclusions</title>
      <p>
        This work provides an operational semantics of 2CL protocols [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], based on an
extension of the Generalized Commitment Machine [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], and describes a Prolog
implementation of this formalization, where the constraint evaluation is
performed thanks to state conditions rather than by considering paths. The
provided formalization allows the creation of compact and annotated graphs, which
provide a global overview of the possible interactions, showing which are legal
and which cause constraint (or commitment) violations. The aim was to support
a tool, which enables the veri cation of exposure to risk on the graph of the
possible executions, and taking decisions concerning how to behave or to modify
the protocol in order to avoid such a risk. Due to this aim, we decided to base
our implementation on [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], rather than on formalizations which support, for
instance, model checking. The reason is that this work already is along the same
line of ours, the intent being to give a global view on desirable and
undesirable states. Winiko et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], however, propose to cope with undesired paths
or undesired nal states by adding ad-hoc preconditions to the actions, or by
adding active commitments to states that are desired not to be nal. This,
however, complicates the reuse and the adaptation of the speci cation to di erent
domains. On the contrary, the proposal in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] results to be easily adaptable and
customizable so as to address di erent needs of di erent domains, and it also
allows for the speci cation of more expressive patterns of interaction, given as
2CL constraints.
      </p>
      <p>
        Other approaches, are based on expectations and abductive logic
programming. Chesani et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] focus on the veri cation of a-posteriori trace compliance
with respect to the speci cation. Montali et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], instead, face the veri cation
of static properties on the speci cation, stopping the veri cation when a
counterexample that falsi es the property is found. None of these works, however,
provide a global overview of the possible interactions and of potential risks of
violation.
      </p>
      <p>
        Concerning model checking, El-Menshawy et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] propose a
branchingtime logic that extends CTL*, used to give a logical semantics to the
operations on commitments. This approach was designed to perform veri cations on
commitment-protocol ruled interactions by exploiting symbolic model checking
techniques. The properties that can be veri ed are those that are commonly
checked in distributed systems: fairness, safety, liveness, and reachability. It
would be interesting to integrate in this logical framework the 2CL constraints
in order to combine the bene ts of both approaches: on the one hand, the
possibility to embed in the protocols expressive regulative speci cation, and, on the
other hand, the possibility to exploit the logical framework to perform the listed
veri cations.
      </p>
      <p>
        For what concerns the semantics of commitment protocols, the literature
proposes di erent formalizations. Some approaches present an operational
semantics that relies on commitment machines to specify and execute protocols
[
        <xref ref-type="bibr" rid="ref19 ref20 ref21">21, 20, 19</xref>
        ]. Some others, like [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], use interaction diagrams, operationally
specifying commitments as an abstract data type, and analysing the commitment's life
cycle as a trajectory in a suitable space. Further approaches rely on temporal
logics to give a formal semantics to commitments and to the protocols de ned
upon them. Among these, Giordano et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] uses DLTL. All these approaches
allow the inference of the possible executions of the protocol, but, di erently
than [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], all of them consider as the only regulative aspect of the protocol the
regulative value of the commitments.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>C.</given-names>
            <surname>Baier</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Katoen</surname>
          </string-name>
          .
          <article-title>Principles of Model Checking</article-title>
          . MIT Press,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>M.</given-names>
            <surname>Baldoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Baroglio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Marengo</surname>
          </string-name>
          .
          <article-title>Behavior-Oriented Commitment-based Protocols</article-title>
          .
          <source>In Proc. of ECAI</source>
          , volume
          <volume>215</volume>
          of Frontiers in
          <source>Arti cial Intelligence and Applications</source>
          , pp.
          <volume>137</volume>
          {
          <fpage>142</fpage>
          . IOS Press,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <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, and
          <string-name>
            <given-names>V .</given-names>
            <surname>Patti</surname>
          </string-name>
          .
          <article-title>Constitutive and Regulative Speci cations of Commitment Protocols: a Decoupled Approach</article-title>
          .
          <source>ACM Trans. on Int. Sys. and Tech., Spec. Iss. on Agent Communication</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <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, and
          <string-name>
            <given-names>V.</given-names>
            <surname>Patti</surname>
          </string-name>
          .
          <article-title>Grafting Regulations into Business Protocols: Supporting the Analysis of Risks of Violation</article-title>
          . In A. Anton,
          <string-name>
            <given-names>D.</given-names>
            <surname>Baumer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Breaux</surname>
          </string-name>
          , and D. Karagiannis, editors,
          <source>RELAW</source>
          <year>2011</year>
          , pp.
          <volume>50</volume>
          {
          <issue>59</issue>
          ,
          <string-name>
            <surname>Trento</surname>
          </string-name>
          , Italy,
          <year>August</year>
          30th
          <year>2011</year>
          . IEEE Xplore.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>F.</given-names>
            <surname>Chesani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Torroni</surname>
          </string-name>
          .
          <article-title>Commitment Tracking via the Reactive Event Calculus</article-title>
          . In C. Boutilier, editor, IJCAI, pp.
          <volume>91</volume>
          {
          <issue>96</issue>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Chopra</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Constitutive Interoperability</article-title>
          . In L. Padgham,
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Parkes</surname>
          </string-name>
          , J. Muller, and S. Parsons, editors,
          <source>Proc. of AAMAS</source>
          <year>2008</year>
          , volume
          <volume>2</volume>
          , pp.
          <volume>797</volume>
          {
          <issue>804</issue>
          ,
          <string-name>
            <surname>Estoril</surname>
          </string-name>
          , Portugal, May
          <year>2008</year>
          . IFAAMAS.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>El-Menshawy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bentahar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Dssouli</surname>
          </string-name>
          .
          <article-title>Veri able Semantic Model for Agent Interactions Using Social Commitments</article-title>
          . In M. Dastani,
          <string-name>
            <given-names>A.</given-names>
            <surname>Seghrouchni El Fallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Leite</surname>
          </string-name>
          , and P. Torroni, editors,
          <source>LADS</source>
          <year>2009</year>
          , LNCS 6039, pp.
          <volume>128</volume>
          {
          <issue>152</issue>
          ,
          <string-name>
            <surname>Torino</surname>
          </string-name>
          , Italy,
          <year>September 2010</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          .
          <article-title>Temporal and Modal Logic</article-title>
          , volume B.
          <source>Elsevier</source>
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>N.</given-names>
            <surname>Fornara</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Colombetti</surname>
          </string-name>
          . A
          <string-name>
            <surname>Commitment-Based Approach</surname>
          </string-name>
          To Agent Communication.
          <source>Applied Arti cial Intelligence</source>
          ,
          <volume>18</volume>
          (
          <fpage>9</fpage>
          -10):
          <volume>853</volume>
          {
          <fpage>866</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. L.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Martelli</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Schwind</surname>
          </string-name>
          .
          <article-title>Specifying and Verifying Interaction Protocols in a Temporal Action Logic</article-title>
          .
          <source>J. of Applied Logic</source>
          ,
          <volume>5</volume>
          (
          <issue>2</issue>
          ):
          <volume>214</volume>
          {
          <fpage>234</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A. J. I.</given-names>
            <surname>Jones</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sergot</surname>
          </string-name>
          .
          <source>On the Characterization of Law and Computer Systems: the Normative Systems Perspective</source>
          , pp.
          <volume>275</volume>
          {
          <fpage>307</fpage>
          . John Wiley&amp;Sons,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ashok</surname>
            <given-names>U.</given-names>
          </string-name>
          <string-name>
            <surname>Mallya</surname>
            and
            <given-names>Munindar P.</given-names>
          </string-name>
          <string-name>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Modeling Exceptions via Commitment Protocols</article-title>
          . In F. Dignum,
          <string-name>
            <given-names>V.</given-names>
            <surname>Dignum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Koenig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kraus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          , and M. Wooldridge, editors,
          <source>AAMAS</source>
          <year>2005</year>
          , pp.
          <volume>122</volume>
          {
          <fpage>129</fpage>
          . ACM,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. E. Marengo,
          <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>A. K.</given-names>
            <surname>Chopra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Patti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Commitments with Regulations: Reasoning about Safety and Control in REGULA</article-title>
          . In L. Sonenberg,
          <string-name>
            <given-names>P.</given-names>
            <surname>Stone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Tumer</surname>
          </string-name>
          , and P. Yolum, editors,
          <source>AAMAS 2011</source>
          , vol.
          <volume>1</volume>
          {
          <issue>3</issue>
          , pp.
          <volume>467</volume>
          {
          <issue>474</issue>
          ,
          <string-name>
            <surname>Taipei</surname>
          </string-name>
          , Taiwan, May
          <year>2011</year>
          . IFAAMAS.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>M. Montali</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Torroni</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Chesani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Alberti</surname>
            , and
            <given-names>E. Lamma.</given-names>
          </string-name>
          <article-title>Abductive Logic Programming as an E ective Technology for the Static Veri cation of Declarative Business Processes</article-title>
          . Fundam. Inform.,
          <volume>102</volume>
          (
          <issue>3-4</issue>
          ):
          <volume>325</volume>
          {
          <fpage>361</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>J.R.</given-names>
            <surname>Searle</surname>
          </string-name>
          .
          <article-title>The construction of social reality</article-title>
          . Free Press, New York,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>An Ontology for Commitments in Multiagent Systems</article-title>
          .
          <source>Arti cial Intelligence and Law</source>
          ,
          <volume>7</volume>
          (
          <issue>1</issue>
          ):
          <volume>97</volume>
          {
          <fpage>113</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Formalizing Communication Protocols for Multiagent Systems</article-title>
          . In M. Veloso, editor,
          <source>IJCAI 2007</source>
          , pp.
          <volume>1519</volume>
          {
          <issue>1524</issue>
          ,
          <year>2007</year>
          . AAAI Press.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. G. Weiss, editor.
          <source>Multiagent Systems: A Modern</source>
          Approach to Distributed Arti cial Intelligence. The MIT Press,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>M. Winiko</surname>
            , W. Liu, and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Harland</surname>
          </string-name>
          .
          <article-title>Enhancing Commitment Machines</article-title>
          . In J. A.
          <string-name>
            <surname>Leite</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Omicini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Torroni</surname>
          </string-name>
          , and P. Yolum, editors,
          <source>Proc. of DALT</source>
          <year>2004</year>
          , LNCS 3476, pp.
          <volume>198</volume>
          {
          <issue>220</issue>
          ,
          <year>July 2005</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>P.</given-names>
            <surname>Yolum</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Designing and Executing Protocols Using the Event Calculus</article-title>
          . In Agents, pp.
          <volume>27</volume>
          {
          <issue>28</issue>
          , New York, NY, USA,
          <year>2001</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>P.</given-names>
            <surname>Yolum</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Commitment Machines</article-title>
          . In J.-J. Ch. Meyer and M. Tambe, editors,
          <source>Proc. of ATAL</source>
          <year>2001</year>
          , LNCS 2333, pp.
          <volume>235</volume>
          {
          <issue>247</issue>
          ,
          <year>2002</year>
          . Springer.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>