<!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>Loris Penserini a Anna Perini a Angelo Susi a John Mylopoulos b</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>ITC-irst</institution>
          ,
          <addr-line>Via Sommarive 18 I-38050, Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Univ. of Trento</institution>
          ,
          <addr-line>Via Sommarive, 14, I-38050, Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Current IT application domains such as web services and autonomic computing call for highly flexible systems, able to automatically adapt to changing operational environments as well as to user needs. We are conducting research on how to build these complex systems in the context of agent-oriented software. This short paper gives an overview of our approach (described in details in [3]) which rests on a tool-supported, development process, and aims at linking stakeholder needs, elicited during domain analysis, to agent capabilities coded into a MAS.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>(metric ∈ {+, −, ++, −−}) and domain constraints as model annotations.</p>
      <p>
        Step 2. Further refinements of capability models are provided during architectural and detailed
design where capability dynamic properties are specified by a set of UML 2.0 activity and sequence
diagrams. These requirements analysis and design phases are supported by a Tropos modeler, based
on the Eclipse platform, which uses a MOF [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] compliant implementation of the Tropos language
metamodel and of the UML metamodel.
      </p>
      <p>
        Step 3. Agent code generation results from a transformation of these PIM specifications to the
target platform specific model (PSM). PIM to PSM transformation is implemented using
automatic transformation techniques: for the ability part [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] while, for the opportunity part, a two
steps process is adopted. The first step consists in a mapping from Tropos specification to Jadex,
through the Jadex/JADE adapter [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], the second step goes from UML specification of capabilities
to JADE. The output of this process is a skeleton of the code of JADE agents which execute plans,
correspondingly to the ability specification. The choice of which plan to execute is performed by
the agent according to BDI mechanisms which implement the opportunity specification.
      </p>
      <p>Basic features of the resulting MAS implementation, are: a) each agent can play different roles
according to special request-messages, related to target goals. That is, an agent can sense the
environment and consequently switch to a specific role, execute the most appropriate capability,
chosen by using the knowledge coded into the opportunity part; b) the ability part of a capability
is implemented as a specialization of the class jade.core.behaviours.FSMBehaviour, namely it
represents a final states machine (automaton). This allows to exploit monitoring mechanisms during
capability execution with the aim of making the agent aware of failures and able to react to them.
References</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bresciani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          .
          <source>Tropos: An AgentOriented Software Development Methodology. Autonomous Agents and Multi-Agent Systems</source>
          ,
          <volume>8</volume>
          (
          <issue>3</issue>
          ):
          <fpage>203</fpage>
          -
          <lpage>236</lpage>
          ,
          <year>July 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Mellor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Scott</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Uhl</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. Weise. MDA</given-names>
            <surname>Distilled. Addison-Wesley</surname>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Penserini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Susi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>From Capability Specification to Code for Multi-Agent Software</article-title>
          .
          <source>In Proceedings of the 21st Conference IEEE/ACM International Conference on Automated Software Engineering (ASE'06)</source>
          . IEEE Press,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Penserini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Susi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>From Stakeholder Intentions to Software Agent Implementations</article-title>
          .
          <source>In Proceedings of the 18th Conference On Advanced Information Systems Engineering (CAiSE'06)</source>
          . LNCS, Springer-Verlag,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pokahr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Braubach</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Lamersdorf</surname>
          </string-name>
          .
          <article-title>Jadex: A BDI reasoning engine</article-title>
          . In R. Bordini et al., editor,
          <source>Multi-Agent Programming</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          .
          <article-title>An Introduction to Multiagent Systems</article-title>
          . John Wiley &amp; Sons,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>