<!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>Applying Tropos Early Requirements Analysis for defining a Tropos tool</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Paolo Bresciani</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabrizio Sannicolo`</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ITC-irst Via Sommarive</institution>
          ,
          <addr-line>18, I-38050 Trento-Povo, Italy bresciani,sannico @irst.itc.it</addr-line>
        </aff>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Tropos [
        <xref ref-type="bibr" rid="ref6 ref8">8, 6</xref>
        ] is a novel agent-oriented software engineering methodology characterized
by three key aspects [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. First, it pays attention to the activities that precede the
specification of the prescriptive requirements, like understanding how the intended system
would meet the organizational goals. Second, it deals with all the phases of system
requirement analysis and all the phases of system design and implementation in a uniform
and homogeneous way, based on common mentalistic notions as those of actors, goals,
softgoals, plans, resources and intentional dependencies. Third, the methodology rests
on the idea of building a model of the system-to-be that is incrementally refined and
extended from a conceptual level to executable artifacts, by means of a sequence of
transformational steps [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>One of the main advantages of the Tropos methodology is that it allows to capture
not only the what or the how, but also the why a piece of software is developed. This, in
turn, allows for a more refined analysis of the system dependencies and, in particular,
for a much better and uniform treatment not only of the system functional requirements,
but also of the non-functional requirements. Tropos, although not exclusively, addresses
particularly well the Agent Oriented Programming. In fact, the decision of using
mentalistic notions in all the analysis phases has important consequences. Agent oriented
specifications and programs use the same notions and abstractions used to describe the
behavior of the human agents and the processes involving them; thus, the conceptual
gap between users’ specification (in terms of why and what) and system realization (in
terms of what and how), is reduced to a minimum.</p>
      <p>
        Tropos supports five phases of software development: early requirements, late
requirements, architectural design, detailed design and implementation [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ].
      </p>
      <p>The present short paper concentrates on the analysis of the early requirement phase
for the definition of a support tool for the Tropos methodology itself, called, since now
on, the Tropos tool. In particular, the task of encoding initial informal requirement into
the diagrammatic format used in the methodology, as well as the incremental
transformational process that is at the basis of the construction of the complete model, will be
addressed.</p>
      <p>artifacts
underesastialnydable
manPaRGger
manage
versions
and doc.</p>
      <p>feassitbuidlyity
delivered
reqmuoidreelmeednts
understand Legend
customer
req.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Early Requirement Analysis</title>
      <p>
        The early requirements analysis concerns with the understanding of a problem by
studying an existing organizational setting. The intentions of the stakeholders are modeled
as goals and goal dependencies among actors, and analyzed by means some form of
goal analysis [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]. The output of this phase is an organizational model including the
relevant actors and their respective dependencies for the achievement of the goals and
the softgoals, and for performing or obtaining resources. The model is visualized by
means of actor diagrams, describing the network of social dependencies among actors,
and goal diagrams, analyzing the goal fulfillments.
      </p>
      <p>
        An awful lot of high level requirements has been identified, listed and justified
in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]; due to lack of space, only a short subset of these requirements are
introduced here. For example, the actor diagram of Figure 1 shows the actor PRG manager
who depends on the Analyst for two goals: feasibility study delivered and
requirements modeled.
      </p>
      <p>
        A further step concerns the decomposition of each goal from the point of view of the
actor who committed for its fulfillment. Goals are analyzed by using three basic analysis
techniques: means-ends analysis, contribution analysis and AND-OR decomposition [
        <xref ref-type="bibr" rid="ref3 ref9">3,
9</xref>
        ]. Means-ends analysis proceeds by refining a goal into subgoals in order to identify
goals, plans, resources and softgoals that provide means for achieving the goal (the end).
Contribution analysis allows the designer to point out goals, softgoals and plans that can
contribute positively or negatively at reaching the goal. AND-OR decomposition allows
for a combination of AND and OR decompositions of a root goal into subgoals.
      </p>
      <p>In Figure 2, the goal requirements modeled is the “end” in a means-ends analysis
where the “mean” is the goal build a requirements Tropos model. This last is
AND-decomposed into the four subgoals: learn Tropos language, model managed,
model documented and model reasoned.</p>
      <p>An instance of contribution analysis is provided, in the figure, between the
softgoal exhaustive guide and the goal learn Tropos language. Of course, subgoals
deriving from an AND-OR analysis can be further AND-OR analyzed. For example,
model managed is decomposed into the retrotraceability managed, multiple
views visualized, diagrams edited and syntax of model checked. The
subgoals automatic documentation generated and version managed contribute
positively at the achievement of the goal model documented. The first subgoal concerns
with the automatic generation of the documentation about the conceptual model and/or</p>
      <p>PRG
manager
Legend</p>
      <p>+
Contribution</p>
      <p>OR decomposition
AND decomposition
+
exhaustive</p>
      <p>guide
learn Tropos</p>
      <p>language
retrotraceability
managed
multiple
views
visualized
requirements
modeled
build a
requirements</p>
      <p>Tropos model
model
managed
diagrams
edited</p>
      <p>model
documented</p>
      <p>+
sintax
of model
checked</p>
      <p>automatic
documentation
generated
some views on it, while the second regards the management of different versions for
each analyst.</p>
      <p>
        The final setting of each Tropos phase may be reached after possibly several
refinements, in each one of which not only new details may be added, but, also, already
present elements and dependencies can be revised or even deleted [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        It is obvious that the diagram of Figure 2 (and other developed during a first loop [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ])
may be not sufficiently detailed. For this reason, iterative steps of incremental
refinement of the model have to be performed. As already mentioned in the introduction,
this way of proceeding is a typical feature of the Tropos methodology. The iterative
process not only may require intra-phase refinements, but, possibly, also revisions of
artifacts produced during early phases (inter-phases refinements). The importance of
retrotraceability is, here, evident.
      </p>
      <p>PRG
manager
exhaustive
guide
+
learn Tropos</p>
      <p>language
views on
the model
visualized
retrotraceability
managed
feasibility</p>
      <p>study
delivered
model
managed
diagrams
edited</p>
      <p>Fig. 3. Revising Goal analysis from the point of view of the Analyst.</p>
      <p>
        Just as an example of the intra-phase refinement activity, the revision of the
goal diagram in Figure 2 is presented in Figure 3. The contributions from build
a requirements Tropos model to organization described and understand
customer requirements are here introduced. These were initially considered as
original Analyst’s goal (see Figure 1), but then not further analyzed in Figure 2. The
revision proposed in Figure 3 is necessary to complete the analysis of the
requirements of Figure 2, according to what was initially introduced in Figure 1. Among
others elements introduced in the revision, let’s list: design case tests, text
documented, graphic documented and feasibility study delivered (see
Figure 1), that became the end in a means-ends analysis where the “mean” is the goal
record interview. For more details, see [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>In the present paper the early analysis for a Tropos tool has been used as a case study
for presenting some features of the Tropos methodology itself.</p>
      <p>One point that deserves a note here is that the management of traceability has been
raised as a crucial point for correctly dealing with the revision (specially the inter-phase
revision) process. In future works, we aim at further developing this issue with other
specifically focused case studies and examples.</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>A.</given-names>
            <surname>Perini</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>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Modelling early requirements in Tropos: a transformation based approach</article-title>
          . In P.
          <string-name>
            <surname>Ciancarini M.J. Wooldridge</surname>
          </string-name>
          , G. Weiß, editor,
          <source>Agent-Oriented Software Engineering II, LNCS 2222</source>
          , pages
          <fpage>151</fpage>
          -
          <lpage>168</lpage>
          . Springer-Verlag, Montreal, Second International Workshop, AOSE2001 edition, May
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bresciani</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Sannicolo</surname>
          </string-name>
          <article-title>`. Applying Tropos to requirement analysis for a Tropos tool</article-title>
          .
          <source>Technical Report 0204-01</source>
          , ITC-IRST, via Sommarive, Trento,
          <year>April 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>L.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Liao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Huaiqing</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Exploring alternatives during requirements analysis</article-title>
          .
          <source>IEEE Software</source>
          ,
          <volume>18</volume>
          (
          <issue>1</issue>
          ), jan, feb
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>A.</given-names>
            <surname>Dardenne</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. van Lamsweerde</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Fickas</surname>
          </string-name>
          .
          <article-title>Goal-directed requirements acquisition</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>20</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>3</fpage>
          -
          <lpage>50</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Bresciani</surname>
          </string-name>
          .
          <article-title>Agent-oriented software development: A case study</article-title>
          . In S. Sen J.P. Mu¨ller, E. Andre and C. Frassen, editors,
          <source>Proceedings of the Thirteenth International Conference on Software Engineering - Knowledge Engineering (SEKE01)</source>
          , Buenos Aires,
          <year>June 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Sannicolo</surname>
          </string-name>
          <article-title>`. Knowledge level software engineering</article-title>
          . In Springer Verlag, editor,
          <source>In Proceedings of ATAL</source>
          <year>2001</year>
          , Seattle,
          <year>December 2001</year>
          .
          <source>Also IRST TR 0112- 22</source>
          , Istituto Trentino di Cultura, Trento, Italy.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <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>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Towards an Agent Oriented approach to Software Engineering</article-title>
          .
          <source>In Proceedings of the Workshop</source>
          ,
          <article-title>dagli oggetti agli agenti: tendenze evolutive dei sistemi software</article-title>
          , Modena,
          <year>Sep 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bresciani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>A Knowledge Level Software Engineering Methodology for Agent Oriented Programming</article-title>
          .
          <source>In Proceedings of the Fifth International Conference on Autonomous Agents</source>
          , Montreal CA, 28 May - 1
          <source>June</source>
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>F.</given-names>
            <surname>Sannicolo`</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          .
          <article-title>The Tropos modeling language. A User Guide</article-title>
          .
          <source>Technical Report 0202-12</source>
          , ITC-IRST,
          <year>Jan 2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>