<!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>Formalizing Commitments Using the Event Calculus</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Joost de Kruijff</string-name>
          <email>j.c.dekruijff@uvt.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hans Weigand</string-name>
          <email>h.weigand@uvt.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Tilburg University</institution>
          ,
          <addr-line>Tilburg</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <fpage>179</fpage>
      <lpage>190</lpage>
      <abstract>
        <p>Smart Contracts enable the automated execution of exchanges on the blockchain. From an ontological perspective, smart contracts create and automate the fulfillment of social commitments between actors. Whereas traditional deontic logic is used to make a legal determination in contractual multi-actor interactions, we focus on the consequences of these actions resulting from that determination, thereby shifting the focus from monitoring to execution. The interactions between actors and the consequences in terms of commitments have not yet been formalized for smart contracts. The perspective of smart contracts is interesting, since they are considered to be autonomous agents, able to generate automated actions. We use the Event Calculus to formalize logic in order to represent and reason about the effects of these automated actions and the resulting commitments. Since the Event Calculus deals with local events and the consideration of time, this approach enables the uniform representation of commitments, including their operations and reasoning rules about them.</p>
      </abstract>
      <kwd-group>
        <kwd>Blockchain</kwd>
        <kwd>Smart Contracts</kwd>
        <kwd>Commitments</kwd>
        <kwd>The Event Calculus</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In line with Enterprise Ontology and Business Ontologies like COFRIS [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and
REA [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], we model smart contracts as a bundle of interrelated commitments
(together: a contract) among those parties who have signed it. The main objective
of a contract for the contract agents is to fulfill a certain goal and to safeguard
against undesirable outcomes, together referred to as contract robustness [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Contracts that are not robust may lead to transaction costs, expensive conflict
resolution, or even a collapse of a transaction as a whole. According to the
sociological account of [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], “commitments” are needed to explain a consistent line
of activity and come into being when an individual brings in extraneous interests
(the example used in this paper is specifically on “side bets”). These “side bets” are
often a consequence of the actors' participation in social interactions. A more
abstract way of saying the same is that commitments penalize the individual in the
case of inconsistent behavior, and that the penalty has its basis in the social
      </p>
      <p>
        community. Importantly, the assumed effect of commitments is consistency in
behavior, and this contributes directly to contract robustness. As a result, the role of
commitments for decent business transactions is essential. It is not surprising that
commitments are basic in UFO-S, the foundational ontology of services. They are
also included in UFO-C (ontology of social entities) as a kind of social moments,
that is, “types of intentional moments that are committed by social actions (e.g., an
interaction composed of the exchange of communicative acts)” [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        In 1969, [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] provided an elegant way to logically represent changes of the
world through actions, captured in a protocol, called the Event Calculus. The Event
Calculus enables the uniform representation of commitments, including its
operations and reasoning rules about them [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Event calculus originates from the
Situation Calculus, but there is a conceptual difference between the two: the
Situation Calculus deals with global states, whereas the Event Calculus deals with
local events and the consideration of time periods. The latter is similar to the
structure of a blockchain, whereby transactions that change the state of the ledger
(actions) occur sequentially, based on situations (time or condition constraints) as
defined in the smart contract. The Event Calculus, can be formalized by means of
Horn clauses augmented with negation by failure [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Based on the Event Calculus,
Singh et al [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] developed a declarative protocol specification by capturing the
meaning of actions including intrinsic meanings through commitments. As a result,
they defined operations to commit, manipulate and terminate (discharge, delegate,
cancel) these commitments, centered on events and fluents. Fluents are properties
that may have different values at different time points (states) and the entire
lifecycle of a commitment. We consider fulfillments to be a state of a fluent. Events
manipulate fluents. A fluent starts to hold after an event occurs that can initiate the
fluent. Similarly, it ceases to hold when an event occurs that can terminate the fluent.
This paper aims to contribute in two ways. First, we aim to formalize the
representation and reasoning of the effects of commitments and automated actions
by smart contracts that result from them, with specific regards to creation,
manipulation and fulfillment. Second, we introduce flexibility to the process of
assigning or delegating control and responsibility roles inside an immutable smart
contract, while adding to the robustness of the contract.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Conceptual Framework</title>
      <p>
        The conceptual model in this paper builds upon earlier work [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], where we separated
the implementation choices for blockchain using three human abilities derived from
Enterprise Ontology; performa, informa, and forma. The forma ability concerns the
form aspects of communication and information. Production acts at the forma level
are datalogical in nature: they store, transmit, copy, destroy, etc. data. The informa
ability concerns the content aspects of communication and information. Production
acts at the forma level are infological in nature, meaning that they reproduce,
deduce, reason, compute, etc. information, abstracting from the form aspect. The
performa ability concerns the bringing about of new, original things, directly or
indirectly by communication. Communicative acts at the performa level are about
evoking or evaluating commitment; these communicative acts are realized at the
informa level by means of messages with some propositional content. We
previously presented our conceptual model for smart contracts at the informa level,
where we emphasized the infological blockchain domain ontology to accommodate
COFRIS-related components at the performa level [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. At the infological layer, the
notion of transaction has been refined to three aggregation levels: transaction, event
and posting. In this paper we extend our infological ontology by including
formalizations for commitments through Event Calculus. Event calculus
semantically extends our ontology by offering tools to Commit and manipulate
commitments. We first explain and present the Event Calculus extensions for
commitments, and then we will map these formalisms to our infological ontology.
2.1
      </p>
      <p>
        Commitment Lifecycle
In line with [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], new knowledge changes a state (in terms of fluents) by fulfilling
(partial) or realizing (full) a commitment c over time through transactions on the
SL. A commitment here is a conditional business relationship directed from a debtor
to a creditor, and can be formalized as C(debtor, creditor, antecedent, consequent
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The lifecycle of a commitment has been explained by Telang and Singh [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] as
follows:
A commitment transitions from one state to another through the operations:
Commit, detach (antecedent holds), discharge (consequent holds), cancel, assign and
delegate. A commitment can be in one of the following states: Null (before it is
Committed), Existing (when it is initially Committed), Active (when it is
initialized), Expired (when its antecedent becomes forever false, while the commitment
was Conditional), Discharged (or Satisfied) (when its consequent is brought about
while the commitment was Active, regardless of its antecedent), Violated (when its
antecedent has been true but its consequent will forever be false, or if the
commitment is cancelled when Detached), Terminated (when cancelled while Conditional
or released while Active), or Pending (when suspended while Active). Active has
two sub-states: Conditional (when its antecedent is still false) and Detached (when
its antecedent has become true). A debtor may Commit, Cancel, Suspend, or
Reactivate a commitment. A creditor may Release a debtor from a commitment [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Although the commitment lifecycle is the basis for our conceptual model, we do
make an important adjustment by adding the option to delay initialization (or
activation) of a commitment in order to prevent the existence of active commitments
that have no chance to satisfy (falsely pending). For example, a commitment to
consider offers on a piece of property, will only activate once offers can be made by
buyers to satisfy that commitment. Hence the commitment is made (way) earlier
than the property was listed. In this scenario, there is a time gap between the creation
and the activation of a commitment.
      </p>
      <p>
        Actions are realized by means of messages and are a conjunction of subactions.
Actions may either be predefined or Committed on-the-fly by participants.
Governatori [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] recommends to predefine action logic explicitly for better
monitorability of the contract. We introduce Exchange Commitments and Control Commitments
to distinguish between commitments that are defining the economic transaction (are
about the resource exchange) like creating, activating and satisfying and those that
deal with the conditioning of the contract like delegating or assigning. From a
speech act perspective, commitments are a structure to communicate meaning and
intent between actors. This structure as presented by [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] distinguishes between a
success- and a dispute or failure layer. The success layer contains the set of
communicational moves to complete a transaction successfully. Transactions hereby
follow the transaction paradigm that state that actors commit and execute actions
that result in the creation of new facts. So we consider the action events on this layer
to address exchange commitments. Characteristics of the success layer is that the
proposition of the transaction is never changed during its lifecycle nor the
constraints. On the other hand, the discussion layer (also mentioned as failure and
dispute layer) is concerned with the communicative acts for situations where this is or
may not be the case. In the event of opportunistic behavior by actors or changed
circumstances that require a change to the proposition after committing to bring
about the original proposition, the transaction should be resolved in a new request
or be closed altogether. We introduce control commitments to deal with the
conditioning of a contract under these circumstances, like changes to the rules of
engagement, delegation- and assignment of actors and violation. Once the transaction
diverts from its path towards success, control commitments prescribe what should
happen. Key to control commitments is that they allow to change elements of the
contract by manipulating commitments through Constraints, without changing the
proposition of the transaction itself.
Constraints consist of Conditions that verify if an Event happened (Happens) or if
a commitment holds (HoldsAt). Whereas control commitments are more
straightforward, Exchange Commitments between agents are easier to predict when goals
of the agents are known, since goals describe the state of the world that an individual
agent is motivated to bring about (antecedent or consequent) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. We distinguish
between the Control and the Responsibility role. The Control role is concerned with
the execution of an Event, without social responsibility. Responsibility means social
responsibility but not necessarily execution. Roles are not set in stone and may
change due to time- or conditional constraints. We consider two role transitions; (1)
Delegation is concerned with the change of debtor, without changing anything else.
Since the creditor and conditions are unchanged, the creditor remains socially
responsible for the commitment; he delegates control of execution to the smart
contract as in the case of a notary or bank, for example. (2) Assigning is concerned with
the change of creditor, without changing anything else. Even though the creditor
changes, the new creditor becomes participant in bringing about the commitment.
This may be the case when a house owner Assigns the ownership transfer to a
notary, or in a future situation, to a smart contract.
Now that we understand the basic lifecycle of commitments, it is important to map
this concept to our infological ontology. Hereby, the concept of Events, and Fluents
are mapped to Transfers and Accounts in our infological ontology [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], but the two
conceptualizations have a slightly different focus. Whereas a Transfer manipulates
agnostic Accounts (through inflow- and outflows), Events manipulate specific
Fluents through Actions, namely Commitments, by specific operations from the
commitment lifecycle. On the other hand, in the infological model a Transfer is
conceived as Inflow and Outflow. So to combine the two models, we have to restrict
Transfers to specific commitment-manipulating actions and we have to specify
these actions in terms of Inflow and Outflow. The main concern with regards to
reasoning about Transfers in smart contracts, is that so far, there is a lack of
standards for Rules of Engagement. The Clauses and Defaults that govern the Transfers
can be anything. By mapping the Rules of Engagement to Event Calculus axioms,
the rules become a sound axiom system. A distinction must be made between the
general Event Calculus axioms, generic Commitment axioms and contract-specific
rules. For example, it is a generic Commitment axiom that only a debtor Agent is
allowed to discharge a commitment. Further, by allowing preconditions to be
associated with the Initiation and Termination of properties, different commitments can
be associated with communicative acts to model the communications among Agents
more concretely.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Manipulating commitments using the Event Calculus</title>
      <p>
        The Event Calculus uses various predicates to reason about events. Based on the
predicates and axioms presented in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We have modified the notation to e for
events and c for commitments. The symbol ← denotes implication, ∧ denotes
conjunction and ~ denotes negation by failure. The time points are ordered by the &lt;
relation, which is defined to be transitive and asymmetric. We write a commitment
as C(x, y, p, q) where x is the debtor, y is the creditor and p and q are the antecedent
and consequent respectively. When c is a commitment, debtor(c) yields the x, and
similar to the other roles Before we explain the axioms that are required to create
and manipulate commitments, it is important to distinguish between the various
commitment types that have been identified by [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] used in this paper. Base
commitments (BC) written as BC(x, y, p) are commitments from debtor x to a creditor y to
satisfy condition p. Condition p does not involve other fluents or commitments,
written as BC(x, y, p). This type of commitment is also known as an unconditional
commitment. On the other hand, conditional commitments are written as CC(x, y,
p, q) whereby debtor x will bring about condition q to creditor y, once condition p
is satisfied. In contrast to a BC, the behavior of a CC is slightly more complex. In
line with the state knowledge update paradigm [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], a CC is terminated and
subsequently reinitiated. In line with [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], we then implement Colombetti’s [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]
definitions of conditional commitments, where a CC resolves into a new BC upon the
realization of p. This new BC is committed to satisfy q. So when a CC holds and an
event happens that fulfils p, the CC is terminated and a new BC being created. In
this paper, we will not touch persistent commitments (PC(x, y, G(p))). Table 2
summarizes the formalization rules and commitment type used in our protocol run.
Commitments denoted as c can be either a BC or a CC.
      </p>
      <p>Rule
r1
r2
r3
r4
r5
r6
r7</p>
      <p>Explanation
Creation of a commitment
that is not activated during
the create event.</p>
      <p>Activation of a
commitment or the activation of a
commitment that is
activated in the same event
Termination of a BC that
is fulfilled
Termination of a CC that
resolves in a BC to provide
q in a later event
Termination of a CC that
resolves in a BC to provide
q that is activated in the
same event of satisfying
the CC
The delegate operation
that replaces the debtor of
the commitment with
agent z
The assign operation that
replaces the creditor of the
commitment with agent z
The rules presented in table 2. İmplement rule templates that are (still under
development) and out of scope for this paper. In that context, r1 should be considered
as a rule that compounds multiple rules in our workflow to relate commitments as
the evolve. For example, the commitment to Relocate has a direct relation with the
commitment to ConsiderOffers.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Application: The Real Estate Example</title>
      <p>
        We now apply the CBSC framework to a basic real-estate transaction - often
mentioned as an important application area for smart contracts [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. BUY represents the
buyer (or debtor agent). SEL represents the seller (or creditor agent) and AG
represents a real estate agent.
      </p>
      <p>
        Since this process is standardized and regulated in most countries, there is
only one protocol run possible. We assume that only one action can occur at one
time point. Hence, we are not concerned with concurrent events. The frame problem
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is handled through circumscription as shown by [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Through circumscription,
the set of Activates, Satisfies and Release clauses is kept to minimize unexpected
effects. The minimization of Happens leads to a minimal number of unexpected
events. table 3 shows the EC events e1..e5 that correspond to interface messages of
the smart contract. Since this property event cycle is heavily regulated, the order of
events is rather standard and does not provide room for change. To name the events,
we have chosen to uppercase the second main action words, like listProperty, where
the first word is a fluent. The next step is to convert the chain of events to the EC.
Commit(e, x, c) establishes commitment c, in our interpretation BC or CC. When
event e is performed, the commitment c or a state (fluent) p is initiated. HoldsAt
explains which states (fluents) hold at a given time point, and Happens defines a
predicate relation between events possibly surrounded by conditions and times
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
Event
e1
e2
e3
e4
e5
      </p>
      <p>Time
For each event and subsequent time point in table, we can apply the rules as defined
in table 4. We will illustrate some examples. The example starts with the (arbitrary)
decision by the seller to commit to relocate for any reason. Since the seller commits
to his/herself in this instance, the seller represents both x and y. It is important to
note that we do not imply R1 here, since the commitment and its activation both
happen in e1. We could write this commitment conforming to R2 in two ways:
Activate(DecideToRelocate(Mainstreet 1), Relocate(SEL, SEL,
Decide(Mainstreet 1)), t 1.2) ←
Happens(DecideToRelocate(Mainstreet 1), t1.1) ∧ Commit(DecideToRelocate(Mainstreet 1), SEL,
Relocate(SEL, SEL, Decide(Mainstreet 1)))
Or simplified via the shortcuts provided in table 3 and 4. Hereby, a represents the asset (e.g.
Mainstreet 1) and m the amount paid (e.g. 100.000 USD).</p>
      <p>Activate(e1 (Mainstreet 1), c1 (SEL, BUY, F1), t1.2) ←
Happens(e1(Mainstreet 1), t1.1) ∧ Commit(e2, SEL, c1 (SEL, SEL, f 1(a, m)))
We prefer the second method using short codes as a matter of convenience. c1 is
satisfied by listing the property. This does not mean that the seller is relocated yet,
but all he/she could do after committing to relocate was to list the property. The list
fluent in e2 commits the seller to consider offers. The Consider commitment (c2)
imposes r1 and is not yet activated, since there are no offers yet to consider.</p>
      <p>Satisfy(e2(a, m), c1, t2.1) ← Happens(e2, t2.1) ∧ Activate(e1, c1, t1.2) ∧
Discharge(e2, SEL, c1(SEL, BUY, f2))</p>
      <p>Commit(e2, SEL, c2 (SEL, BUY, f2(a, m))) ← Happens(e2, t2.2)
The Buy and Sell commitments stretch from e3 (offer) to e5 (sign) and comply to
r4, whereby the conditional commitments resolves as p (accept) holds into a new
base commitment to provide q (sign). The Buy commitment is created in an event
(e3) where it could not be activated (only from e4). In contrast to the Consider
conditional commitment which implies r5, q is only brought about in a later event at
t5.1 and t5.2. The Buy commitment evolves as follows:</p>
      <p>Activate (e4, bc7(BUY, SEL, f5(a, m)), t4.13) ← Happens(e4, t4.13) ∧
Commit(e4, BUY, bc7(BUY, sell, f5(a,m)))
Satisfy(e4, cc3(BUY, SEL, f4(a,m), f5(a,m)), t4.11) ← Happens(e4, t4.4)
∧ HoldsAt (cc3(BUY, SEL, f4(a,m), f5(a,m))) ∧ Activate (e3, cc3
(BUY, SEL, f4(a,m), f5(a,m)), t3.4))
Activate (e3, cc3(BUY, SEL, f4(a,m), f5(a,m)), t3.4) ← Happens(e3, t3.1)
∧ Commit(e3, BUY, cc3(BUY, SEL, f4(a,m), f5(a,m)))
The Buy commitment also delegates control to the smart contract conforming to r6
by changing x to z. Please note that x remains responsible.</p>
      <p>Commit(e3, SC, cc3(SC, SEL, f4(a,m), f5(a,m))) ← Happens(e3, t3.3) ∧
Delegate(e3, BUY, SEC, cc3(SC, SEL, f4(a,m), f5(a,m)))
Cancel(e, x, cc(x, y, f4(a,m), f5(a,m))) ← Happens(e3, t3.3) ∧ Delegate(BUY,
SC, cc3(BUY, SEL, f4(a,m), f5(a,m)))
The process for the assignment operation for the Sell commitment is similar to the
delegate operation but conforms to r7 instead of r6 to change the creditor agent
from y to z.</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>This paper introduced a commitment based formalization approach towards smart
contracts using the Event Calculus. The concept of commitment based smart
contracts builds on the idea of expressing multi-agent transaction through the lens of
smart contracts and commitments, while delegating and assigning action execution
responsibility to smart contracts as (semi)autonomous agents. Hereby, the scope of
agents is extended from agents as ‘human’ to be ‘human’ and ‘non-human’. We
believe that commitments can be created, activated and satisfied at different time
points across a (business) transaction. In addition, we have added formalisms to
change the role that actors play during a transaction. We think that these additions
to the commitment lifecycle are useful to apply commitment based approaches
towards smart contracts and could be further extended to state monitoring
mechanisms, partial fulfillments and approaches towards the (deontic) concept of contract
violation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>H.</given-names>
            <surname>Weigand</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Blums</surname>
          </string-name>
          , and J. de Kruijff, “Shared Ledger Accounting - Implementing
          <source>the Economic Exchange pattern“ Proc. CAiSE</source>
          <year>2018</year>
          , pp.
          <fpage>342</fpage>
          -
          <lpage>356</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. J. de Kruijff and
          <string-name>
            <given-names>H.</given-names>
            <surname>Weigand</surname>
          </string-name>
          , “
          <article-title>Understanding the Blockchain Using Enterprise Ontology“</article-title>
          ,
          <source>Advanced Information Systems Engineering</source>
          , 29th International Conference, CAiSE
          <year>2017</year>
          , Essen, Germany, June 12-16,
          <year>2017</year>
          , Proceedings,” pp.
          <fpage>29</fpage>
          -
          <lpage>43</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          and
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Chopra</surname>
          </string-name>
          , “
          <article-title>Violable Contracts and Governance for Blockchain Applications</article-title>
          ,”
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>A. K. Chopra</surname>
          </string-name>
          et al., “
          <string-name>
            <surname>Agent-Oriented Software Engineering</surname>
            <given-names>XI</given-names>
          </string-name>
          , 11th International Workshop, AOSE 2010, Toronto, Canada, May
          <volume>10</volume>
          -11,
          <year>2010</year>
          , Revised Selected Papers,” pp.
          <fpage>17</fpage>
          -
          <lpage>36</lpage>
          ,
          <year>2011</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>5. Nardi - Guarini</mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>J.</given-names>
            <surname>McCarthy</surname>
          </string-name>
          and
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Hayes</surname>
          </string-name>
          , “
          <source>Readings in Artificial Intelligence,” Chapter 5 Adv Top</source>
          , pp.
          <fpage>431</fpage>
          -
          <lpage>450</lpage>
          ,
          <year>1981</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <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>Reasoning about Commitments in the Event Calculus: An Approach for Specifying and</article-title>
          Executing Protocols,” Ann Math Artif Intel, vol.
          <volume>42</volume>
          , no.
          <issue>1-3</issue>
          , pp.
          <fpage>227</fpage>
          -
          <lpage>253</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>P. R.</given-names>
            <surname>Telang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and N.</given-names>
            <surname>Yorke-Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>“Programming</given-names>
            <surname>Multi-Agent</surname>
          </string-name>
          <string-name>
            <surname>Systems</surname>
          </string-name>
          , 9th International Workshop, ProMAS 2011, Taipei, Taiwan, May 3,
          <year>2011</year>
          , Revised Selected Papers,” pp.
          <fpage>22</fpage>
          -
          <lpage>37</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. G. Governatori, “Representing Business Contracts in RuleML,”
          <string-name>
            <surname>Int J Coop Inf</surname>
            <given-names>Syst</given-names>
          </string-name>
          , vol.
          <volume>14</volume>
          , no.
          <issue>02n03</issue>
          , pp.
          <fpage>181</fpage>
          -
          <lpage>216</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Reijswoud</surname>
            ,
            <given-names>V.E. van,</given-names>
          </string-name>
          (
          <year>1996</year>
          )
          <article-title>The Structure of Business Communication: Theory Model and Application</article-title>
          .
          <source>PhD Thesis</source>
          , Delft University of Technology, Delft
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>P. R. Telang</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>and N.</given-names>
          </string-name>
          <article-title>Yorke-Smith, “A Coupled Operational Semantics for Goals and Commitments”</article-title>
          ,
          <source>Journal of Artificial Intelligence Research</source>
          <volume>65</volume>
          (
          <year>2019</year>
          )
          <fpage>31</fpage>
          -
          <lpage>85</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>J. de Kruijff</surname>
            and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Weigand</surname>
          </string-name>
          , “
          <article-title>Ontologies for Commitment-Based Smart Contracts</article-title>
          ” In
          <source>: Proc. OTM</source>
          <year>2017</year>
          , Rhodes, Greece,
          <source>October 23-27</source>
          ,
          <year>2017</year>
          ,
          <string-name>
            <surname>Part</surname>
            <given-names>II</given-names>
          </string-name>
          ,” pp.
          <fpage>383</fpage>
          -
          <lpage>398</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. M. Shanahan, “
          <article-title>An abductive event calculus planner,” J Log Program</article-title>
          , vol.
          <volume>44</volume>
          , no.
          <issue>1-3</issue>
          , pp.
          <fpage>207</fpage>
          -
          <lpage>240</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>R.</given-names>
            <surname>Kowalski</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sergot</surname>
          </string-name>
          , “
          <article-title>A logic-based calculus of events,” New Generat Comput</article-title>
          , vol.
          <volume>4</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>67</fpage>
          -
          <lpage>95</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>N.</given-names>
            <surname>Foara</surname>
          </string-name>
          and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Colombetti “A Commitment Based Approach to Agent Communication” Appl Artif Intell</article-title>
          , vol.
          <volume>18</volume>
          , no.
          <issue>9-10</issue>
          , pp.
          <fpage>853</fpage>
          -
          <lpage>866</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. I. Karamitsos,
          <string-name>
            <given-names>M.</given-names>
            <surname>Papadaki</surname>
          </string-name>
          , N.B,
          <string-name>
            <surname>Al</surname>
            <given-names>Barghuthi</given-names>
          </string-name>
          “
          <article-title>Design of the Blockchain Smart Contract ”</article-title>
          ,
          <source>Journal of Information Security</source>
          <volume>09</volume>
          (
          <issue>03</issue>
          ):
          <fpage>177</fpage>
          -
          <lpage>190</lpage>
          ,
          <year>January 2018</year>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. A. Paschke, “
          <article-title>ECA-RuleML: An Approach combining ECA Rules with temporal interval-based KR Event/Action Logics and Transactional Update Logics” ECA-RuleML Proposal for</article-title>
          “
          <source>RuleML Reaction Rules Technical Goup” - Nov</source>
          .
          <year>2005</year>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>