<!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>Development of Agent-Driven Systems: from i* Architectural Models to Intentional Agents' Code</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Maurício Serrano</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Julio Cesar Sampaio do Prado Leite</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro</institution>
          ,
          <addr-line>Rua Marquês de São Vicente 225, Ed. Padre Leonel Franca 13o. andar, Rio de Janeiro</addr-line>
          ,
          <country country="BR">Brasil</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <fpage>55</fpage>
      <lpage>60</lpage>
      <abstract>
        <p>The intentionality concept can improve the cognitive capacity of software agents, especially if the proposed intentional reasoning engine deals with softgoals at runtime. In this scenario, the use of an intentionality-based technological set to develop agent-driven systems from i* models to code is adequate. In this paper, we propose heuristics to improve the development of agent-driven systems from i* models to Belief-Desire-Intention-based code. Moreover, we apply a fuzzy-logic-based mechanism to deal with softgoals “on the fly”, improving the reasoning engine of intentional agents. We compare our efforts with related work and illustrate our contributions with a case study.</p>
      </abstract>
      <kwd-group>
        <kwd>i* models</kwd>
        <kwd>model-driven development</kwd>
        <kwd>intentional agents</kwd>
        <kwd>transformational heuristics</kwd>
        <kwd>fuzzy-logic-based reasoning engine</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], a multi-agent system (MAS) is a system composed of many
intelligent agents that work in a collaborative manner in order to achieve their goals.
In other words, these intelligent agents tend to automatically find the best solution for
the delegated goals – i.e. “without intervention”. Therefore, the agents can assume
different responsibilities – normally represented as different roles or capabilities.
Moreover, they can perform several tasks by also adapting themselves to better
achieve their goals.
      </p>
      <p>
        A multi-agent system can be driven by behavioral agents [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] or intentional agents
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. On one hand, the former orientation is more appropriate to deal with systems
based on agents that can be modeled and implemented by using specific behaviors,
such as: eating, sleeping, running, reading, and so on. Therefore, the behavior-based
orientation seems proper to represent, for example, self-organization in social
colonies (e.g. ant colonies). On the other hand, the latter orientation can improve the
reasoning and learning capacity of intelligent agents by using the intentionality
abstraction. According to [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], an intentional multi-agent system represents an
adequate way to deal with human practical reasoning and to improve the goals
formation and human-mental states interpretation. The BDI (Belief-Desire-Intention)
model is an intentional model, intensely investigated in the Artificial Intelligence
field. More recently, this model has been applied to intelligent agents by allowing
them to deal with (i) beliefs – i.e. the agent’s knowledge about, for example, the real
world or a specific context; (ii) desires – i.e. the goals to be achieved by the agents;
and (iii) intentions – i.e. a sequence of tasks that must be performed by the agents to
achieve the delegated goals (in the BDI model, intentions have the semantics of
actions with the purpose to achieve the desires).
      </p>
      <p>
        In order to guide the development of multi-agent system, TROPOS [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] offers an
