=Paper= {{Paper |id=Vol-408/paper-9 |storemode=property |title=CTL AgentSpeak(L): a specification language for agent programs |pdfUrl=https://ceur-ws.org/Vol-408/Paper09.pdf |volume=Vol-408 |dblpUrl=https://dblp.org/rec/conf/lanmr/Guerra-HernandezCF08 }} ==CTL AgentSpeak(L): a specification language for agent programs== https://ceur-ws.org/Vol-408/Paper09.pdf
    CT LAgentSpeak(L) : a Specification Language for
                   Agent Programs

    Alejandro Guerra-Hernández1 , José Martı́n Castro-Manzano1 , and Amal
                           El-Fallah-Seghrouchni2
                       1
                         Departamento de Inteligencia Artificial
                              Universidad Veracruzana
                     Facultad de Fı́sica e Inteligencia Artificial
               Sebastián Camacho No. 5, Xalapa, Ver., México, 91000
                        aguerra@uv.mx, e f s s@hotmail.com
                       2
                         Laboratoire d’Informatique de Paris 6
                           Université Pierre et Marie Curie
                Avenue du Président Kennedy, Paris, France, 75016
                              Amal.Elfallah@lip6.fr


       Abstract. This work introduces CT LAgentSpeak(L) , a logic to specify
       and verify expected properties of rational agents implemented in the
       AgentSpeak(L) agent oriented programming language. Our approach is
       similar to the classic BDICT L modal logic, used to reason about agents
       modelled in terms of belief (BEL), desires (DES), intentions (INTEND). A
       new interpretation for the temporal operators in CT L: next ( ), even-
       tually (♦), until(U), inevitable(A), etc., is proposed in terms of the tran-
       sition system induced by the operational semantics of AgentSpeak(L).
       The main contribution of the approach is a better understanding of the
       relation between the programming language and its logical specification,
       enabling us to proof expected or desired properties for any agent pro-
       grammed in AgentSpeak(L), e.g., commitment strategies.


1    Introduction
The theory of practical reasoning proposed by Bratman [3], expounds the philo-
sophical foundation for the computational approaches to rational agency, known
as BDI (Belief-Desire-Intention) systems. This theory is innovative because it
does not reduce intentions to some combination of beliefs and desires, but in-
deed it assumes that intentions are composed by hierarchical, partial plans. Such
assumption explains better temporal aspects of practical reasoning as future in-
tentions, persistence, reconsideration and commitment. Different multi-modal
BDI logics [14, 16, 17] have been proposed to formally characterize the rational
behavior of such agents, in terms of the properties of the intentional attitudes
and the relations among them, e.g., it is rational to intend desires that are
believed possible; and temporal changes of these mental attitudes, e.g., com-
mitment strategies define when it is rational to drop intentions. Due to their
expressiveness, these logics are used to reason about the agents properties; but,
because of their computational cost, they are not used to program them.
    Agent oriented programming languages, such as AgentSpeak(L) [13], have
been proposed to reduce the gap between theory (logical specification) and prac-
tice (implementation) of rational agents. Even when this programming language
has a well defined operational semantics, the verification of rational properties
of the programmed agents is not evident, since intentional and time modalities
are abandoned for the sake of efficiency. In order to reason about such proper-
ties, we propose CT LAgentSpeak(L) as a logic for specification and verification of
AgentSpeak(L) agents. The approach is similar to the classic BDICT L [14] logic,
defined as a B KD45 DKD I KD modal system, with temporal operators: next ( ),
eventually (♦), until(U), inevitable(A), etc., defined after the computational tree
logic (CTL) [6].
    Our main contribution is the definition of the semantics of the CT L tempo-
ral operators in terms of a Kripke structure, produced by a transition system
defining the operational semantics of AgentSpeak(L). The semantics of the in-
tentional operators is adopted from the work of Bordini et al. [1]. As a result,
the semantics of CT LAgentSpeak(L) is grounded in the operational semantics of
programming language. In this way, we can prove if any agent programmed in
AgentSpeak(L) satisfies certain properties expressed in the logical specification.
It is important to notice that our problem is different from that of model check-
ing in the following sense: in model checking the problem consists in verifying
if certain property holds in certain state in certain agent, while our work deals
with verifying that certain general properties hold for any agent. The approach
is exemplified verifying the commitment strategies for AgentSpeak(L).
    The paper is organized as follows: Section 2 exemplifies the specification of
rational properties in BDICT L [14] with the definition of commitment strategies.
Section 3 introduces the syntax and the semantics of the AgentSpeak(L) agent
oriented programming language. Section 4 presents the main contribution of the
paper: a logic framework to reason about AgentSpeak(L) agents, with semantics
based on the operational semantics of the programming language. Section 5
shows how the commitment strategies introduced in section 2 can be verified for
AgentSpeak(L). Section 6 offers concluding remarks and discusses future work.


2   Commitment

As mentioned, different computational theories have been proposed to capture
the theory of Bratman [3] on intentions, plans and practical reasoning. The
foundational work of Cohen and Levesque [4], for example, defined intention
as a combination of belief and desire based on the concept of persistent goal. A
critical analysis of this theory [15] showed that the theory of Cohen and Levesque
failed to capture important aspects of commitment. Alternatively, commitment
has been approached as a process of maintenance and revision of intentions,
relating current and future intentions.
    Different types of commitment strategies define different types of agents.
Three of them have been extensively studied in the context of BDICT L [14],
where CT L denotes computational tree logic [6], the well known temporal logic:
 – Blind commitment. An agent intending that inevitably (A) eventually (♦)
   is the case that φ, inevitably maintains his intentions until (U) he actually
   believes φ:

                 INTEND(A♦φ) =⇒ A(INTEND(A♦φ) U BEL(φ))                        (1)

 – Single-minded commitment. An agent maintains his intentions as long
   as he believes they are achieved or optionally (E) eventually achievable:


        INTEND(A♦φ) =⇒ A(INTEND(A♦φ) U (BEL(φ) ∨ ¬BEL(E♦φ))                    (2)

 – Open-minded commitment. An agent maintains his intentions as long as
   they are achieved or they are still desired:


       INTEND(A♦φ) =⇒ A(INTEND(A♦φ) U (BEL(φ) ∨ ¬DES(A♦φ)))                    (3)

     For example, a blind agent intending eventually to go to Paris, will maintain
his intention, for any possible course of action (inevitable), until he believes he
is going to Paris. A single-minded agent can drop such intention if he believes
it is not possible any more to go to Paris. An open-minded agent can drop the
intention if he does not desire anymore going to Paris. An interesting question
is what kind of commitment strategy is followed by AgentSpeak(L) agents?
     Furthermore, how can we relate commitment with policy-based reconsider-
ation in AgentSpeak(L)? Bratman argues that there are three cases of recon-
sideration ([3], pp. 60–75) in practical reasoning. Non-reflective reconsideration
has short effects, while deliberative one is very expensive. Policy-based recon-
sideration is a compromise between impact and cost. Obviously, if an agent is
blindly committed, we can not talk about any form of reconsideration. But if
the an agent is single-minded, then we could approach policy-based reconsid-
eration through intentional learning [7–10]. In this way we would reconcile a
relevant aspect of the computational theories of BDI agency (commitment) with
its philosophical foundation (reconsideration à la Bratman).


3   AgentSpeak(L)

In this section, the syntax and semantics of AgentSpeak(L) [13], as defined for its
interpreter Jason [2], are introduced. The operational semantics of the language
is given in terms of a transition system that, being a Kripke structure, is used
to define the semantic of the temporal operators in CT LAgentSpeak(L) in the
next section; the BDI operators will also be defined in terms of the structures
supporting the operational semantics of AgentSpeak(L)
3.1   Syntax
The syntax of AgentSpeak(L) is shown in table 1. As usual, an agent ag is formed
by a set of plans ps and beliefs bs (grounded literals). Each plan has the form
triggerEvent : context ← body. The context of a plan is a literal or a conjunction
of them. A non empty plan body is a finite sequence of actions, goals (achieve
or test an atomic formula), or beliefs updates (addition or deletion). > denotes
empty elements, e.g., plan bodies, contexts, intentions. The trigger events are
updates (addition or deletion) of beliefs or goals.


        ag ::= bs ps                                  at ::= P (t1 , . . . , tn ) (n ≥ 0)
        bs ::= b1 . . . bn            (n ≥ 0)         a ::= A(t1 , . . . , tn ) (n ≥ 0)
        ps ::= p1 . . . pn            (n ≥ 1)         g ::= !at | ?at
        p ::= te : ct ← h                             u ::= +b | − b
        te ::= +at | − at | + g | − g
        ct ::= ct1 | >
        ct1 ::= at | ¬at | ct1 ∧ ct1
        h ::= h1 ; > | >
        h1 ::= a | g | u | h1 ; h1

         Table 1. Sintax of AgentSpeak(L). Adapted from Bordini et al. [2]




3.2   Operational semantics
The operational semantics of AgentSpeak(L) is defined as a transition system
between configurations hag, C, M, T, si, where:

 – ag is an agent program formed by beliefs bs and plans ps.
 – An agent circumstance C is a tuple hI, E, Ai where I is the set of intentions
   {i, i0 , . . . , n} s.t. i ∈ I is a stack of partially instantiated plans p ∈ ps; E is a
   set of events {hte, ii , hte0 , i0 i , . . . , n}, s.t. te is a triggerEvent and each i is
   an intention (internal event) or an empty intention > (external event); and
   A is a set of actions to be performed by the agent in the environment.
 – M is a tuple hIn, Out, SIi that works as a mailbox, where In is the mailbox
   of the agent, Out is a list of messages to be delivered by the agent and
   SI is a register of suspended intentions (intentions that wait for an answer
   message). It is not relevant for the purposes of this paper.
 – T is a tuple hR, Ap, ι, , ρi that registers temporal information: R is the set of
   relevant plans given certain triggerEvent; Ap is the set of applicable plans
   (the subset of R s.t. bs |= ctx); ι,  y ρ register, respectively, the intention,
   the event and the current plan during an agent execution.
 – The configuration label s ∈ {SelEv, RelP l, AppP l, SelAppl, SelInt, AddIM,
   ExecInt, ClrInt, P rocM sg} indicates the current step in the reasoning cycle
   of the agent.
   Transitions are defined in terms of semantic rules of the form:

                                                       cond
                                    (rule id)
                                                      C → C0
where C = hag, C, M, T, si is an AgentSpeak(L) configuration that can be trans-
formed to a new one C 0 , if the conditions cond hold. Table 2 shows the semantic
rules that are relevant for the purposes of this paper (communication processing
rules are omitted for simplicity).


                        SE (CE )=hte,ii                               0
  (SelEv1 ) hag,C,M,T,SelEvi− →hag,C 0 ,M,T 0 ,RelP li
                                                               s.t. CE  = CE \ {hte, ii}
                                                                     0
                                                                    T = hte, ii

                  T =hte,ii,RelP lans(ag   ,te)6={}
                  
     (Rel1 ) hag,C,M,T,RelP          ps
                            li−→hag,C,M,T 0 ,AppP li
                                                               s.t. TR0 = RelP lans(agps , te)

                      RelP lans(ps,te)={}
     (Rel2 ) hag,C,M,T,RelP li−→hag,C,M,T,SelEvi

                    ApplP lans(agbs ,TR )6={}                        0
   (Appl1 ) hag,C,M,T,ApplP li−→hag,C,M,T 0 ,SelAppli
                                                               s.t. TAp = AppP lans(agbs , TR )

                           S   (T   )=(p,θ)
                         O   Ap
 (SelAppl) hag,C,M,T,SelAppli−→hag,C,M,T 0 ,AddIM i
                                                               s.t. Tρ0 = (p, θ)

                         T =hte,>i,T =(p,θ)
                      
   (ExtEv) hag,C,M,T,AddIM     ρ
                           i−→hag,C 0 ,M,T,SelInti
                                                               s.t. CI0 = CI ∪ {[pθ]}

                         CI 6={},SI (CI )=i
  (SelInt1 ) hag,C,M,T,SelInti− →hag,C,M,T 0 ,ExecInti
                                                               s.t. Tι0 = i

                             CI ={ }
  (SelInt2 ) hag,C,M,T,SelInti−→hag,C,M,T,P rocM sgi

                      Tι =i[head←!at;h]                      0
 (AchvGl) hag,C,M,T,ExecInti− →hag,C 0 ,M,T,P rocM sgi
                                                       s.t. CE = CE ∪ {h+!at, Tι i}
                                                             0
                                                            CI = CI \ {Tι }

                           Tι =[head←>]
  (ClrInt1 ) hag,C,M,T,ClrInti− →hag,C 0 ,M,T,P rocM sgi
                                                               s.t. CI0 = CI \ {Tι }

                         Tι =i[head←>]
  (ClrInt2 ) hag,C,M,T,ClrInti− →hag,C 0 ,M,T,ClrInti
                                                               s.t. CI0 = (CI \ {Tι }) ∪
                                                                    {k[(head0 ← h)θ]}
                                                                    if i = k[head0 ← g; h]
                                                                    and gθ = T rEv(head)

                   Tι 6=[head←>]∧Tι 6=i[head←>]
  (ClrInt3 ) hag,C,M,T,ClrInti−→hag,C,M,T,P rocM sgi


               Table 2. Operational semantics rules of AgentSpeak(L).




   The reasoning cycle of an AgentSpeak(L) agent starts processing messages
and updating perception (s = P rocM sg). This adds events to CE (Cα denotes
the element α of circumstance C, the same for other element of configurations)
to be processed by the agent. One of these events is selected (SE (CE ) = hte, ii),
and relevant and applicable plans are generated using the following definitions:

Definition 1 (Relevant plans) Given a set of plans agps , the subset of rele-
vant plans for a selected event hte, ii ∈ CE , is defined as:

           RelP lans(ps, te) = {(p, θ)|p ∈ ps ∧ θ = mgu(te, T rEv(p))}

where T rEv(te0 : ctxt ← h) = te0 gets the trigger event te of a plan, CE denotes
the events E in a given circumstance C, and mgu is the most general unifier.

Definition 2 (Applicable plans) Given a set of relevant plans TR and a set
of beliefs agbs , the set of applicable plans is defined as:

     AppP lans(bs, R) = {(p, θθ0 )|(p, θ) ∈ R ∧ θ0   is s.t.   bs |= Ctxt(p)θθ0 }

where θ0 is the substitution computed when verifying if the context of relevant
plan p (Ctxt(p)), affected by its relevant substitution θ, is a logical consequence
of the beliefs of the agent bs.

    Then the agent proceeds selecting a relevant plan to form an intention (Appl1
and SelAppl) or, if no relevant plans were found, selecting an intention to be
executed (Appl2 and SelInt1 ). The execution of an intention changes the en-
vironment and the mental attitudes of the agent (including the abandoning of
accomplished intentions in ClrInt). P rocM sg generates the new events, and so
on. Figure 1 shows the transition system induced by these semantic rules. States
are labeled with possible values for s. Transitions correspond to the semantic
rules identifiers. The initial state is s = P rocM sg.
    Although the operational semantics of AgentSpeak(L) clearly defines the
practical reasoning performed by an agent, it is difficult to prove BDI properties,
such as the commitment strategies, for any given agent. This is due to the
abandon of intentional and temporal modalities in AgentSpeak(L), the main
reason to propose CT LAgentSpeak(L) .


4   CT LAgentSpeak(L)

CT LAgentSpeak(L) may be seen as an instance of BDICT L . Similar approaches
have been explored for other instances of agent oriented programming languages,
e.g, a simplified version of 3APL [5]. The idea is to define the semantics of
temporal and intentional operators in terms of the operational semantics of the
programming language. This grounds the semantics to reason about particular
kinds of agents, in this case AgentSpeak(L) agents. Once this is done, we can
use the logic to reason about general properties of such agents.
                                              Rel2



                             SelEv           SelEv1             RelPl             Rel1            ApplPl



                                                      SelEv2
               ProcMsg                                                                   Appl2    Appl1

                         ClrInt1                      SelInt2
               AchvGl    ClrInt3            ClrInt2                         SelInt                SelAppl

                                   ClrInt                                                         SelAppl
                                                                        SelInt1           ExtEv
                         TestGl1        AddBel         Action                             IntEv
                         TestGl2        DelBel

                                                                ExecInt                           AddIM




         Fig. 1. The interpreter for AgentSpeak(L) as a transition system.



4.1   Syntax

Formulae for intentional and temporal operators are required:

Definition 3 (BDI syntax) If φ is an atomic formula in AgentSpeak(L),
then φ, BEL(φ), DES(φ), INTEND(φ) are CT LAgentSpeak(L) well formed for-
mulae (BDI formulae).

Definition 4 (Temporal syntax) Temporal formulae are divided, as usual, in
state and path formulae. State formulae are defined as:

s1 Each well formed BDI formula is a state formula.
s2 If φ and ψ are state formulae, φ ∧ ψ and ¬φ are state formulae.
s3 If φ is a path formula, then Eφ and Aφ are state formulae.

Path formulae are defined as:

p1 Each state formula is also a path formula.
p2 If φ and ψ are path formulae, then ¬φ, φ ∧ ψ,                                    φ, ♦φ and φ U ψ are path
   formulae.

   For example, INTEND(A♦go(paris)) U ¬BEL(go(paris, summer), expressing
that the agent will intend inevitably (A) for every course of action, eventually
(♦) going to Paris until (U) he does not believe go to Paris in summer, is a well
formed formula.
4.2   Semantics

The semantics of the intentional operators BEL, DES and INTEND is adopted
from Bordini et al. [1]. First an auxiliary function for getting the atoms (at)
subject of an achieve goal (+!) in a given intention, is defined: required:

            agoals(>) = {},
                             {at} ∪ agoals(i)      if p = +!at : ct ← h,
            agoals(i[p]) =
                             agoals(i)             otherwise

Definition 5 (BDI semantics) The semantics of the BEL, DES, and INTEND
operators for a given agent ag and its circumstance C is:

                           BELhag,Ci (φ) ≡ agbs |= φ
                                   [                 [
           INTENDhag,Ci (φ) ≡ φ ∈      agoals(i) ∨                  agoals(i)
                                      i∈CI              hte,ii∈CE

                   DEShag,Ci (φ) ≡ h+!φ, ii ∈ CE ∨ INTEND(φ)

    If the agent ag and his circumstance C are explicit, we simply write BEL(φ),
DES(φ), and INTEND(φ). So an agent ag is said to believe the atomic formula φ,
if φ is a logical consequence of the beliefs bs of ag. An agent is said to intend the
atomic formula φ, if φ is the subject of an achieve goal in the active intentions of
the agent (CI ) or in his suspended intentions associated to events to be processed
(CE ). An agent is said to desire the atomic formula φ, if there is an event in CE
which trigger is an achieve goal about φ or if φ is intended.
    The semantics of the temporal operators: next( ), eventually (♦), and until
(U), as well as the path quantifier inevitable (A), required a Kripke structure
hS, R, Li where S is a set of states, R is a serial relation on S × S and L is a
labelling or a valuation function for formulae in the states. The transition system
of AgentSpeak(L) induce a Kripke structure:

Definition 6 (AgentSpeak(L) Kripke structure) K = hS, R, V i is a Kripke
structure specified by the transition system (Γ ) defining the AgentSpeak(L) op-
erational semantics rules:

 – S is a set of agent configurations hag, C, M, T, si.
 – R ⊆ S 2 is a serial relation s.t. for all (ci , cj ) ∈ R, (ci , cj ) ∈ Γ or ci = cj .
 – V is a valuation function over the intentional and temporal operators, defined
   after their semantics (see definitions 5 and 7), e.g., VBEL (c, φ) ≡ BEL(phi)
   at the configuration c = hag, C, M, T, si, etc.

   As usual, x = c0 , . . . , cn denotes a path in the Kripke structure, i.e., a se-
quence of configurations s.t. for all ci ∈ S, (ci , ci+1 ) ∈ R. The expression xi
denotes the suffix of path x starting at configuration ci .
Definition 7 (Temporal semantics) The semantic of the state formulae is
defined for a given current configuration ci ∈ K:

                        K, ci |= BEL(φ) ⇔ φ ∈ VBEL (ci , φ)
                        K, ci |= INTEND(φ) ⇔ φ ∈ VINTEND (ci , φ)
                        K, ci |= DES(φ) ⇔ φ ∈ VDES (ci , φ)
                        K, ci |= Eφ ⇔ ∃xi ∃cj≥i ∈ xi s.t. K, cj |= φ
                        K, ci |= Aφ ⇔ ∀xi ∃cj≥i ∈ xi s.t. K, cj |= φ

The semantic of the path formulae is defined as follows:

         K, ci |= φ ⇔ K, xi |= φ, where φ is a state formula
         K, ci |=       φ ⇔ K, xi+1 |= φ
         K, ci |= ♦φ ⇔ ∃cj≥i ∈ xi s.t. K, cj |= φ
         K, ci |= φ U ψ ⇔ (∃ck≥i s.t. K, xk |= ψ ∧ ∀ci≤j ← p(t2 ). +!p(t2 ) : > ← +b(t3 ).}. Suppose that from per-
ception of the environment a is added agbs = {b(t1 )}. An event is generated
by this belief update, so that CE = {h+b(t1 ), >i}. Then following the seman-
tic rules defining Γ , SelEv1 , Rel1 , ApplP l1 , are applied obtaining a config-
uration where CI = {[+b(t1 ) : > ← !p(t2 ).]} and CE = {}. Then proceed-
ing with the rules SelAppl, ExtEv, SelInt1 , AchvGl a configuration where
CE h+!p(t2 ), +b(t1 ) : > ← >i, CI = {} is obtained. At this configuration c0 ,
K, c0 |= DES(p(t2 )) (Definition. 5). If we apply then SelEv1 , Rel1 , AppP l1 ,
SelAppl, a configuration where CI = {[+!p(t2 ) : > ← +b(t3 ).]} and CE = {}, is
obtained. In this configuration c00 K, c00 |= INTEND(p(t2 )) (Definition. 5). Then
proceeding with IntEv, SelInt1 , AddBel gets CE = h+b(t3 ), >i, agbs = {b(t1 )}
and CI = {[+b(t1 ) : > ← > ‡ +!p(t2 ) : > ← >] and bs = {b(t1 ), b(t3 )}. The in-
tention about p(t2 ) is maintained. Observe that the plan bodies in the intention
are empty, so the ClrInt rules will discard the whole intention, so that at the
next configuration c000 , K, c000 |= ¬INTEND(p(t2 )) and K, c000 |= ¬BEL(p(t2 )). By
counter-example INTEND(A♦(φ)) =⇒ (A♦(BEL(φ)) is not valid. 
    In fact, our agents do neither satisfy the extended blind commitment axiom
(eq. 1), since the agent did not keep its intention about p(t2 ) until she believed it.
This reasoning is similar to the demonstration of intention-belief incompleteness
(AT2) for AgentSpeak(L) [1].

Proposition 3 AgentSpeak(L) agents satisfy a limited single-minded commit-
ment: INTEND(A♦φ) =⇒ A(INTEND(A♦φ) U ¬BEL(E♦φ)).

    Proof. This case is similar to the no-infinite deferral demonstration. Assume
the agent INTEND(A♦φ) at c0 , then there is a plan p ∈ CI ∪ CE with head
+!φ at c0 . If there is a configuration ck ≥ 0 where ¬BEL(E♦φ) (the weak until
definition has been adopted), then K, x0,...,k |= INTEND(A♦φ). Following the
no-infinite-deferral demonstration, in the failure cases the agent will eventually
satisfy ¬INTEND(φ) because Rel2 which means that for an event hte, i[+!φ :
c ← h.]i there were not relevant plans and the associated intention will be
discarded, e.g., there is not a path of configurations where eventually φ, so
that it is rational to drop INTENDhag,Ci (φ). The case of no-infinite deferral by
successful execution of intentions covers the second condition of the weak until
¬BEL(E♦φ) does not occur. 
    This is a limited form of single-minded commitement because ¬BEL(E♦φ)
is not represented explicitly by the agent. In fact, the agent can not continue
intending φ because there are no plans to do it and the full intention fails. It
is also limited because of intention-belief incompleteness that can be avoided
dropping the close world assumption [1]; or using the intentional and temporal
definitions for studying the necessary conditions in the operational semantics
and definition of the agents to warranty the expected properties of intentions,
e.g., in the case of intentions, what does it mean in terms of AgentSpeak(L) to
be equivalent to a KD modal system?
    Given that, AgentSpeak(L) agents are not blind committed, intentional
learning [7–10] provides a third alternative approach to achieve a full single-
minded commitment. The idea is that the agents can learn, in the same way
they learn the successful adoption of plans as intentions, the reasons behind
a plan adoption that lead to an intention failure. In this way a policy-based
reconsideration can be approached.


6   Conclusion
We have extended the methodology proposed by Bordini et al. [1] to reason about
AgentSpeak(L) agents. Then we proved that any AgentSpeak(L) agent is not
blindly committed, but follows a limited form of single-minded commitment.
The main limitations for these agents are intention-belief incompleteness and
the lack of a explicit representation for abandoning reasons. Guerra et al. [8,
9] have suggested that intentional learning provides a solution for the latter,
enabling a policy-based reconsideration.
    Interestingly, the degree of boldness and cautiousness for a given agent is
something hard to define. It is well known [11] that in dynamic environments
a very cautious agent performs better than a bold one; and inversely, in static
environments boldness pays better. The relevance of learning intentionally is
that the right degree of cautioness is learned by the agents, instead of being
established once and forever by the programmers. An extended AgentSpeak(L)
operational semantics that deals with intentional learning, for both incremental
and batch inductive methods, has been proposed [10]. So, it is possible to arrive
to a full theory of commitment and intentional learning, using the techniques
presented here. We are currently experimenting these ideas.
    As the example of commitment, reconsideration and learning illustrates, the
properties verified in this paper are not arbitrary ones. Proving these properties
using CT LAgentSpeak(L) , prove that they hold for any AgentSpeak(L) agent.
This also illustrates the relevance of the specification language proposed in this
paper, to bring AgentSpeak(L) closer to its philosophical foundation and to
extend our computational theories of practical reasoning.

Acknowledgments. The first and third authors are supported by Conacyt CB-
2007-1 (project 78910) funding for this research. The second author is supported
by Conacyt scholarship 214783.


References
 1. Bordini, R.H., Moreira, Á.F.: Proving BDI properties of agent-oriented program-
    ming languages. Annals of Mathematics and Artificial Intelligence 42, 197–226
    (2004)
 2. Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-Agent Systems
    in AgentSpeak using Jason. Wiley, England (2007)
 3. Bratman, M.: Intention, Plans, and Practical Reason. Harvard University Press,
    Cambridge (1987)
 4. Cohen, P., Levesque, H.: Intention is choice with commitment. Artificial Intelli-
    gence 42(3), 213–261 (1990)
 5. Dastani, M., van Riemsdijk, M.B., Meyer, J.C.: A grounded specification language
    for agent programs. In: AAMAS ’07. ACM, New York, NY, pp. 1-8 (2007)
 6. Emerson, A.: Temporal and modal logic. In: van Leeuwen, J., (ed.) Handbook of
    Theoretical Computer Science, pp. 996–1072. Elsevier, Amsterdam (1990)
 7. Guerra-Hernández, A., El-Fallah-Seghrouchni, A., Soldano, H.: Learning in BDI
    Multi-agent Systems. In: Dix, J., Leite, J. (eds.) CLIMA IV. LNCS, vol. 3259, pp.
    218–233. Springer, Heidelberg (2004)
 8. Guerra-Hernández, A., Ortı́z-Hernández, G.: Toward BDI sapient agents: Learning
    intentionally. In: Mayorga, R.V., Perlovsky, L.I. (eds.) Toward Artificial Sapience:
    Principles and Methods for Wise Systems, pp. 77–91. Springer, London (2008)
 9. Guerra-Hernández, A., Castro-Manzano, J.M., El-Fallah-Seghrouchni, A.: Toward
    an AgentSpeak(L) theory of commitment and intentional learning. In: Gelbuch, A.,
    Morales, E.F. (eds.), MICAI 2008. LNCS, vol. 5317, pp. 848–858, Springer-Verlag,
    Berlin Heidelberg (2008)
10. Guerra-Hernández, A., Ortı́z-Hernández, G., Luna-Ramı́rez, W.A.: Jason smiles:
    Incremental BDI MAS learning. In: MICAI 2007 Special Session, IEEE, Los Alami-
    tos (In press)
11. Kinny, D., Georgeff, M.P.: Commitment and effectiveness of situated agents. In:
    Proceedings of the twelfth international joint conference on artificial intelligence
    (IJCAI-91), Sydney, Australia (1991)
12. Rao, A.S., Georgeff, M.P.: Modelling Rational Agents within a BDI-Architecture.
    In: Huhns, M.N., Singh, M.P., (eds.) Readings in Agents, pp. 317–328. Morgan
    Kaufmann (1998)
13. Rao, A.S.: AgentSpeak(L): BDI agents speak out in a logical computable language.
    In: de Velde, W.V., Perram, J.W. (eds.) MAAMAW. LNCS, vol. 1038, pp. 42–55.
    Springer, Heidelberg (1996)
14. Rao, A.S., Georgeff, M.P.: Decision procedures for BDI logics. Journal of Logic
    and Computation 8(3), pp. 293–342 (1998)
15. Singh, M.P.: A critical examination of the Cohen-Levesque Theory of Intentions.
    In: Proceedings of the European Conference on Artificial Intelligence (1992).
16. Singh, M.P., Rao, A.S., Georgeff, M.P.: Formal Methods in DAI: Logic-Based Rep-
    resentation and Reasoning. In: Multiagent Systems: A Modern Approach to Dis-
    tributed Artificial Intelligence, pp. 331–376. MIT Press, Cambridge (1999)
17. Wooldridge, M.: Reasoning about Rational Agents. MIT Press, Cambridge (2000)