<!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>An Approach to Designing Belief-Desire-Intention Based Virtual Agents for Travel Assistance</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Arunas Miliauskas</string-name>
          <email>arunas.miliauskas@mii.vu.lt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dale_ Dzemydiene_</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Vilnius University, Institute of Data Science and Digital Technologies</institution>
          ,
          <addr-line>Akademijos st. 4, 04812 Vilnius</addr-line>
          ,
          <country country="LT">Lithuania</country>
        </aff>
      </contrib-group>
      <fpage>94</fpage>
      <lpage>103</lpage>
      <abstract>
        <p>The aim of this research is to propose a Belief-Desire-Intention (BDI) architecture-based approach for a virtual agent design. The presented case of a chatbot assistant in a travel domain demonstrates the necessity of the BDI architecture modi cation. The approach is taken for multiple BDI agent instances with a shared external knowledge base. The architecture was presented using Views and Beyond approach. A decision view was added to the architecture description to show alternatives and emphasize required modi cations of the BDI architecture in the presented case.</p>
      </abstract>
      <kwd-group>
        <kwd>Software architecture</kwd>
        <kwd>Belief-Desire-Intention architecture</kwd>
        <kwd>Distributed databases</kwd>
        <kwd>Travel assistance</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Our object of research is an assistant-broker agent that supports end-user in
activities like travel planning, meeting arrangement. By using provided web
services, the agent could complete actions behalf of the end-user.</p>
      <p>
        The Foundation for Intelligent Physical Agents (FIPA) organization
