<!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>Documenting SODA: An Evaluation of the Process Documentation Template</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ambra Molesini</string-name>
          <email>ambra.molesini@unibo.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Andrea Omicini A</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>-This paper presents an experimental evaluation of the methodology documentation template proposed by the IEEE FIPA Design Process Documentation and Fragmentation working group [1]. Generally aimed at agent-oriented methodologies, the template is here put to the test by documenting the SODA methodology, so as to obtain a partial but significant evaluation of the template's strengths and weaknesses.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>While artificial systems grow in complexity, the role of
models, methodologies and development processes in their
engineering becomes increasingly relevant. In the field of
computational systems, AOSE (Agent-Oriented Software
Engineering) methodologies and processes are research subjects
of foremost interest since agent-based models and technologies
are nowadays recognised as providing one of the most suitable
approaches to the engineering of complex software systems
such as self-organising and pervasive systems.</p>
      <p>
        There is common agreement both in the traditional software
engineering and in the AOSE fields that there is not a unique
methodology or process that fits all the application domains
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This means that the methodology or process must be
adapted to the particular characteristics of the domain for
which the software is developed.
      </p>
      <p>
        A variety of (special-purpose) AOSE methodologies have
been defined in the past years [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] to discipline
and support the development of multi-agent systems (MAS).
However, the increasing number of AOSE methodologies and
the key role in the construction of new ad-hoc methodologies
or processes played by the Situational Method
Engineering [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] have hindered the applicability of AOSE
methodologies. In fact, each methodology has its own specific
meta-model, notation, and process. All of these features are
fundamental for a correct understanding of a methodology,
and should then be described in a manual or book that the
project manager and his/her team of developers closely follow
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. However, such manuals typically do not represent in a
proper way the methodologies since they do not suitably
formalise those three crucial aspects. Instead, methodologies are
typically explained through an ambiguous textual description
focussing more on the notation language and on the work
products rather than on other essential aspects such as the
process, the concepts meta-model and the application domain.
      </p>
      <p>Although it is possible to describe a methodology /
process without an explicit documentation, formalising its
underpinning ideas is valuable for checking consistency, or
when planning extensions or modifications: there, a formal
documentation can be exploited to check both the software
development process and the completeness and expressiveness
of methodologies. More generally, the relevance of
documentation becomes clear when studying the completeness and
the expressiveness of a methodology / process, and when
comparing / integrating different methodologies / processes
together.</p>
      <p>
        In this context, the IEEE FIPA Design Process
