<!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>Tropos modeling, code generation and testing with the Taom4E tool</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mirko Morandini</string-name>
          <email>morandini@fbk.eu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cu Duy Nguyen</string-name>
          <email>cunduy@fbk.eu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Loris Penserini</string-name>
          <email>penserini@fbk.eu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anna Perini</string-name>
          <email>perini@fbk.eu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Angelo Susi</string-name>
          <email>susi@fbk.eu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>FBK-CIT</institution>
          ,
          <addr-line>Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <fpage>172</fpage>
      <lpage>174</lpage>
      <abstract>
        <p>We present Taom4E, a tool for the development of software following the agent-oriented software engineering methodology Tropos. The Eclipse plug-in Taom4E supports visual goal modelling and includes functionalities for code generation and testing for goal-oriented agent platforms. The Taom4E Tool The Taom4E tool provides a graphical model editor, based on the Tropos metamodel, as defined in [2], and allows various views on this model. Combining Tropos actor- and goal diagrams, representing strategic dependency (SD) and strategic rationale (SR) diagrams in i*, the Mixed Diagram is the main graphical representation in Taom4E, throughout the supported development phases. In the Tropos early and late requirements analysis phases, actor diagrams, displaying the dependencies between actors, can be graphically created. Actors are 1 Taom4E is developed by the Software Engineering unit at Fondazione Bruno Kessler (FBK), Trento. The current version 0.6.3 is downloadable under GPL license from the tool homepage http://selab.fbk.eu/taom.</p>
      </abstract>
      <kwd-group>
        <kwd>Goal-oriented development</kwd>
        <kwd>modelling tools</kwd>
        <kwd>code generation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The agent-oriented software engineering methodology Tropos, which roots in i*
for requirements modelling, becomes increasingly popular. Modelling tools are
essential for such a methodology. We present Taom4E1 (Tool for Agent Oriented
visual Modelling for the Eclipse platform) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], a tool which supports goal-oriented
modelling, code generation and testing for goal-directed systems, following the
Tropos methodology and its extension Tropos4AS. Taom4E supports the Tropos
modelling activities for early and late requirements analysis and architectural
design and contains extensions for an automated agent-oriented implementation
and testing.
detailed in a goal diagram, which is graphically shown in a “balloon” associated
to the actor. In this balloon, delegated goals are visualized and can be
decomposed to more detailed goals, operationalized by plans or delegated to other
actors. An actor representing the system-to-be can be furthermore detailed to
a multi-agent system, in an architectural design diagram. These development
phases provide different views on a single Taom4E model, thus ensuring
traceability, but not yet preserving the model history. Figure 1 shows the principal
view of the tool front-end. Models are edited according to the Tropos
graphical notation, provided by the Palette window. Tabs are used to switch between
model views of the different phases (ER, LR,...). Visualized diagrams are views
on the whole model, whose components are displayed in the Outline window. In
the Navigator in the left-hand side window, the folders with the output of the
t2x code generation tool are actually shown, for each actor in the system.
Architecture and Extensions
Various extensions to the Taom4E model editor are provided. The t2x code
generation tool maps goal models to a goal-directed implementation on the Jadex
BDI agent platform, explicitly preserving goal models at run-time and providing
the proper middleware for navigating this model and acting according to it.
Agent code can be generated from the graphical interface, and the implemented
prototypes are executable directly from the Eclipse user interface. Moreover,
extensions for environment and condition modelling according to the Tropos4AS
framework [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], are available. Figure 2 summarizes the architecture of the toolset,
which consists of various plug-ins for the Eclipse development platform, built on
the Eclipse EMF and GEF frameworks for model-driven development. They are
installable through the Eclipse installation manager by adding the link provided
on the tool homepage. The models are saved in XMI format and can be accessed
by other applications through an EMF-based interface.
      </p>
      <p>
        Goal-Oriented testing has been proposed as a complementary activity to
goal-oriented modelling and code generation, with the aim to support testing
and validation along the process phases [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The eCAT tool derives test cases
directly from Tropos goal models and uses them to test implemented agents,
using FIPA-standard messaging services.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Conclusion</title>
      <p>The Taom4E tool was used in several projects that involved Tropos, and in
various university courses on requirements engineering and on goal-oriented
development. As a design limitation, the tool can only handle a single model per
file, therefore changes to one view of the model are projected to the whole model.
Moreover, no automatic diagram repositioning is implemented. For addressing
this and other issues, future work concerns the reimplementation of the
graphical front-end with state-of-the-art technology. Also, we are working on the
extendibility of the graphical model editor with additional concepts.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Morandini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>D.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Siena</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Susi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Tool-supported development with tropos: The conference management system case study</article-title>
          .
          <source>In: Agent Oriented Software Engineering VIII. Volume 4951 of LNCS</source>
          . (
          <year>2008</year>
          )
          <fpage>182</fpage>
          -
          <lpage>196</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Susi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <source>The Tropos Metamodel and its Use</source>
          .
          <source>Informatica (Slovenia)</source>
          <volume>29</volume>
          (
          <issue>4</issue>
          ) (
          <year>2005</year>
          )
          <fpage>401</fpage>
          -
          <lpage>408</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Morandini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Penserini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Towards goal-oriented development of selfadaptive systems</article-title>
          . In: SEAMS '08: Workshop on Software engineering
          <article-title>for adaptive and self-managing systems</article-title>
          ,
          <source>ACM</source>
          (
          <year>2008</year>
          )
          <fpage>9</fpage>
          -
          <lpage>16</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>D.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tonella</surname>
          </string-name>
          , P.:
          <article-title>ecat: a tool for automating test cases generation and execution in testing multi-agent systems</article-title>
          . In: AAMAS. (
          <year>2008</year>
          )
          <fpage>1669</fpage>
          -
          <lpage>1670</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>