provided personal travel assistance speci cation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. It provides a scenario and an
architecture of a potential distributed agent based system, where an end-user
can get assistance and support in trip planning. That show quite big
expectations towards intelligent agents for the semantic web. However, we still don't see
today intelligent agents, like the personal travel assistant presented by FIPA,
widespread.
      </p>
      <p>
        BDI [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is a well-know agent architecture. It is based on main concepts Belief,
Desire and Intention, which ought to have an explicit representation in this type
architecture. For us, one of most interesting aspects of the BDI architecture is an
e ect on modi ability. The architecture is based on interpreted methods, which
are programmer created plans, that can be added to the running system.
      </p>
      <p>In this research, our goal is to analyse BDI architecture application
possibilities for building a virtual agent - travel assistant chatbot.</p>
      <p>
        We use the framework [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for design science. The result of a design is an
artifact, based on actual or hypothetical stakeholder goals which are represented
in Section 2.1.
      </p>
      <p>
        The architecture is de ned using the Views and Beyond approach [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. It is
arranged in views, where architecturally important structures are described from
a particular viewpoint. We extend architecture descriptions with a decision view
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. It contains architectural decisions and their relations, which are based on
ontology of architectural decisions [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>The contribution of this research is proposed extensions for the BDI
architecture that overcomes identi ed limitations in travel planning assistant domain.</p>
      <p>The remainder of this paper is structured as follows. Section 2 describes the
architecture with context. An overview of related works is presented in 3 Final
conclusions are drawn in Section 4
2</p>
    </sec>
    <sec id="sec-2">
      <title>Assistant Agent Architecture</title>
      <p>
        The architecture speci cation starts with business drivers presentation in Section
2.1. Then, based on [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], views are presented. We merge module decomposition
view with context view in Section 2.2. It represents main structure of system
and environment. Next view is Component and Connector (C&amp;C) hybrid view,
which describes a structure for one of main elements. This view is in Section
2.3. We add a decision view in Section 2.4 to demonstrate relations between
architectural decisions and drivers. Main ndings are discussed in Section 2.5
2.1
      </p>
      <sec id="sec-2-1">
        <title>Business Drivers</title>
        <p>Main drivers represents expected qualities, constraints and assumptions:
{ D1. Big amount of information. We expect the system to be able collect and
store data about potential ights, hotels, car hire services and their prices
from service provider (SP) services and provide, apart precise date search,
an exploration for best prices.
{ D2. Varying change rate for information. Some information in travel domain
is static and some changes often. For example we see frequent ight prices
changes and stable ight schedule.
{ D3. Response latency is taken from current SP services in the travel domain.</p>
        <p>
          We have observed that response latency usually is bigger than 1 second and
less than 1 minute. The agent should have same response latency values.
{ D4. Chatbot. This requires that assistant should be a chatbot.
{ D5. Non-critical availability, since user could accomplish task "old way".
{ D6. Modi ability important. This means emphasis on modi ability since
adding new service providers may require a modi cation.
{ D7. No standartized services. This assumption states that there should not
be any expectations for standardized SP web services. The system must
operate with existing services and this potentially requires an adaptation for
each service provider.
{ D8. SP uses REST. This is an assumption that Representational state
transfer (REST) architectural style [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] is used by SPs.
        </p>
        <p>All drivers are used in Section 2.4 and visually represented in Fig. 3
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Module Decomposition View with Context</title>
        <p>Primary presentation. Diagram is presented in Fig. 1. It contains a context
and main parts (internal structure).</p>
        <p>Element catalog. System is envisioned to be placed in environment that
consists of:
{ users, which are end users that are expected to use system. However they
don't use directly the system, but communicate using communication
platform.
{ communication platform is a medium that end-user uses for communication.</p>
        <p>It can be a platform like Skype, Facebook messenger, Slack and others.
{ platform services, which are cloud based platform services that provide
storage, computing services.
{ travel services, which represents services providers like airlines, hotels etc.</p>
        <p>The system is decomposed to:
{ IA (stands for intelligent assistant) that encapsulates all intelligent behaviour,
{ RWA (stands for real world adapter) - an intermediary between IA and SP
web services.</p>
        <p>Fig. 2. IA module
Design rationale. The system decomposition is a result of the architectural
decision AD3. Decompose 2 RWA &amp; IA and is explained in Section 2.4. Another
reason is that we want to encapsulate issues related to agent interoperation with
environment into a separate module and then focus mainly on the intelligent
(agent-based) part.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Hybrid C&amp;C View and Module Decomposition View: IA</title>
        <p>A C&amp;C communicating processes view emphasizes concurrently running units
and their interactions. Concurrently running units can be processes or threads.
They interact by communication or synchronization and this interaction is
represented using connectors.</p>
        <p>Primary presentation. The primary presentation diagram is presented in Fig.
2. Here C&amp;C style is mixed with module style. At highest level, the components
are provided. However, an AssistantAgent component is further decomposed to
details, where his internal structure is de ned in a module view. The reason for
this representation is desire to represent all BDI elements in single diagram.
Element catalog. IA module here is implemented by main 2 agent components:
{ ConversationalAgent, which is responsible for maintaining conversation with
end-user. It receives end-user messages identi es intentions and translates
them to an agent communication language.
{ AssistantAgent, which responsible for an assistance process. This component
receives messages from ConversationalAgent, percepts environment and acts
in it.</p>
        <p>KB represents a knowledge base (KB) of the target system, which is
implemented externally (from the AssistantAgent component perspective).
AtomicActionService represent a component that implements an atomic action. Each
atomic action is implemented by a separate component, which implements
IAtomicAction interface. Agent is decomposed into modules:
{ ExternalCommunication - module responsible for communication external
entities. It exposes IMessages interface for receiving messages and uses
provided IMessagesResponses to send responses.
{ Acting module that is responsible for an intended action execution. It has
link with ExternalCommunication, because sending a response message is
also considered as act. It uses an IAtomicAction interface provided by
AtomicActionService, to execute an action in the environment. Action results are
sent to Perception.
{ Perception module is responsible for sensing the environment. Since in the
travel domain sensing is possible by querying services, which is treated as
acting, this module receives data from Acting module.
{ DecisionMaking, which further is decomposed:</p>
        <p>Interpreter, which is responsible for sensing, choosing candidate
methods and acting based on selected methods. It interprets statements in a
method's body and executes them (acts).</p>
        <p>Agenda, which represent agent active intentions (in BDI terms) in a
IntentionGraph.</p>
        <p>MethodLibrary, which represents agent desires (in BDI terms) and
contains (in a method body) "recipies" how desires could be achieved.
Design rationale. Since all design decisions are de ned in Section 2.4, here
we relate the presented structure with these decisions. Components
ConversationalAgent and AssistantAgent are introduced by the decision AD5. Split
conversation &amp; assistance. AD7. BDI de nes structure of AssistantAgent.
However, since this decision doesn't comply with requirements, other decisions are
required, that shape the presented structure:
{ AD8. Shared KB agents introduces a component KB outside AssistantAgent
with de ned interfaces.
{ AD13. Intention stack processing introduces IntentionGraph and modi es</p>
        <p>Interpreter (changes not visible from this view).
{ AD14. Acting/sensing changes are that Perception module is connected to
environment only via Acting module.
We present main architectural decisions and relations between them and business
drivers.</p>
        <p>Primary presentation. Primary presentation, in Fig. 3, consists of main
requirements (represented by rectangles), architectural decisions (represented by
diamond shapes) and their relations. It is simpli ed version leaving only
decisions that are necessary for explanation and reasoning. Each decision is either
in a decided or rejected/obsolesced state. Former ones are represented by lled
shape and have an architecture decision identi er, whether latter ones don't have
any identi ers and have corresponding shapes not lled.</p>
        <p>
          Element catalog contains decisions:
{ Local cache it means introducing data redundancy. It is an existence
decision [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], stating that the element should appear is the system. However, it
is abstract and doesn't bring any implementation details. It is based on a
business driver D3 for achieving required performance in context of other
drivers D2, D1. This decision doesn't forbids, real-time access to SPs service
for responding for end-user requests. Moreover, drivers D2, D1 suggest
balancing between using cached information and real-time SP services access.
        </p>
        <p>Also this decision brings out a sub-decision to have data synchronization.
{ Synchronization decision means that should be a mechanism for data
synchronization, without explicitly stating how it is carried out.
{ AD2. Use chatbot platform services is decision to use current cloud services
providers as IBM Watson cloud, Microsoft Azure and others.
{ AD3. Decompose 2 WA &amp; IA represents decision splitting responsibilities
into modules. It is intended to support modi ability requirement (D6). The
other driver D5 enables this decisions. The decision is decomposed to
subdecisions that are related to constituent parts resulting in this split: AD5.</p>
        <p>Split conversation and assistance and AD4. Microservice based RWA.
{ AD4. Microservice based RWA means that a module wraps SP services and
exposes services to other modules as microservices.
{ AD5. Split conversation &amp; assistance is a decision to split responsibilities
between assistance and conversation modules. Former module is
responsible for whole assistance process and the latter one is for the conversation
(recognizing end-user intents).
{ AD7. BDI is the decision to use a BDI model for the assistance module.</p>
        <p>That brings out several decisions: KB, AD10. Interpreter/methods.
However, it doesn't comply with performance requirements and modi cations
are needed. Additional decisions are introduced that override some
properties of the BDI model.
{ KB is an existence architectural decision introduced by AD7. BDI decision.</p>
        <p>This decision is alternative to the Local cache decision.
{ AD10. Interpreter/methods is introduced by AD7. BDI decision. It de nes
that architecture should contain interpreter and library of methods, written
in speci c language.
{ AD8. Shared KB agents is a decision to implement multiple agents based on
a single shared KB. Therefore, it overrides the initial decision (AD7. BDI )
and makes the KB decision obsolete (is alternative). We also describe some
alternatives:</p>
        <p>The use of singleton BDI agent responding multiple user requests -
Singleton BDI. This requires signi cant modi cations of the BDI agent. One
of them is an introduction of concurrency. Another is a BDI processing
cycle adaptation to handle multiple end-users requests in parallel. This
alternative requires introducing parallel execution of actions AD11.
Parallel BDI
Using multiple BDI agent instances where each has a separate KB
Multiple BDI agents. This requires an agent knowledge synchronization,
sharing mechanism or multi-agent collaboration for single end-user
request.
We see that described alternatives are more complex and requires more e ort,
than selected AD8. Shared KB agents.
{ AD9. BDI for synchronization, by taking decision AD7. BDI, this enables
use BDI agent for synchronization, what is an detailed alternative to abstract
Synchronization decision.
{ AD11. Parallel BDI is a decision to introduce the ability to execute
simultaneously multiple information gathering (sensing) actions. The agent is
expected to collect and aggregate many SPs information. We can not make
assumption about a su cient SP web service response latency. This leads
to a decision querying these services in parallel and mixing results with the
cached information. However, this property decision doesn't state how this
is implemented.
{ AD13. Intention processing re nes the decision AD11. Parallel BDI with
implementation details. It is about changes in BDI agenda part that intentions
should be organized using a graph instead of a stack structure. The BDI
processing cycle should also be modi ed to manage multiple active intentions
in the graph.
{ AD14. Acting/sensing is decision to relating acting and sensing. Since SP
provide information using web services, sensing is a result of acting.
2.5</p>
      </sec>
      <sec id="sec-2-4">
        <title>Results</title>
        <p>The decision view demonstrates that the BDI architecture supports local cache
and data synchronization capabilities. Alternative type relations between
architecture decisions, captures that. However, modi cations are needed. This is
captured in the view with architectural decisions that override the main BDI
introduction decision. The modi cations are our selected decisions and main
alternatives are captured in the decision view.</p>
        <p>We demonstrate, that either modi cation, by enabling a capability of agent's
action parallel execution, is required or there should be multiple agents serving
single end-user request with a complex coordination mechanism. Latter approach
is common in academia, but we select rst, because we see it as less complex in
provided context. This requires enabling agent with the single shared KB and
parallel execution of actions.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Related Works</title>
      <p>
        The research [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] reviews design choices for integrating agents with web services.
Our approach corresponds to the presented theme 3. It is about agents composing
simple (atomic) services. It is illustrated by integration web services with a Nuin
BDI framework. However, the BDI architecture challenges pointed here by us
are not covered in the referenced paper.
      </p>
      <p>
        Most of research for integration agents with web services are based on a
multi-agent system approach. The approach emphasizes collaboration of multiple
agents, not on extensions of agent's internal architecture. Examples in travel
domain are [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] used similar approach for integrated access to biological
data sources.
      </p>
      <p>
        Other approaches focused more on agent's internal structure. An example in
travel domain is [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], where a prototype of smart tourist information points with
Maxine platform based Embodied Conversational Agents (ECAs) is presented.
A conversation with an end-user is governed by AIML (Arti cial Intelligence
Modeling Language) descriptions, which can be extended with custom scripts.
These scripts can be used for calling external services. However, the architecture
doesn't support building proactive agents. This is di erent from our and other
BDI based approaches.
      </p>
      <p>
        The are publications about integrating the Semantic Web and Agent
programming. The most prominent paper is [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], which proposes JASDL (Jason
AgentSpeak - DescriptionLogic). An AgentSpeak(L) implementation, Jason [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
is customized. However, the paper focuses on enabling ontological reasoning in
an BDI agent.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>
        In this paper we proposed an architecture for a chatbot assistant in a travel
planning domain. The architecture was speci ed using Views and Beyond [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
approach. A decision view was added to the architecture speci cation to
demonstrate alternatives, relate design decisions and trace them to business drivers.
      </p>
      <p>The decision view shows two main advantages of a BDI architecture in this
context. The rst is a possibility to combine on-line SP service requests with
cached data. The second is a support for the o -line data synchronization.</p>
      <p>However the BDI architecture in this context requires modi cation. The main
drivers are big amount information and performance requirements. We explore
the alternatives and select an approach with multiple agents using a shared KB.
Another required modi cation is enabling agent parallel execution of actions,
which requires changing the representation of agent's intentions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. FIPA: Personal Travel Assistance Speci cation,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Anand S</surname>
          </string-name>
          <article-title>Rao and Michael P George . BDI agents: From theory to practice</article-title>
          .
          <source>In Proceedings of the First International Conference on Multiagent Systems</source>
          , volume
          <volume>95</volume>
          , pages
          <fpage>312</fpage>
          {
          <fpage>319</fpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Roel</given-names>
            <surname>Wieringa</surname>
          </string-name>
          .
          <source>Design science methodology</source>
          . Springer-Verlag Berlin Heidelberg,
          <volume>1</volume>
          <fpage>edition</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Felix</given-names>
            <surname>Bachmann</surname>
          </string-name>
          , Len Bass, Paul Clements, David Garlan,
          <string-name>
            <given-names>James</given-names>
            <surname>Ivers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Little</surname>
          </string-name>
          , Paulo Merson, Robert Nord, and
          <article-title>Judith Sta ord</article-title>
          .
          <source>Documenting Software Architectures: Views and Beyond</source>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
            <given-names>Professional</given-names>
          </string-name>
          ,
          <source>second edition</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Philippe</given-names>
            <surname>Kruchten</surname>
          </string-name>
          , Rafael Capilla, and Juan C.
          <article-title>Duen~as. The Decision View's Role in Software Architecture Practice</article-title>
          .
          <source>IEEE Software</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Philippe</given-names>
            <surname>Kruchten</surname>
          </string-name>
          .
          <article-title>An Ontology of Architectural Design Decisions in SoftwareIntensive Systems</article-title>
          .
          <source>In 2nd Groningen workshop on software variability</source>
          , pages
          <volume>54</volume>
          {
          <fpage>61</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Roy Thomas Fielding.
          <article-title>Architectural styles and the design of network-based software architectures</article-title>
          .
          <source>Doctoral dissertation</source>
          , University of California, Irvine,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Ian</given-names>
            <surname>Dickinson</surname>
          </string-name>
          and
          <string-name>
            <given-names>Michael</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          .
          <article-title>Agents are not (just) web services: considering BDI agents and web services</article-title>
          .
          <source>In Proceedings of the 2005 Workshop on ServiceOriented Computing</source>
          and
          <string-name>
            <surname>Agent-Based Engineering</surname>
          </string-name>
          (SOCABE'
          <year>2005</year>
          ), Utrecht, The Netherlands,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Dickson</surname>
            <given-names>K.W.</given-names>
          </string-name>
          <string-name>
            <surname>Chiu</surname>
          </string-name>
          ,
          <string-name>
            <surname>Yves</surname>
            <given-names>T.F.</given-names>
          </string-name>
          <string-name>
            <surname>Yueh</surname>
          </string-name>
          , Ho Fung Leung, and
          <string-name>
            <surname>Patrick</surname>
            <given-names>C.K.</given-names>
          </string-name>
          <string-name>
            <surname>Hung</surname>
          </string-name>
          .
          <article-title>Towards ubiquitous tourist service coordination and process integration: A collaborative travel agent system architecture with semantic web services</article-title>
          .
          <source>Information Systems Frontiers</source>
          ,
          <volume>11</volume>
          (
          <issue>3</issue>
          ):
          <volume>241</volume>
          {
          <fpage>256</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Francisco</given-names>
            <surname>Garc</surname>
          </string-name>
          a-Sanchez,
          <string-name>
            <given-names>Jesualdo</given-names>
            <surname>Tomas</surname>
          </string-name>
          Fernandez-Breis,
          <article-title>Rafael ValenciaGarc a, Juan Miguel Gomez, and Rodrigo Mart nez-Bejar. Combining Semantic Web technologies with Multi-Agent Systems for integrated access to biological resources</article-title>
          .
          <source>Journal of Biomedical Informatics</source>
          ,
          <volume>41</volume>
          (
          <issue>5</issue>
          ):
          <volume>848</volume>
          {
          <fpage>859</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Piedad</surname>
            <given-names>Garrido</given-names>
          </string-name>
          , Javier Barrachina, Francisco Martinez, and Francisco Seron.
          <article-title>Smart tourist information points by combining agents, semantics and AI techniques</article-title>
          .
          <source>Computer Science and Information Systems</source>
          ,
          <volume>14</volume>
          (
          <issue>1</issue>
          ):1{
          <fpage>23</fpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. Thomas Klapiscak and
          <string-name>
            <surname>Rafael H. Bordini</surname>
          </string-name>
          .
          <article-title>Jasdl: A practical programming approach combining agent and semantic web technologies</article-title>
          . In Matteo Baldoni, Tran Cao Son, M. Birna van Riemsdijk, and Michael Winiko , editors,
          <source>Declarative Agent Languages and Technologies VI: 6th International Workshop</source>
          , DALT 2008, Estoril, Portugal, May
          <volume>12</volume>
          ,
          <year>2008</year>
          ,
          <string-name>
            <given-names>Revised</given-names>
            <surname>Selected</surname>
          </string-name>
          and Invited Papers, pages
          <volume>91</volume>
          {
          <fpage>110</fpage>
          , Berlin, Heidelberg,
          <year>2009</year>
          . Springer Berlin Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Rafael H. Bordini</surname>
            , Jomi Fred Hubner, and
            <given-names>Michael</given-names>
          </string-name>
          <string-name>
            <surname>Wooldridge</surname>
          </string-name>
          .
          <article-title>Programming Multi-Agent Systems in AgentSpeak using Jason</article-title>
          .
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>