Documentation and Fragmentation (DPDF) working group [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
has recently proposed a template for documenting AOSE
methodologies. So, the objective of this paper is to present
an experimental evaluation of the FIPA DPDF template by
means of the application of such a template to the SODA
methodology [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>Accordingly, the paper is structured as follows. Section II
briefly presents the IEEE FIPA DPDF template, while
Section III presents some excerpts from the SODA
documentation. Then, Section IV discusses the template’s strengths
and weaknesses identified during the creation of the SODA
documentation. Conclusions are reported in Section V.
II. PROCESS DOCUMENTATION TEMPLATE IN A NUTSHELL</p>
      <p>The IEEE FIPA DPDF working group has recently proposed
a template for documenting AO methodologies and processes.
This template takes into account the three aforementioned
methodology features—meta-model, notation, and process. In
the first place, the template has been conceived with no
reference to any particular methodology—which should guarantee
that all methodologies can be documented using the proposed
template. Moreover, the template is also neutral regarding
the meta-model and/or the modelling notation adopted in the
description of the the methodology.</p>
      <p>Secondly, the template has a simple structure resembling
a tree—see above for further details. This implies that the
documentation can be built up in a natural and progressive
way, addressing in first place the general description and
meta-model definition – which constitute the root elements
of the methodology –, subsequently detailing the branches
1.Introduction
1.1.The (process name) Process lifecycle
1.2.The (process name) Metamodel
1.2.1. Definition of MAS metamodel elements
2.Phases of the (process name) Process
2.1.(First) Phase
2.1.1.Process roles
2.1.2.Activity Details
2.1.3.Work Products
2.2 (Second) Phase
2.2.1.Process roles
2.2.2.Activity Details
2.2.3.Work Products
: : : (further phases) : : :
3.Work Product Dependencies
representing the phases. Next, thinner branches like activities
or sub-activities have to be described. As a result, the template
can in principle support complex methodologies and different
situations.</p>
      <p>
        In the third place, the use of the template is easy for a
software engineer as it relies on few assumptions. Moreover,
the notation suggested is the OMG’s standard Software
Process Engineering Metamodel (SPEM) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] along with few
extensions [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        So, in the remainder of this section, we only report a brief
presentation of the template—interested readers can refer to
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for the details. The template is based on the definition of
process and process model as proposed by [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. A process
model is supposed to have three basic components: the
stakeholders (i.e., roles and workers), the consumed and generated
products (i.e., work products), and the activities and tasks
undertaken during the process, these being particular instances
(i.e., work definitions) of the work to be done. Another
important component of the template is the MAS metamodel,
as suggested in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]—given that the MAS metamodel might
constrain the way in which fragments can be defined and
reused.
      </p>
      <p>
        The template schema reported in Table I introduces the
fundamental components of the process model definition. The
template has a structure that provides a natural decomposition
of the process elements in a tree-like structure, whose root
is the Introduction section, which includes a description of
the process lifecycle and the MAS metamodel. Introduction
tries to provide a general overview of the process detailing the
original objectives of the methodology, its intended domain of
application, its scope, limits and constraints (if any), etc. The
Metamodel part provides a complete description of the MAS
metamodel adopted in the process, along with the definitions
of its composing elements. Thus, the different conceptual
elements considered when modelling the system should be
identified and described. The attention to the MAS metamodel
is not new in the agent-oriented community, and it is also
coherent with the emerging model-driven approaches, which are
always based on the system metamodel. The methodology’s
process is supposed to be composed (from the
work-to-bedone point of view) by phases. Each phase is composed of
activities that, in turn, may be composed of other activities or
tasks. Such a structure is compliant to the SPEM specification
that is explicitly adopted as a part of this template, although
with some (minor) extensions—see [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The next part of the
template is represented by a number of Phase sections, one
for each phase composing the whole process. The main aim
of each Phase section is to define the phase mainly from a
process-oriented point of view; that is, workflow, work
products and process roles are the centre of the discussion. Initially,
the phase workflow is introduced by using a SPEM activity
diagram, which reports the activities composing the phase, and
by doing a quick description of work products and roles. A
SPEM diagram follows reporting the structural decomposition
of each activity in terms of the involved elements: tasks, roles
and work products.
      </p>
      <p>In the last section, the template discusses work products
with a twofold goal: the first part aims at detailing the
information content of each work product by representing which
MAS model elements are reported in it (and which operations
are performed on them). The second part focusses on the
modeling notation adopted by the methodology in the specific
work product. The work products are described by using
a SPEM work product structured document. This diagram
is a structural diagram reporting the main work product(s)
delivered by each phase, and the diagrams are completed by
a table that describes the scope of each work product. Finally,
work product dependencies are reported in a specific diagram.</p>
    </sec>
    <sec id="sec-2">
      <title>III. SODA DOCUMENTATION</title>
      <p>
        This section presents only the main excerpts from the
SODA documentation—interested readers can find the full
documentation at [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In particular next subsections describe
SODA according to the template structure (TABLE I):
Subsection III-A presents the introduction of the documentation,
Subsection III-B details the SODA phases, finally Subsection III-C
shows the SODA work product dependencies.
      </p>
      <sec id="sec-2-1">
        <title>A. Documentation Introduction</title>
        <p>
          SODA (Societies in Open and Distributed Agent spaces)
[
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] is an agent-oriented methodology for the analysis and
design of agent-based systems, which adopts the Agents
&amp; Artifacts (A&amp;A) building blocks [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], and introduces a
layering principle as an effective tool for scaling with the
system complexity, applied throughout the analysis and design
process. Since its first version [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], SODA is not concerned
with intra-agent issues: designing a multi-agent system with
SODA leads to defining agents in terms of their required
observable behaviour and their roles in the multi-agent system.
Then, whichever methodology one may choose to define the
agent structure and inner functionality, it could be easily used
in conjunction with SODA. SODA focusses on inter-agent
issues, like the engineering of societies and environment for
MAS.
        </p>
        <sec id="sec-2-1-1">
          <title>Requirements</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>Analysis</title>
        </sec>
        <sec id="sec-2-1-3">
          <title>Analysis</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>Architectural</title>
        </sec>
        <sec id="sec-2-1-5">
          <title>Design</title>
        </sec>
        <sec id="sec-2-1-6">
          <title>Detailed Design</title>
          <p>Layering</p>
          <p>
            The abstractions belonging to the SODA meta-model –
called MAS Meta-model Elements (MMMElements) – [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ]
are logically divided into three categories: i) abstractions
for modelling / designing the system active part (task, role,
agent, etc.); ii) abstractions for the reactive part (function,
resource, artifact, etc.); and iii) abstractions for interaction and
organisational rules (relation, dependency, interaction, rule,
etc.). In its turn, the SODA process (Fig. 1) is organised in
two phases, each structured in two sub-phases: the Analysis
phase, which includes the Requirements Analysis and the
Analysis steps, and the Design phase, including the
Architectural Design and the Detailed Design steps. Due to the
transformational nature of SODA, each sub-phase models
(designs) the system exploiting a specific and different subset
of the SODA MMMElements: each subset always includes at
least one abstraction for each of the above categories—that is,
at least one abstraction for the system active part, one for the
reactive part, and another for interaction and organisational
rules.
          </p>
          <p>
            In addition, since the SODA process (Fig. 1) is iterative,
each step can be repeated several times, by suitably exploiting
the SODA layering mechanism (Fig. 2). The layering in
Fig. 1 is represented as a simple Activity of the process:
actually, it is a capability pattern [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ], i.e., a reusable portion
of the process—see Fig. 2. In particular, layering exhibits
two different functionalities: (i) the selection of a specific
layer for refining / completing the abstractions models in the
methodology process, and (ii) the creation of a new layer in
the system by in-zooming (i.e., increasing the system detail) or
out-zooming (i.e., increasing the system abstraction) activities.
In the latter case, the layering process terminates with the
projection activity needed to project the abstractions from one
layer to another “as they are”, so as to maintain the consistency
in each layer. The layering pattern is also used within
subphases—except in the Detailed Design, where the layering
principle is, by definition, not applicable.
          </p>
          <p>B. Phases of the SODA Process</p>
          <p>
            1) Requirements Analysis: The goal of Requirements