agent-oriented methodology. This method is centered on the i* Framework [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which
abstractions (e.g. goals, softgoals, tasks, resources, beliefs and others) are used to
model the requirements and design details of the MAS under development. There are
different approaches [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] centered on the TROPOS methodology that propose
solutions to respectively: (i) develop MAS by applying heuristics to go from i*
models to BDI-based code; and (ii) perform the development of MAS from
organizational architectures in i* to architectures based on agents by also applying
some Agent UML diagrams to capture the agents’ intentionality. Section 3 highlights
how our work differs from previous work.
      </p>
      <p>
        In this paper, we propose specific design and implementation heuristics to drive the
development of MAS from the requirements to code centered on intentional agents.
Therefore, we propose: (i) using i* for both the requirements model as well as the
design model; and (ii) the implementation of the modeled system based on the BDI
model of the JADEX [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], an add-on to the JADE MAS platform. JADEX is also
centered on the intentionality abstraction. Moreover, we offer an approach centered
on fuzzy-logic to analyze the impacts of tasks on softgoals implemented as a
reasoning engine for the intentional agents.
      </p>
      <p>This paper is organized in Sections: Section 2 discusses the main objectives of our
research; Section 3 presents some scientific contributions; Section 4 summarizes the
proposal by presenting the final considerations; and finally, in Section 5 we consider
the ongoing and future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Objectives of the research</title>
      <p>
        In order to facilitate the presentation of our research, we use a case study – the
LattesScholar [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. It uses two specific services: (i) the Lattes service [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which consists of
a base of scientific and technological curriculums maintained by the Brazilian
Government; and (ii) the well-known Google Scholar service. The objective is to list
the publications from an author’s curriculum sorted by the number of citations.
      </p>
      <p>We modeled the requirements and the detailed design of Lattes-Scholar by using
i*, specifically the Strategic Dependency (SD) and Strategic Rationale (SR) models.
Fig. 1 shows the architecture of Lattes-Scholar modeled in i*.</p>
      <p>There are some differences between the i* modeling and the specification in BDI
notation, such as: (i) the i* modeling represents a network of social actors, while the
BDI-based specification represents the internal and mental architecture of a unique
software agent; and (ii) the i* modeling represents sofgoals as well as how tasks,
goals and softgoals impact on these softgoals by using positive and negative
contribution links.</p>
      <p>Although there are semantic differences between the models i* and BDI, these
models share common concepts, such as: actor/agent, goal, task/intention, belief,
resource/belief, and others. Therefore, it is possible to associate the abstractions of
these models, as presented in Fig. 2. Table 1 describes some of these (design)
transformational heuristics to produce a BDI specification from SD and SR i* models.</p>
      <p>It is important to consider that – after applying the design heuristics – there are
some gaps in the BDI model of the agents, such as types. The software engineer must
manually fill in these gaps.</p>
      <p>Now, our interest is in a lower abstraction level, on which intelligent agents
centered on BDI specifications are implemented as intentional agents in JADEX. The
JADEX Framework implements a BDI architecture for agents of the JADE platform.
The intentions defined in BDI specifications are implemented as Java object classes –
i.e. Plan – in JADEX. Furthermore, JADEX is an add-on for the JADE platform,
which implements the FIPA agent communication protocol and messages exchange.
Fig. 3 illustrates the associations between the abstractions of the BDI specification
and the MAS code in JADEX. We omitted the implementation heuristics (from BDI
models to JADEX agents’ code) due to lack of space.</p>
      <p>Basically, the executable agents are implemented as JADEX agents.
Nonexecutable agents (originated from roles and positions) are implemented as
capabilities, which are acquired at runtime by software agents of the MAS platform.
Desires are translated as goals and maintained or performed according to the tag
“type” from the BDI specification. The intentions are translated as plans of agents –
i.e. Java classes that extend the “Plan” class of JADEX. Beliefs with 0..1 or 1..1
cardinalities are translated as beliefs of agents, while beliefs with 0..n or 1..n
cardinalities are translated as a set of beliefs.</p>
      <p>
        We developed a qualitative reasoning engine [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] based on fuzzy logic to allow
agents to perform their tasks by considering different quality criteria – i.e. modeled as
softgoals in the i* models – and negative and positive contributions to them. The
softgoals and contributions are available to the reasoning engine as agents’ beliefs.
The fuzzy logic usage allows agents to reason – “on the fly” – about softgoals by
simulating the algorithms proposed in the i* Framework for models analysis. Other
proposals [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] are based on quantitative reasoning engines. According to our
investigation by developing different intentional MAS, the use of a quantitative
reasoning to deal with softgoals can be viewed as inadequate, especially if we
consider their subjective and imprecise nature.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3 Scientific contributions</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], the authors suggest some heuristics that do not cover all abstractions of the i*
Framework. For example, it does not deal with the role and position abstractions.
They also do not address how to translate dependencies to interaction protocols.
Moreover, they propose a reasoning engine based on softgoals priorities. In our
proposal [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], we offer heuristics for all i* abstractions as well as our reasoning
engine is enriched by a fuzzy-logic-based set to improve the agents’ cognitive
capacity on dealing with the intrinsic uncertainness of the modeled softgoals.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], the authors use an extension of the UML to model the agents and their
intentions. We argue that i* models can capture these intentions without the
introduction of other notations or diagrams. However, some UML diagrams can be
appropriate to deal with situations/aspects i* does not cover, such as temporality.
      </p>
      <p>Summarizing the scientific contributions of our research, we can mention: (i) the
usage of the i* as both requirements model and design model instead of using it to
only model the requirements; (ii) the heuristics from i* abstractions to BDI
abstractions – i.e. from i* models to BDI specification; (iii) the heuristics from BDI
abstractions to JADEX BDI abstractions – i.e. from BDI specification to MAS code in
JADEX; (iv) an approach centered on fuzzy-logic to analyze the impacts of tasks on
softgoals; and (v) a reasoning engine for agents centered on this approach.</p>
    </sec>
    <sec id="sec-4">
      <title>4 Conclusions</title>
      <p>In this paper we present an overview of our work in order to develop MAS
centered on the intentionality concept. The proposed support offers heuristics to
conduct this development from i* models to the BDI-based code in JADEX. In
addition, the proposed reasoning engine covers all i* abstractions, including, for
example, belief, role and position abstractions.</p>
      <p>One contribution of our efforts consists of avoiding the introduction of different
notations and diagrams to capture the actors and agents intentions. In this case, we
propose the use of the i* models (SR and SD models) to graphically represent the
requirements and design details.</p>
      <p>
        An intentional MAS reasoning engine combined with a fuzzy-logic mechanism
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] improves the cognitive capacity of the agents by allowing, for example, to deal
with softgoals at runtime. The main idea is to analyze – “on the fly” – the impacts of
the tasks, specified in the i* models, on the sofgoals, also specified in these models.
      </p>
      <p>Finally, we can argue that, based on the systematic and incremental application of