Analysis is to characterise of both the customers’ requirements and
the legacy systems with which the system should interact, as
well as to highlight the relationships among requirements and
legacy systems. The diagram in Fig. 3 presents the
Requirements Analysis activities, each related to its corresponding
task(s) use [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ]. The diagram also reports the roles involved
in this step and the work products that should be produced—
i.e., the SODA tables describing the abstract entities of the
Requirements Analysis. The Requirements Modelling activity
is composed by the Actors Description and Requirements
Description tasks both performed by the Requirement Analyst
role supported by the Domain Expert (Fig. 3). In this activity,
Requirement and Actor are used for modelling the customers’
requirements and the requirement sources, respectively, while
the ExternalEnvironment notion is used as a container of
the LegacySystems that represent the legacy resources of
the environment in the Environment Modelling activity. The
relationships between requirements and legacy systems are
modelled in the Relation Modelling activity in terms of a
suitable Relation.
          </p>
          <p>As one could see in Fig. 3, other three activities appear in
the diagram – Requirement Layering, Environment Layering,
and Relation Layering – and are strictly related – through the
predecessor relationship – to the previously described
activities. These activities represent the Layering capability pattern
since during each activity of this step it is possible to create a
new (or, to select a specific) layer for detailing (or abstracting)
the specific model under investigation. It is important to note</p>
          <p>Requirement
Layering tt&lt;&lt;</p>
          <p>uopu&gt;&gt;
&gt;&gt;tupnZi&lt;&lt;oomingtable
&gt;&gt;&gt;r&gt;orsossesceedceerdpe&lt;r&lt;p&lt;&lt;
that layerings do not represent an iteration of the step: instead,
they refine the model over which they are applied—and are
a peculiarity of SODA. The Requirements Analysis iteration
is done through the Layering activity located between the
Relation Modelling and the Requirements Modelling activities
(Fig. 3). The same consideration also applies to the Analysis
and Architectural Design steps.</p>
          <p>2) Analysis: The first activity in the Analysis step is
Moving from Requirements, where the MMMElements identified
in the previous step are mapped onto the MMMElements
adopted in this stage to generate the initial version of the
Analysis models. The work product of this activity is
represented by a set of relational table called Reference Tables
depicted in Fig. 4, where the relation between Analysis
workproducts and Analysis MMMElements are showed (D means
define/instantiate, R means relate, Q means quote/cite, F
means refine). In particular, Reference Tables defines (label
D in Fig. 4) the Analysis MMMElements and puts them in
relation (label R in Fig. 4) with the Requirements Analysis
MMMElements.</p>
          <p>The Analysis step expresses the requirement representation
in terms of more concrete MMMElements such as tasks
and functions. Tasks are activities requiring one or more
competences and are analysed in the Task analysis activity,
while functions are reactive activities aimed at supporting tasks
analysed in the Function analysis activity. The structure of
the environment, analysed in the Topology analysis activity,
is also modelled in terms of topologies—i.e., topological
constraints over the environment. The relations highlighted in
the previous step are here the starting point for the definition of
dependencies among such abstract entities in the Dependency
analysis activity.</p>
          <p>3) Architectural Design: This stage (Fig. 5) is one of
the more complex sub-phases in SODA. The first activity
is Transition (Fig. 5), where the MMMElements identified
in the previous step are mapped onto the MMMElements
adopted in this stage so as to generate the initial version of
the Architectural Design models. The main goal is to assign
responsibilities for achieving tasks to roles – Role Design
activity composed by the Action Design task – and for providing
functions to resources—Resource Design activity composed
by Operation Design task. In order to attain one or more
tasks, a role should be able to perform actions – Role Design
activity –; analogously, the resource should be able to execute
operations providing one or more functions—Resource Design
activity. The topology constraints lead to the definition of
spaces, i.e., conceptual places structuring the environment in
the Space Design activity. Finally, the dependencies identified
in the previous phase become here interactions and rules.
Interactions represent the acts of the interaction among roles,
among resources and between roles and resources, and are
designed in the Interaction Design activity; rules, instead,
enable and bound the entities’ behaviour and are designed in
the Constraint Design activity.</p>
          <p>4) Detailed Design: The Detailed Design step (Fig. 6) is
the only stage where the layering principle is not applicable,
since its goal is to choose the most adequate representation
level for each architectural entity, thus leading to depict
one (detailed) design from the several potential alternatives
architectures outlined in the previous step. So, as shown in
Fig. 6, the first activity of this sub-process is Carving, which
represents a sort of boundary between the Architectural Design
and the Detailed Design, where the chosen system architecture
is “carved out” from all the possible architectures.</p>
          <p>The next activity is Mapping (Fig. 6), where the carved
MMMElements are mapped onto the MMMElements adopted
in this stage, thus generating the initial version of the Detailed
Design models. Then, the Detailed Design presents three
different activities. The Agent Design activity design the active
&lt;&lt;input&gt;&gt; c
&lt;&lt;predecesCoro&gt;&gt;nstrainrrcsspdeeeo&lt;&lt;&gt;&gt;t Lay&lt;e&lt;rio&lt;nu&lt;grrsscoeeedp&gt;&gt;&lt;&lt;topuu&gt;ttp&gt;u&gt;t&gt; Zoomi&lt;n&lt;ginputt&gt;a&gt;ble Titpun&gt;&gt;&lt;&lt;oTpaobloleg&gt;&gt;siyrcamairpl,sAmrofrrDecp&lt;eh&lt;sitiegcnteurral
&lt;&lt;predecesor&gt;&gt;
&lt;&lt;predecessor&gt;&gt;</p>
          <p>&lt;&lt;input&gt;&gt;
part of the system in terms of Agent and agent Society. More
precisely, agents are intended here as autonomous entities able
to play several roles, while a society can be seen as a group
of interacting agents and artifacts whose overall behaviour
is essentially autonomous and proactive: they are designed
during the Agent Design activity.</p>
          <p>In the Environment Design activity, the resources identified
in the previous step are here mapped onto suitable Artifact,
while Aggregate is defined as a group of interacting agents
and artifacts whose overall behaviour is essentially functional
and reactive.</p>
          <p>The Workspace Design activity defines the topology of the
environment in terms of Workspaces that take the form of
an open set of artifacts and agents: artifacts can be
dynamically added to or removed from workspaces, and agents can
&gt;&gt;tu&lt;pni&lt;&lt;&lt;predecessor&gt;&gt;&gt;t&gt;upni&lt;&lt;InteracDtieosnigDnetailed
&lt;&lt;performs,primary&gt;&gt;</p>
          <p>Environ&lt;ment Design