our approach to the Lattes-Scholar case study, we seem to be in the right direction in
terms of: (i) reducing the necessary models to specify the requirements and the design
details; (ii) improving the cognitive capacity of software agents centered on the
intentionality through the use of the BDI model as well as the fuzzy-logic-based
support set; and (iii) conducting the development of an intentional MAS from the
requirements to code.</p>
    </sec>
    <sec id="sec-5">
      <title>5 Ongoing and future work</title>
      <p>Since the beginning of 2010, we have been applying our proposal to the
LattesScholar case study. Among other contributions, this incremental and systematic
development has allowed us to evolve both the Lattes-Scholar system and our
proposal – i.e. the proposed heuristics, our fuzzy-logic-based approach and our
agents’ reasoning engine.</p>
      <p>As future work, we intend to develop a tool support to help the transformation
process from the i* models to the BDI-based code in JADEX. The main idea is to
semi-automate this process using the proposed heuristics and intentionality.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Wooldridge</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An Introduction to MultiAgent Systems</article-title>
          . John Wiley &amp; Sons Ltd, ISBN 0- 471-49691-X, 366 pages (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bellifemine</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caire</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grenwood</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Developing Multi-Agent Systems with JADE</article-title>
          . John Wiley &amp; Sons, ISBN-
          <volume>13</volume>
          :
          <fpage>978</fpage>
          -0-
          <fpage>470</fpage>
          -05747-
          <issue>6</issue>
          , 286 pages (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bratman</surname>
            ,
            <given-names>M. E.</given-names>
          </string-name>
          : Intention, Plans, and Practical Reason. University of Chicago, ISBN:
          <volume>1575861925</volume>
          , 208 pages (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolp</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <source>Towards Requirements Driven Information Systems Engineering: The Tropos Project. Information Systems</source>
          , vol.
          <volume>27</volume>
          , n. 6, pp.
          <fpage>365</fpage>
          -
          <lpage>389</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering</article-title>
          .
          <source>3rd IEEE Int. Symp. on Requirements Engineering (RE'97)</source>
          , pp.
          <fpage>226</fpage>
          -
          <lpage>235</lpage>
          , Washington D.C.,
          <string-name>
            <surname>USA</surname>
          </string-name>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Susi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Automating Model Transformations in Agent-Oriented Modeling</article-title>
          . In
          <string-name>
            <surname>Agent-Oriented Software Engineering</surname>
            <given-names>VI</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Springer</surname>
            <given-names>LNCS</given-names>
          </string-name>
          , vol.
          <volume>3950</volume>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>178</lpage>
          , Berlin/Heidelberg (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dias</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Araújo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moreira</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>De Arquitecturas Organizacionais em i* a Arquitecturas Baseadas em Agentes: Uma abordagem orientada a modelos</article-title>
          . XIV Workshop on Requirements Engineering, page
          <volume>48</volume>
          ,
          <string-name>
            <surname>April</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Braubach</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamersdorf</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pokahr</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Jadex: Implementing a BDI Infrastructure for JADE Agents</article-title>
          .
          <source>Distributed Systems and Information Systems</source>
          , vol.
          <volume>3</volume>
          , n. 3, pp.
          <fpage>76</fpage>
          -
          <lpage>85</lpage>
          ,
          <string-name>
            <surname>September</surname>
          </string-name>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Lattes-Scholar</surname>
          </string-name>
          : Requirements Engineering Group at PUC-Rio. Available at: http://www.er.les.inf.puc-rio.br/~wiki/index.php/Lattesscholar (May
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Lattes</given-names>
            <surname>Platform</surname>
          </string-name>
          . Available at: http://lattes.cnpq.br/ (May
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Serrano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serrano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Leite</surname>
            ,
            <given-names>J.C.S.P.</given-names>
          </string-name>
          : “
          <article-title>Dealing with Softgoals at Runtime: A Fuzzy Logic Approach”</article-title>
          , to appear
          <source>at the 2nd International Workshop on Requirements@Run.Time</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Penserini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Susi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morandini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A Design Framework for Generating BDIAgents from Goal Models</article-title>
          .
          <source>6th Int. joint Conference on Autonomous Agents and Multiagent Systems</source>
          , DOI:10.1145/1329125.1329307, number
          <volume>149</volume>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Current</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benton</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Vendor Selection Criteria and Methods</article-title>
          .
          <source>European Journal of Operational Research</source>
          , vol.
          <volume>50</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>2</fpage>
          -
          <lpage>18</lpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>