&lt;output&gt;&gt; c
Environment
Design Tables
c
Environment</p>
          <p>Design Tables
&lt;&lt;input&gt;&gt; &lt;&lt;input&gt;&gt;
InteracDtieosnigDnetailed &lt;&lt;output&gt;&gt; c</p>
          <p>,frrsope&lt;&lt;m irryap&gt;&gt;m InteraTctaiobnleDsesign
Detailed Designer</p>
          <p>c
Agent/Society
Design Tables
dynamically enter (join) or exit workspaces. Finally, during
the Interactions Design activity, the interaction are designed
in terms of Use – interaction between agents and artifacts –,
Manifest – interaction between artifacts and agents –, SpeakTo
– interaction among agents – and LinkedTo – interaction
among artifacts – MMMElements.</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>C. Work Product Dependencies</title>
        <p>The diagram in Fig. 7 describes the high-level dependencies
among the different sets of SODA work products—called
composite work products. In fact, due to the huge number
of SODA work products – each table represent a work
product – it is not possible to create a comprehensive and
readable diagram depicting all the work products and their
dependencies.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>IV. DISCUSSION</title>
      <p>This paper evaluates a template for process documentation
that seems to provide a good framework in the documentation
of processes for agent-oriented development. However, the
current version of the template presents several limitations—
some of which related more to the notational language than
to the template structure.</p>
      <p>
        The main weakness of the current template structure is
related to the absence of a clear indication of where to describe
the tools and guidance [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] applied both in the overall process
and in the specific part of the process. In particular, when
trying to document SODA we had some problems in the
documentation of the layering. This is quite a peculiar aspect
of SODA, which adopts the layering principle as a tool for
managing the system complexity spread all over the process—
excluding the Detailed Design step.
      </p>
      <p>The first issue was about the place where to place the
layering description. From our experience in developing and
explaining SODA, we understood that the layering should be
presented before detailing the different SODA’s steps. This
because the layering is not a simple mechanism for creating
the iteration in the SODA process, but it is also a way for
refining single SODA model, so it is largely adopted in the
first three steps. Looking at Fig. 3 and Fig. 5, it is possible
to see both the layering activity (Layering) that inducting –
if necessary – a new iteration of the step and the different
layering activities (such as Requirement Layering, Relation
Layering, etc.) devoted to the models refinement. The above
considerations led us to the definition of a new sub-section in
the documentation introduction (TABLE I) where the layering
is documented. After our requests for explanations, the right
place where the process guidance and mechanisms should
be positioned is now under discussion inside the IEEE FIPA
DPDF working group.</p>
      <p>The second issue coming from the layering documentation
is related to the structure of the newly created sub-section.
We decided to structure the new sub-section in a very similar
way to the structure of the single phases, since the layering
has its portion of process, its specific activities and tasks, and
obviously its work product. We also created a specific diagram
Requirements</p>
      <p>Tables
Relation Tables
c
c
c
Domain Tables
Zooming table</p>
      <p>c
References</p>
      <p>Tables
c
Transitions</p>
      <p>Tables
c
c
Responsibilities</p>
      <p>Tables
Dependencies</p>
      <p>Table
Topologies Tables</p>
      <p>Zooming table
c
Entities Tables
Interactions</p>
      <p>Tables
c
Constraints</p>
      <p>Tables</p>
      <p>c
Topological</p>
      <p>Tables
Zooming table</p>
      <p>
        c
Mappings
Tables
a
Carving
Diagram
c
c
c
Agent / Society
Design Tables
– like the diagram in Fig. 4 – that puts the Zooming table –
i.e., the layering work product – in relation with the SODA’s
MMMElements, in order to explain how the layering is closely
related to the SODA meta-model [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>
        The last layering issue is related to the SPEM notation.
In fact, the diagrams in Fig. 3 and Fig. 5 are very difficult to
understand due to the huge number of strictly-related activities.
In particular, in Fig. 5 there are six different layering activities
– one for the step iteration and five for the models refinement
– and the only predecessor relation is not powerful enough
for explaining the right flow of activities in the
Architectural Design step—so this diagram alone is not sufficiently
expressive. For instance, the Role Design activity in Fig. 5
is the predecessor of two different and alternative activities,
on the one hand the Role Layering and on the other hand
the Interaction Design. In this diagram, at the best of our
knowledge, there is no way for expressing this alternative.
Even though such an alternative is documented in another
activity diagram (see the SODA documentation at [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]), in
our view the alternative paths should be highlighted also in
the diagram in Fig. 5.
      </p>
      <p>This consideration about the SPEM limitation leads to
another SPEM issue tied to the work product documentation. In
different diagrams such as those presented in Fig. 5 and Fig. 7
we are able to document only the SODA composite work
products in order to have readable diagrams. The diagrams
proposed by SPEM seems not so suitable for documenting
those methodologies which a great number of work products
like SODA.</p>
      <p>Apart from the weaknesses highlighted above, the template
seems very valuable, since it forced us to re-think the way
of presenting our methodology. Usually, when discussing a
methodology, authors are more worried about identifying the
models to construct, the concepts to define, etc. than in
detailing the phases and the activities to do, or in defining
the order of these activities. Thanks to this template now the
authors should pay more attention to process-related aspects.</p>
      <p>
        In addition, a major task of the documentation template
should be to offer a good support for process evaluation and
comparison. When comparing SODA to the other
methodologies documented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], we can notice for instance that PASSI
[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] and SODA meta-models are different in the content
(different elements, concepts and models); however, using the
same approach in describing them easily enables the study of
similarities and differences between them. Furthermore, from
the comparison of the SODA documentation and the
documentations (see [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]) of PASSI and INGENIAS [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], we have
easily deduced that INGENIAS has a limited set of models,
which are however quite complex since each of them include
many concepts. On the other hand, PASSI and SODA have
respectively more diagrams and tables, but each of them
introduces few concepts. In addition, the documentation highlights
the different attention paid to the environment modelling. This
is a primary activity in SODA, a task in INGENIAS, while
PASSI demands the study of the environment in the next phase.
Another difference concerns the identification of role and agent
concepts that in PASSI and INGENIAS is done in the first
phase of the process, whereas SODA defines such abstractions
only in the design phase. So, the use of the template easily
supports the identification of such differences.
      </p>
    </sec>
    <sec id="sec-4">
      <title>V. CONCLUSIONS AND FUTURE WORK</title>
      <p>In this paper, we used IEEE FIPA DPDF template for
documenting the SODA design process, and represents an
experimental evaluation of the template. SODA proved to
be a good test for the template since the creation of the
SODA documentation highlighted a weakness in the template
structure. The SODA documentation showed the power of the
template in process documentation, and sketched some of its
benefits briefly comparing SODA to PASSI and INGENIAS.</p>
      <p>In addition, the creation of the SODA documentation helped
us formalising the SODA process and organising in a proper
way the huge number of SODA work products. In particular,
diagrams such as those depicted in Fig. 4 proved to be
very valuable in relating the SODA work products to the
SODA MMMElements. This improved the general SODA
understanding—including ours. Finally, the SODA
documentation could be considered as the starting point for the SODA
fragmentation, since in the future the models produced for the
documentation will be used for identifying and documenting
fragments. Such fragments will be reused and integrated so as
to provide new ways of developing agent-oriented systems.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>IEEE</given-names>
            <surname>FIPA Design</surname>
          </string-name>
          <article-title>Process Documentation and Fragmentation, “IEEE FIPA Design Process Documentation</article-title>
          and Fragmentation Homepage,” http://www.pa.icar.cnr.it/cossentino/fipa-dpdf-wg/,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>I. Sommerville</surname>
          </string-name>
          ,
          <source>Software Engineering 8th Edition</source>
          . Addison-Wesley,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Cuesta</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Go´mez, J. Gonza´lez, and
          <string-name>
            <given-names>F. J.</given-names>
            <surname>Rodr</surname>
          </string-name>
          <article-title>´ıguez, “The MESMA methodology for agent-oriented software engineering</article-title>
          ,”
          <source>in Proceedings of First International Workshop on Practical Applications of Agents and Multiagent Systems (IWPAAMS'2002)</source>
          ,
          <year>2002</year>
          , pp.
          <fpage>87</fpage>
          -
          <lpage>98</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>S. A.</surname>
          </string-name>
          <article-title>O'Malley and S. A</article-title>
          . DeLoach, “
          <article-title>Determining when to use an agentoriented software engineering pradigm,” in Agent-Oriented Software Engineering</article-title>
          . Second Int. Workshop, AOSE 2001,
          <article-title>ser</article-title>
          . Lecture Notes in Computer Science, M. Wooldridge, G. Weiss, and P. Ciancarini, Eds. Springer-Verlag,
          <year>2002</year>
          , vol.
          <volume>2222</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bernon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cossentino</surname>
          </string-name>
          , and J. Pavo´n, “
          <article-title>Agent-oriented software engineering</article-title>
          ,” Knowl. Eng. Rev., vol.
          <volume>20</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>99</fpage>
          -
          <lpage>116</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pavo</surname>
          </string-name>
          <article-title>´n and J. Go´mez-Sanz, “Agent Oriented Software Engineering with INGENIAS,” Multi-Agent Systems</article-title>
          and
          <string-name>
            <surname>Applications</surname>
            <given-names>III</given-names>
          </string-name>
          , vol.
          <volume>2691</volume>
          , pp.
          <fpage>394</fpage>
          -
          <lpage>403</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mas</surname>
          </string-name>
          ,
          <source>Agentes Software y Sistemas Multi-Agentes. Pearson Prentice Hall</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Brinkkemper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lyytinen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Welke</surname>
          </string-name>
          ,
          <article-title>Method engineering: Principles of method construction and tool support</article-title>
          . Kluwer Academic Publishers,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ralyte</surname>
          </string-name>
          ´ and
          <string-name>
            <given-names>C.</given-names>
            <surname>Rolland</surname>
          </string-name>
          , “
          <article-title>An approach for method reengineering,” in Conceptual Modeling</article-title>
          . London, UK: Springer-Verlag,
          <year>2001</year>
          , pp.
          <fpage>471</fpage>
          -
          <lpage>484</lpage>
          , 20th International Conference (ER
          <year>2001</year>
          ), Yokohama, Japan,
          <fpage>27</fpage>
          -
          <lpage>30</lpage>
          Nov.
          <year>2001</year>
          . Proceedings. [Online]. Available: http://www.springerlink.com/content/pbtbr52cwya7qyd4/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>V.</given-names>
            <surname>Seidita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cossentino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Hilaire</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Gaud</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Galland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Koukam</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Gaglio</surname>
          </string-name>
          , “
          <article-title>The Metamodel: a Starting Point for Design Processes Construction</article-title>
          ,”
          <source>International Journal of Software Engineering and Knowledge Engineering</source>
          ,
          <year>2009</year>
          , in-press.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>B.</given-names>
            <surname>Henderson-Sellers</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Gonzalez-Perez</surname>
          </string-name>
          ,
          <article-title>“A comparison of four process metamodels and the creation of a new generic standard,”</article-title>
          <source>Information &amp; Software Technology</source>
          , vol.
          <volume>47</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>49</fpage>
          -
          <lpage>65</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Omicini</surname>
          </string-name>
          , “SODA:
          <article-title>Societies and infrastructures in the analysis and design of agent-based systems,” in Agent-Oriented Software Engineering, ser</article-title>
          . LNCS,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ciancarini and M. J. Wooldridge</surname>
          </string-name>
          , Eds. Springer,
          <year>2001</year>
          , vol.
          <year>1957</year>
          , pp.
          <fpage>185</fpage>
          -
          <lpage>193</lpage>
          , 1st International Workshop (AOSE
          <year>2000</year>
          ), Limerick, Ireland,
          <volume>10</volume>
          Jun.
          <year>2000</year>
          . Revised Papers.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Molesini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Nardini</surname>
          </string-name>
          , E. Denti,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Omicini</surname>
          </string-name>
          , “
          <article-title>Situated process engineering for integrating processes from methodologies to infrastructures,”</article-title>
          <source>in 24th Annual ACM Symposium on Applied Computing (SAC</source>
          <year>2009</year>
          ),
          <string-name>
            <given-names>S. Y.</given-names>
            <surname>Shin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ossowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Menezes</surname>
          </string-name>
          , and M. Viroli, Eds., vol. II. Honolulu,
          <source>Hawai'i, USA: ACM</source>
          ,
          <fpage>8</fpage>
          -
          <lpage>12</lpage>
          Mar.
          <year>2009</year>
          , pp.
          <fpage>699</fpage>
          -
          <lpage>706</lpage>
          . [Online]. Available: http://portal.acm.org/citation.cfm?id=
          <volume>1529282</volume>
          .
          <fpage>1529429</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>O. M. G. OMG</surname>
          </string-name>
          , “
          <source>Software Process Engineering Metamodel Specification. Version 1</source>
          .1, formal/05-01-06,” http://www.omg.
          <source>org/ (accessed on September 5</source>
          ,
          <year>2008</year>
          ),
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>V.</given-names>
            <surname>Seidita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cossentino</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Gaglio</surname>
          </string-name>
          , “
          <article-title>Using and extending the spem specifications to represent agent oriented methodologies,” in AOSE, ser</article-title>
          . Lecture Notes in Computer Science,
          <string-name>
            <given-names>M.</given-names>
            <surname>Luck</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Go</surname>
          </string-name>
          ´mezSanz, Eds., vol.
          <volume>5386</volume>
          . Springer,
          <year>2009</year>
          , pp.
          <fpage>46</fpage>
          -
          <lpage>59</lpage>
          , 9th International Workshop, AOSE 2008, Estoril, Portugal, May
          <volume>12</volume>
          -13,
          <year>2008</year>
          , Revised Selected Papers.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Cernuzzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cossentino</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Zambonelli</surname>
          </string-name>
          , “
          <article-title>Process models for agent-based development</article-title>
          ,
          <source>” Engineering Applications of Artificial Intelligence</source>
          , vol.
          <volume>18</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>205</fpage>
          -
          <lpage>222</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>[17] SODA, “Home page,” http://soda.apice.unibo.it. [Online]. Available: http://soda.apice.unibo.it</mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Omicini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ricci</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Viroli</surname>
          </string-name>
          , “
          <article-title>Artifacts in the A&amp;A meta-model for multi-agent systems</article-title>
          ,” Autonomous Agents and
          <string-name>
            <surname>Multi-Agent</surname>
            <given-names>Systems</given-names>
          </string-name>
          , vol.
          <volume>17</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>432</fpage>
          -
          <lpage>456</lpage>
          , Dec.
          <year>2008</year>
          , special Issue on Foundations,
          <article-title>Advanced Topics and Industrial Perspectives of Multi-Agent Systems</article-title>
          . [Online]. Available: http://www.springerlink.com/content/l2051h377k2plk07/
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19] Object Management Group, “
          <source>Software &amp; Systems Process Engineering Meta-Model Specification 2</source>
          .0,” http://www.omg.org/spec/SPEM/2.0/PDF, Apr.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cossentino</surname>
          </string-name>
          , “
          <article-title>From requirements to code with the PASSI methodology</article-title>
          ,” in Agent Oriented Methodologies,
          <string-name>
            <given-names>B.</given-names>
            <surname>Henderson-Sellers</surname>
          </string-name>
          and P. Giorgini, Eds. Hershey, PA, USA: Idea Group Publishing, Jun.
          <year>2005</year>
          ,
          <article-title>ch</article-title>
          . IV, pp.
          <fpage>79</fpage>
          -
          <lpage>106</lpage>
          . [Online]. Available: http://www.ideagroup.com/books/details.asp?id=
          <fpage>4931</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pavo</surname>
          </string-name>
          <article-title>`n</article-title>
          ,
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Go</surname>
          </string-name>
          <article-title>`mez-</article-title>
          <string-name>
            <surname>Sanz</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Fuentes</surname>
          </string-name>
          , “
          <article-title>The INGENIAS methodology</article-title>
          and tools,” in Agent Oriented Methodologies,
          <string-name>
            <given-names>B.</given-names>
            <surname>Henderson-Sellers</surname>
          </string-name>
          and P. Giorgini, Eds. Hershey, PA, USA: Idea Group Publishing, Jun.
          <year>2005</year>
          ,
          <article-title>ch</article-title>
          . IX, pp.
          <fpage>236</fpage>
          -
          <lpage>276</lpage>
          . [Online]. Available: http://www.idea-group.com/books/details.asp?id=
          <fpage>4931</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>B.</given-names>
            <surname>Henderson-Sellers</surname>
          </string-name>
          and P. Giorgini, Eds., Agent Oriented Methodologies. Hershey, PA, USA: Idea Group Publishing, Jun.
          <year>2005</year>
          . [Online]. Available: http://www.idea-group.com/books/details.asp?id=
          <fpage>4931</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>