<!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>Towards a New Approach for MAS Situational Method Engineering: a Fragment Definition</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Intelligent Techniques Laboratory - University of São Paulo -</institution>
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Laboratoire d'Informatique de Paris 6 - LIP6 - University Pierre et Marie Curie -</institution>
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <fpage>3</fpage>
      <lpage>16</lpage>
      <abstract>
        <p>This paper introduces a new definition of method fragment intended to represent MAS development approaches in a more standardized and coherent way, thus facilitating the configuration of situational methods. In order to do that, we take into account three complementary notions: (i) a method fragment description based on SPEM 2.0 elements; (ii) two method fragment perspectives, the internal and the external view, and (iii) four method fragment granularity layers. Moreover, this definition establishes some mechanisms for method fragments' encapsulation and identification. The proposed method fragment definition is illustrated through an example using Tropos.</p>
      </abstract>
      <kwd-group>
        <kwd>multiagent oriented software engineering</kwd>
        <kwd>situational method engineering</kwd>
        <kwd>method fragment</kwd>
        <kwd>SPEM</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        In order to structure the development and to manage the complexity associated with
Multiagent Systems (MAS), several development methods have been proposed during
the last decade, e.g. Gaia [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], Tropos [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], PASSI [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and Adelfe [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The variety of
Agent Oriented Software Engineering (AOSE) methods is due to the specific needs
raised on MAS development and to the different approaches adopted by MAS
developers. It shows that a method cannot be general enough in order to be applied to
every MAS development project without some level of customization [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Moreover
this customization requires deep knowledge on both the method and the MAS
research field. Nevertheless, it seems that reinventing a new method for each new
project situation wouldn’t be a best practice, given that there are a great number of
available methods for MAS development. This scenario suggests that Method
Engineering techniques and, particularly, Situational Method Engineering [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] seems
to be promising approaches to be considered for MAS development.
      </p>
      <p>Situational Method Engineering is the sub-area of Method Engineering that
addresses the controlled, formal and computer-assisted construction of situational
methods out of method fragments. Roughly speaking, building a situational method
consists of reusing parts of existing methods taking into account a given project
situation that encompasses, for example, notions related to the class of the desired
application (like traditional and pervasive computing) and project perspectives.</p>
      <p>
        Several approaches concerning the notions of a part of a method and situational
method building have been proposed in the Situational Method Engineering field. For
instance, Brinkkemper and colleagues [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ][
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] introduce a Method Fragment notion,
and Karlsson [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] introduces a Method Component notion. Method Fragments [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ][
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
are standardized building blocks based on a coherent part of a method that can reside
on one of five layers of granularity: method, stage, model, diagram or concept. The
notion of coherence should be interpreted while considering a method as a connected
graph of products or processes. For instance, an entire process can be considered as a
method fragment. A situational method can be built by combining a number of
method fragments in a bottom-up fashion. Such a combination must follow certain
assembly rules in order to adhere to the construction principles into the process
perspective and the product perspective.
      </p>
      <p>
        A Method Component [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] consists of an exchangeable and reusable part of
method composed of descriptions for actions, notations, artifacts and concepts that
can be viewed into two perspectives: an internal view and an external view. While the
internal view presents all method component elements (as action, artifacts, and roles),
the external view aims to describe method component output in order to identify how
it contributes to a chain of goal achievements. On the one hand, this approach
emphasizes principles as method modularization and method reusability. On the other
hand, it proposes a way for using these principles in order to define a procedure for
method configuration involving the notion of Base Method: a method chosen as
starting point for the configuration process, allowing a top-down fashion to create
situational methods, eliminating, adding or exchanging additional fragments captured
from another method.
      </p>
      <p>This paper proposes a definition of method fragment that combines these two
notions of part of a method. This definition allows representing MAS development
approaches in a more standardized and coherent way. Moreover, it establishes
mechanisms for method fragments encapsulation and identification in order to
provide a solid base for developing / building MAS situational methods. The paper is
organized in five sections. Section 2 presents the proposed definition for MAS
method fragment, while Section 3 shows an application of such definition to Tropos.
Section 4 presents an overview of the current research concerning situational method
engineering applied to MAS field. Finally, Section 5 presents a discussion about the
proposed approach for MAS method fragment definition.</p>
    </sec>
    <sec id="sec-2">
      <title>2 A New Definition for MAS Method Fragment</title>
      <p>
        The MAS Method Fragment definition proposed in this paper has been mainly
inspired on the Method Fragment notion proposed by Brinkkemper and colleagues
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ][
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] as well as on the notions of method component view and Base Method
proposed by Karlsson [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. From Brinkkemper and colleagues we adopted the simple
and intuitive idea of part of a method and from Karlsson we adopted the black box
perspective of part of a method offered by the Method Component view, as well as
the Base Method notion to provide a solid foundation for top-down situational method
configuration. Additionally, we have adopted some concepts of Software Engineering
proposed by Jacobson and colleagues [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and have used SPEM 2.0 (Software and
Systems Process Engineering Metamodel) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] as a common meta-model for
describing method fragment. The former is among the most popular software
development processes and the latter is the standard “de facto” to model development
process.
      </p>
      <p>Our proposed definition is:
“A MAS Method Fragment is a standardized building block based on a coherent
part of a MAS development approach”.</p>
      <p>
        The standardization of building blocks considers the notions of (i) identification of
method fragments using well established naming rules in order to convey their desired
semantics; (ii) encapsulation of original work products; (iii) utilization of common
roles for MAS developers to be used as task performers; and (iv) classification of
method fragment based on a semiotic criteria [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The coherence of method fragments
is assured by the notions of (i) a method fragment description based on the SPEM 2.0
elements (task, work product, role, activity and so on) and their associations; (ii) the
proposition of two method fragment views (internal and external views); and (iii) the
use of four method fragment granularity layers (activity, phase, iteration, process).
      </p>
      <p>In the following subsections, we will describe the main characteristics of the
proposed definition for coherence.</p>
      <sec id="sec-2-1">
        <title>2.1 Standardizing Building Blocks</title>
        <p>
          In order to have a standardized and common semantics for specifying method
fragment objectives and work products, we have defined a MAS Work Product
Framework mainly based on the MAS components proposed in the Vowel approach
[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] - Agent, Environment, Interaction, Organization. This approach offers a natural
and coherent way for describing MAS components and has been adopted in several
MAS research [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] with successful results. Nevertheless, it does not deal with the
notion of users requirements that should be gathered before specifying MAS
components. Then, the proposed MAS Work Product Framework involves also an
element related to MAS User Requirement, in order to encapsulate work products
used to describe the system-to-be requirements.
        </p>
        <p>
          Such a work product framework is used to encapsulate original MAS development
work products, explicitly stating their involvement with user requirements or to the
main MAS components. This approach allows enhancing work product flow into a
situational method and making clear the main goal of each work product
independently of their name in the context of the original MAS development
approach. Finally, the method fragment characteristics are specified through the MAS
Semiotic Taxonomy [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] that provides a set of semiotic criteria to categorize MAS
Method Fragments taking into account their meaning, usage, structure and so on.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 MAS Method Fragment Main Elements</title>
        <p>The proposed MAS Method Fragment description is based on SPEM 2.0 elements and
related associations. To improve readability we use Arial font to concepts proposed in
this work and Comic Sans font to describe SPEM elements. Therefore, the main
elements used to compose a MAS method fragment description are: Process Pattern,
Activity, Phase, Milestone, Iteration, Task Definition, Task Use, Step, Role
Definition, Role Use, Work Product Definition, Work Product Use, Category, and
Guidance. As proposed by SPEM 2.0, these elements are separated into method
content elements (Task Definition, Step, Role Definition, Work Product Definition)
and their application in the development process (Process Pattern, Activity, Phase,
Milestone, Iteration, Task Use, Role Use, Work Product Use).</p>
        <p>A Process Pattern represents building blocks for assembling processes. It
describes a reusable cluster of Activities that provides a consistent development
approach to common problems. An Activity represents a general unit of work
assignable to specific roles, relying on input work products and producing output
work products. We have chosen this as the main element of MAS Method Fragment in
the Activity Layer. A Phase consists of a significant period in a project, ending with
major management checkpoint, as a Milestone that represents a significant event for a
development project. We have used Phase and Milestone as main elements of MAS
Method Fragment in the Phase Layer. Moreover, Milestone is used to define
fragments in the Process Layer. An Iteration is a set of nested Activities that are
repeated more than once, allowing the organization of work in repetitive cycles. It has
been used to define MAS Method Fragments in the Iteration Layer.</p>
        <p>A Task Definition represents an assignable unit of work involving generally a few
hours to a few days and usually affecting one or only a small number of work
products. A Step describes a meaningful and consistent part of the overall work
described for a Task Definition. A Task Use represents a proxy for a Task Definition
in the context of one specific Activity. Tasks and Steps constitute the main element
of the Activities used to build MAS Method Fragments.</p>
        <p>A Role Definition describes a set of related skills, competencies, and
responsibilities of an individual or a set of individuals. A Role Use represents a Role
Definition in the context of one specific Activity. Roles represent both the
development roles originally specified by the AOSE methods and the common MAS
role set involved in the MAS Method Fragments definition. Work Product Definition
represents pieces of work that are used, modified, and produced by Task Definitions,
while a Work Product Use represents a Work Product Definition in the context of a
specific Activity. Work Product Definitions represent the artifacts proposed by the
MAS development approaches, as models, specifications and diagrams.</p>
        <p>
          A Category represents the classification structure used to group SPEM elements
based on the user’s criteria. It allows defining tree-structures of nested categories used
for browsing MAS Method Fragments based on a semiotic criteria [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. A Guidance
represents a specific description related to other SPEM elements. It can be a formal
description, such as concepts description, or informal description such as guidelines,
white papers, checklists, examples or roadmaps. Guidance represents some elements
proposed by the MAS development approaches, such as work product examples, main
references, concepts and tool mentor.
        </p>
        <p>The aforementioned elements will be depicted in conjunction of the proposed
method fragment views and some standardization notions in Fig. 1. Finally, we have
applied an important notion proposed by SPEM - called Variability Elements - to
improve tasks and work products defined according to the original MAS development
approaches. It allows reaching the completeness and standardization involved in a
MAS Method Fragment definition without modifying the original method elements.
For example, we can use a Task Variability to complete a task definition introducing
performing role and a Work Product Variability to define composite work products,
as Agent Model or Requirement Model.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3 Method Fragment Views</title>
        <p>
          The Internal and External views of MAS Method Fragments depict, respectively, the
whole set of elements that compose them and the main elements that constitute their
interface. They have been inspired on the method component views concept proposed
by Karlsson [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The Internal View offers a detailed and deep representation of a
method fragment that allows analyzing all elements involved in its composition, such
as activities, roles, tasks, guidance, categories, work products and milestone, as well
as their relationships (see Fig. 1 for details).
        </p>
        <p>External view
Naming Rules</p>
        <p>Semiotic
Classification</p>
        <p>Objectives</p>
        <p>&amp;</p>
        <p>Work
Products
(input and
output)</p>
        <p>Process Pattern
Category
Work
Product</p>
        <p>Use</p>
        <p>The External View goals are twofold. First, it describes, in a standard way how a
method fragment can be used in a situational method configuration by: (i)
identifying the method fragment through naming rules, (ii) specifying method
fragment objectives in terms of milestones and/or work products, and (iii) describing
fragment characteristics as meaning, usage, structure and so on. Second, it describes
how a method fragment can contribute to achieve a situational method objective,
specifying fragment output work products through a common semantic. The naming
rules adopted to identify method fragments are based on simple concepts and will be
explained through the method fragments examples in the next section.</p>
        <p>These two method fragment perspectives improve method fragment coherence
because it allows analyzing method fragments as standard black boxes without
loosing the details of the description. Fig. 1 shows the views and associated elements
in a diagrammatic perspective. For instance, it depicts Process Pattern as a kind of
“logical container” for building MAS Method Fragments, Category to define part of
the External View of MAS Method Fragment, called Method Fragment Semiotic
Classification and the use of Milestone to represent MAS Method Fragment expected
objectives.</p>
      </sec>
      <sec id="sec-2-4">
        <title>2.4 Method Fragment Layers</title>
        <p>
          The four layers of MAS Method Fragment – activity, iteration, phase and process
have been defined according to Jacobson et al [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and SPEM homonym concepts.
        </p>
        <p>
          The definition of a MAS method fragment in the Activity Layer, for short an
Activity Method Fragment, is based on the notion of Activity proposed by Jacobson et
al [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. An Activity Method Fragment consists of a tangible unit of work performed
by a worker that yields a well-defined result based on a input set of artifacts. The unit
of work has defined boundaries that are likely to be referred in a project plan when
tasks are assigned to individuals.
        </p>
        <p>Fig. 2 depicts the components of an Activity Method Fragment. It is worthy to notice
that this figure represents only the main relationships between SPEM elements used
to define an Activity Method Fragment. For instance, relationships between Category
and Roles, Tasks and Work Products are not depicted. Moreover, we have labeled the
relationship arrows with cardinalities that constitute a constraint over SPEM elements
definition. For example, in general a Process Pattern can be associate to zero or
many Activities, while the Process Pattern used in the context of an Activity Method
Fragment must be associated with exactly one Activity.</p>
        <p>An Activity Method Fragment is composed of one Process Pattern associated with
one Activity and one or more Categories. Such Activity must be associated with at
least one Task Use that must produce one or more Work Products as output.
However, in the context of an Activity Method Fragment an Activity must not be
associated with an Iteration nor to a Phase or Milestone elements, given that these
elements are used to define other layers of method fragment. As we can see in Fig. 2,
Category and Work Product elements constitute the external view of the Activity
Method Fragment. In summary, an Activity Method Fragment must contain one
Activity that is composed by at least one Task, one Role and one output Work
Product. Moreover, it must be classified by Categories.</p>
        <p>
          The definition of a MAS method fragment in the Phase layer, for short a Phase
Method Fragment, is based on the notion of phase proposed by Jacobson et al [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
These authors consider that a phase should be concluded with a major milestone.
Moreover, they state that any software process needs to have a sequence of clearly
articulated milestone in order to be effective. Therefore, a Phase Method Fragment
represents a significant period in a project and consists of a Process Pattern
classified by Categories, associated with exactly one Phase, one (major) Milestone
and several Activity Method Fragments and/or Iteration Method Fragments.
        </p>
        <p>Category</p>
        <p>The definition of a MAS method fragment in the Iteration layer, for short an
Iteration Method Fragment, is based in the SPEM homonym element. An Iteration
Method Fragment consists of a Process Pattern that involves a set of Activity Method
Fragments and/or a set of Phase Method Fragments that are repeated more than once
during the process development lifecycle, offering a structuring fragment to organize
work in repetitive cycles. Moreover, it must be classified by Categories.</p>
        <p>Finally, a MAS method fragment in the Process layer, for short a Process Method
Fragment, represents a whole MAS development cycle. It is composed of a Process
Pattern classified by Categories that contains several Phase Method Fragments
and/or Iteration Method Fragments and ends with a (major) Milestone. The goal of a
Process Method Fragment is twofold. First, it depicts the notion of Base Method
presented in Section 2, allowing a top-down fashion to configure a MAS situational
Method. Second, it allows describing MAS original methods as a MAS Method
Fragment ready to be used when an existing MAS method totally matches a given
project situation.</p>
        <p>The main advantages of having these four method fragment layers are: (i) the reuse
of original AOSE methods in several level of granularity; (ii) the representation of
MAS development approaches that do not provide a full development method (such
as method fragments related to Agent Organizations models), and (iii) the utilization
of bottom-up or top-down mechanisms for situational method configuration.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Applying the Proposed Definition to Tropos</title>
      <p>In this section, we use the proposed definition to describe MAS method fragments
sourced from Tropos. Tropos proposes a process for building MAS involving the
following phases: Early Requirements, Late Requirements, Architectural Design,
Detailed Design and Implementation. The goal of the first two phases is to provide a
set of functional requirements as well as non-functional requirements for the system
to be built, while Architectural Design and Detailed Design phases focus on the
system specification. Finally, the Implementation phase transforms the results of the
preceding phases using an agent development platform in order to code the MAS.</p>
      <p>
        We have used the Eclipse Process Framework Composer (EPF Composer) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to
represent the MAS Method Fragments extracted from Tropos. EPF Composer is a tool
developed by Eclipse Foundation that fully implements SPEM 2.0. After using the
adequate SPEM element to represent each activity, step, role, diagram and model
proposed by Tropos we have defined MAS Method Fragments into the Activity Layer,
Phase Layer and Process Layer. We have not defined fragments into the Iteration
Layer because Tropos does not propose iteration development cycles. Due to space
constraints, we will describe only one example of fragment for each layer.
      </p>
      <p>Fig. 3 depicts the External View of the Process Method Fragment called MMF
Tropos Base Method, represented as a Process Pattern (called Capability Pattern in
EPF Composer). On the left frame we can see that this fragment is classified in
several categories of the MAS Semiotic Taxonomy, e.g. in the social level and
iteration degree, it is classified as part of the Low Iteration Fragment Category.</p>
      <p>
        On the right frame we can see that this fragment is composed of four Phase
Method Fragments - MMF Requirement Phase with Tropos, MMF Analysis Phase with
Tropos, MMF Design Phase with Tropos and MMF Implementation Phase with Tropos.
As said before, we propose applying standard naming rules for method fragment
identification. For instance, phase names should convey either the software
development discipline covered by the phase - as Requirement, Analysis, Design,
Implementation, Test - or the phase main development goal - as Inception,
Elaboration, Construction, Transition – as currently used in iterative development
approaches [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>Moreover, the MMF Tropos Base Method fragment is composed of a Milestone
called Tropos Base Method Milestone - MAS ready to be used that involves three
work products: MP Tropos Agent Model, MP Tropos Interaction Model and MP Tropos
Requirement Model, where MP stands for MAS work Product. Such work products
encapsulate Tropos original work products and provide a standardized and common
semantic for describing MAS work products based on the Vowels approach, as
proposed in Section 2. For instance, the work product MP Tropos Requirement Model
encapsulates the Tropos Actor Diagram and Tropos Goal Diagram, both related to
Tropos requirement phase.</p>
      <p>As we have seen in Section 2, given that MMF Tropos Base Method is a Process
Layer Fragment it can be used into two distinct ways: as standard representation of
Tropos or as a Base Method in a top-down configuration mechanism in order to build
a MAS situational Method.</p>
      <p>Fig. 4 depicts the External View of the method fragment called MMF Requirement
Phase with Tropos as well as some elements of its Internal View (highlighted
rectangle of the right frame). On the left we can see the fragment classification using
the MAS Semiotic Taxonomy. On the right we can see that this fragment is composed
of three Activity Method Fragments: MMF Identify Initial Requirement with Tropos,
MMF Detail Requirement with Tropos, and MMF Identify Additional Requirement with
Tropos. Moreover, it contains the MAS Objectives Described Milestone that involves
the work product MP Tropos Requirement Model.</p>
      <p>The Internal View of the MMF Detail Requirement with Tropos involves an
homonym Activity that contains a Task Use (Task Description in EPF Composer)
called MTV Analyze Goals and Plans. The acronym MTV used as task name prefix
stands for MAS Task Variability and indicates that we are dealing with a task that
extends another one. Such task variability has been defined over the Tropos original
task in charge of analyzing goals and plans in order to provide basic MAS roles. In
addition, it also changes Tropos original work products by the related MAS work
products that forms the External Fragment View (see Fig. 5 for more details).</p>
      <p>It is worthy to notice that the fragment MMF Detail Requirement with Tropos is
executed twice in the MMF Requirement Phase with Tropos: first after identifying
initial requirements (concerning stakeholders identification) and latter after
identifying additional requirements (defining system actors).</p>
      <p>Finally, Fig. 5 complements the Internal View of the fragment MMF Detail
Requirement with Tropos showing its main elements.</p>
      <p>As the fragment MMF Detail Requirement with Tropos consists of an Activity
Method Fragment, its elements are defined through the task MTV Analyze Goals and
Plans. These are the following: (i) the roles System Analyst and MAS Designer, (ii)
the mandatory input work product MPV Tropos Actor Diagram, (iii) the output work
product MPV Tropos Goal Diagram, and (iv) several steps, as Analyzing goals through
means-end analysis and decomposing goals.</p>
      <p>These examples of usage show that the proposed definition of MAS Method
Fragment offers a more standardized way for representing each phase and activity of
Tropos, as well as Tropos own method as a whole. Moreover, it establishes
mechanisms for the encapsulation and identification of original Tropos tasks, roles
and work products. Finally, it allows reusing method fragments even in the context of
its original method.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Related Work</title>
      <p>
        In AOSE field there are several researches concerning method fragment notion.
Among them we can cite the FIPA method fragment definition [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and its refinement
proposed by Cossentino et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], as well as the fragment description for adaptive
methodology proposed by Rougemaille et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and the three method fragment
levels of granularity introduced by [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In general, such researches propose the use of
SPEM as a common meta-model for representing MAS method fragment. For
instance, Rougemaille et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] highlight how SPEM can participate to design
adaptive methodology process and claim that being compliant with SPEM is
important to broaden the use of agent-oriented methodologies and principles.
Nevertheless, the method fragment levels of granularity (atomic, composed, and
phase level) proposed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] do not involve any metamodel. Instead, these method
fragment levels are only briefly outlined in natural language.
      </p>
      <p>
        The preliminary version of the FIPA method fragment definition [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], published in
2003 by the FIPA Methodology Technical Committee (TC)1, states that a method
fragment is a portion of the development process that involves the following
elements: (i) a definition of a portion of process using SPEM describing what should
be done; (ii) one or more deliverables; (iii) a required input data representing the
preconditions to start the process specified in the fragment; (iv) a list of concepts
related to the MAS meta-model to be defined / refined for the fragment; (v) guidelines
that illustrate how to apply the fragment as well as best practices related to that; (vi) a
glossary of terms used in the fragment; (vii) composition guidelines describing the
context/ problem treated by the fragment; (viii) aspects of fragment such as the
platform to be used, and finally (ix) the dependency relationships useful to assemble
fragments. It is worthy noting that some of these elements are not mandatory, as input
data and guidelines.
      </p>
      <p>Our MAS method fragment definition is based on SPEM, as shown in Section 2,
and it is fully compliant with this FIPA definition since the portion of process is
represented by a Task element while Work Product elements describe fragment
deliverables as well as fragment inputs. Moreover, we use Guidance elements to
describe MAS concepts, to provide fragment guidelines and glossary of terms.
Finally, our method fragment definition encompasses an external view that aims to
describe the aspects that should be taken into account during method fragment
selection and assembling, applying Category elements to classify the fragments based
on their context use, their deliverable work products and their development platforms,
among other criteria covered by the MAS Semiotic Taxonomy.</p>
      <p>
        The refinement of FIPA definition proposed by Cossentino et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] involves four
different point of views for describing method fragments: (i) the process fragment
view that deals with the process related aspects of a fragment, including workflows,
activities and work products; (ii) the reuse fragment view for representing fragment
elements such as the MAS meta-model, glossary of terms, guidelines and fragment
dependency; (iii) the fragment storing view that deal with retrieving method
fragments from the method base and, finally, (iv) the implementation view that
concerns the implementation aspects of the process fragment view elements.
This refinement is distinct of our MAS method fragment definition in two main
points: the SPEM compliance and the representation of MAS components. First, our
approach is fully defined over SPEM (since we do not introduce new elements
neither new associations in order to define method fragment elements) while
Cossentino et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] introduce new elements such as the Workflow and the MAS
Model elements. In our opinion the SPEM compliance offer important benefits: on the
one hand, SPEM is the “de facto” standard for method metamodel and, on the other
hand, such compliance allows using SPEM based tools, as EPF Composer, for
building the Method Base and configuring the MAS Situational Method. Second, this
refinement requires dealing with MAS metamodel elements in a fine grained
granularity and involves MAS metamodel integration while we propose representing
MAS components in a coarse grained granularity based on the Vowel approach
(Agent, Environment, Interaction, Organization). Therefore, our definition of method
1 The activity of this TC stopped during the transition towards the new FIPA structure as part of
IEEE Computer Society Standards Committee since 2005
fragment does not depend on a previous MAS metamodel integration in order to
configure MAS situational methods. Such independence represents an important
benefit since it allows taking advantage of Situational Method Engineering techniques
for creating MAS situational methods without waiting for MAS community reaching
a consensus about MAS main concepts.
      </p>
      <p>Summing up, at the best of our knowledge, in the AOSE field there is no explicit
method fragment definition tailored to facilitate the use of situational configuration
mechanisms and to offer a standardized description of a method fragment elements
and objectives. The IEEE-FIPA Design Process Documentation and Fragmentation
Working Group2 (DPDF WP), recently formed to deal with a definition of method
fragment for situational method engineering process, corroborates that these topics
constitute open issues in AOSE field.</p>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusions</title>
      <p>In this paper, we presented a new definition for MAS method fragment based on
Situational Method Engineering and Software Engineering techniques that can be
used to represent MAS development approaches in a more standardized and coherent
way. It offers two method fragment perspectives - internal and external fragment view
- and four method fragment granularity layers: activity, iteration, phase and process.
According to the proposed definition, a method fragment is considered coherent when
its internal view is described using SPEM 2.0 and their elements and associations
follow one of these four method fragment layers definition.</p>
      <p>Moreover, we show how this definition can be used to represent method fragments
extracted from Tropos, that is a well known MAS method. However, we think that it
is not possible to identify a univocal criteria to set the best level of granularity for
extracting method fragments, since fragment creation depends more on the
experience of the method engineers than on a rigid extraction criteria. We claim that
the absence of such a univocal criteria could be mitigated in two ways. First, using a
common model, like SPEM, to represent method fragment. Second, establishing a
procedure for extracting and storing fragments in a method repository. Such
procedure is part of our research future work.</p>
      <p>It is worthy to notice that part of the proposed method fragment definition is
general enough to be applied to classical software development methods and not only
to MAS methods. In fact, the MAS methods distinctive aspects are taken into account
mainly through the following notions of our definition: the MAS Work Product
Framework based on Vowel approach and some semiotic criteria, as MAS approach
(agent /organization centered) and MAS nature (open/closed MAS). Therefore, in
general lines, the proposed method fragment definition could be used to represent
fragments sourced from classical software development methods after replacing these
notions for other more suitable to a giving development paradigm.</p>
      <p>We claim that this MAS Method Fragment definition can provide the backbone for
defining a method repository for MAS situational method configuration, given that it
provides mechanisms for (i) identifying method fragments using a well established
2 http://www.fipa.org/subgroups/DPDF-WG.html
naming rules, (ii) conveying method fragment objectives and encapsulating original
work products using a common work product framework, and (iii) categorizing
method fragment based on a semiotic criteria. Finally, given that we propose distinct
method fragment granularity layers, we can build a method repository involving
fragments extracted from AOSE methods as well as from other MAS development
approaches, such as Agent Organization models. In a top-down situational method
configuration fashion, the former could provide a Base Method for the configuration
while the latter could contribute with specific Activity Method Fragments in order to
improve and complete a original MAS method.</p>
      <p>Acknowledgments. This work is a product of the MEDEIA project, supported by
FAPESP (Brazil) and CNRS (France). The first and the last two authors are partially
supported by CNPq and CAPES (Brazil).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Bernon</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Camps</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gleizes</surname>
            ,
            <given-names>M.-P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Picard</surname>
          </string-name>
          , G.:
          <article-title>Engineering Adaptive Multi-Agent Systems: The ADELFE Methodology</article-title>
          . In:
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
          </string-name>
          , P. (eds) AgentOriented Methodologies, Idea Group Pub. USA,
          <fpage>171</fpage>
          -
          <lpage>202</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Bresciani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ; Giorgini,
          <string-name>
            <given-names>P.</given-names>
            ;
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ;
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ;
            <surname>Perini</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Tropos: An AgentOriented Software Development Methodology</article-title>
          .
          <source>Journal of Autonomous Agents and MultiAgent Systems</source>
          , vol
          <volume>8</volume>
          (
          <issue>3</issue>
          ),
          <fpage>203</fpage>
          --
          <lpage>236</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Brinkkemper</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Method Engineering:
          <source>Engineering of Information Systems Development Methods and Tools. Information and Software Technology</source>
          , vol.
          <volume>38</volume>
          (
          <issue>4</issue>
          ),
          <fpage>275</fpage>
          --
          <lpage>280</lpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Brinkkemper</surname>
            <given-names>S.</given-names>
          </string-name>
          ; Saeki,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Harmsen</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          <article-title>Meta-Modelling Based Assembly Techniques for Situational Method Engineering</article-title>
          , Information Systems,
          <volume>24</volume>
          (
          <issue>3</issue>
          ),
          <fpage>209</fpage>
          --
          <lpage>228</lpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Casare</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Brandão</surname>
            ,
            <given-names>A. A. F.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Sichman</surname>
            ,
            <given-names>J. S.</given-names>
          </string-name>
          <article-title>A Semiotic Perspective for Multiagent Systems Development (Extended Abstract)</article-title>
          ,
          <source>Proc. of 9th Int. Conf. on Autonomous Agents and Multiagent Systems (AAMAS</source>
          <year>2010</year>
          ), van der Hoek, Kaminka, Lespérance, Luck and Sen (eds.), May,
          <fpage>10</fpage>
          -
          <lpage>14</lpage>
          ,
          <year>2010</year>
          , Toronto, Canada,
          <fpage>1373</fpage>
          -
          <lpage>1374</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Cossentino</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>From Requirements to Code with the PASSI Methodology</article-title>
          . In:
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
          </string-name>
          , P. (Eds.),
          <string-name>
            <surname>Agent-Oriented</surname>
            <given-names>Methodologies</given-names>
          </string-name>
          , Idea Group Publishing,
          <fpage>79</fpage>
          --
          <lpage>106</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Cossentino</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gaglio</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Garro</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Seidita</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <article-title>Method Fragments for agent design methodologies: from standardization to research</article-title>
          . In:
          <source>International Journal on Agent Oriented Software Engineering (IJAOSE)</source>
          .
          <volume>1</volume>
          (
          <issue>1</issue>
          ) (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Cossentino</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Fortino</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Garro</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Mascillaro</surname>
            ,
            <given-names>S. ; Russo. W..</given-names>
          </string-name>
          <article-title>PASSIM: a simulationbased process for the development of multi-agent systems</article-title>
          .
          <source>Int. Journal of Agent-Oriented Software Engineering</source>
          ,
          <volume>2</volume>
          (
          <issue>2</issue>
          ):
          <volume>132</volume>
          :
          <fpage>170</fpage>
          ,
          <string-name>
            <surname>Inderscience</surname>
            <given-names>Enterprises Ltd.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>UK</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Demazeau</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <article-title>From interactions to collective behavior in agent-based systems</article-title>
          .
          <source>Proc. of the 1st. European Conference on Cognitive Science. Saint-Malo</source>
          ,
          <fpage>117</fpage>
          -
          <lpage>132</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>FIPA</surname>
          </string-name>
          .
          <article-title>Foundation for Intelligent Physical Agents, Methodology TC</article-title>
          . Method Fragment Definition, Preliminar version
          <year>2003</year>
          /11/21 (
          <year>2003</year>
          ) Available on &lt;http://www.pa.icar.cnr.it/cossentino/FIPAmeth)&gt;.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Guessoum</surname>
            ,
            <given-names>Z</given-names>
          </string-name>
          ; Cossentino,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Pavón</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          :
          <article-title>Roadmap of Agent-Oriented Software Engineering - The AgentLink Perspective</article-title>
          . In:
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Gleizes</surname>
          </string-name>
          , &amp; F. Zambonelli (Eds.),
          <article-title>Methodologies and software engineering for agent systems</article-title>
          , Kluwer Academic Publishers,
          <fpage>431</fpage>
          --
          <lpage>450</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Haumer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Eclipse Process Framework Composer - Part</surname>
            1 -
            <given-names>Key</given-names>
          </string-name>
          <string-name>
            <surname>Concepts</surname>
          </string-name>
          .
          <article-title>(</article-title>
          <year>2007</year>
          ) Available on: &lt;http://www.eclipse.org/epf&gt;.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ; Booch,
          <string-name>
            <given-names>G.</given-names>
            ;
            <surname>Rumbaugh</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>The unified software development process</article-title>
          .
          <source>Addison-Wesley</source>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Karlsson</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Method Configuration - Method and Computerized Tool support</article-title>
          .
          <source>Doctoral Dissertation Dept. of Computer and Information Science</source>
          , Linkoping University (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>OMG</surname>
          </string-name>
          . Object Management Group.
          <source>Software &amp; Systems Process Engineering Meta-Model Specification, version 2</source>
          .0. OMG document number: formal/2008-04-
          <fpage>01</fpage>
          (
          <year>2008</year>
          ) Available on http://www.omg.org/spec/SPEM/2.0/PDF.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Pavon</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Ingenias: Développement Dirigé par Modèles des Systèmes Multi-Agents. Dossier d'Habilitation à Diriger des Recherches de l'Université Pierre et Marie Curie</article-title>
          . Paris, France (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Rougemaille</surname>
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Migeon</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Millan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gleizes</surname>
            ,
            <given-names>M.-P.</given-names>
          </string-name>
          :
          <article-title>Methodology Fragments Definition in SPEM for Designing Adaptive Methodology: A First Step</article-title>
          . In: Luck,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Gomez-Sanz</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.J</surname>
          </string-name>
          . (Eds.):
          <source>AOSE</source>
          <year>2008</year>
          ,
          <article-title>LNCS</article-title>
          , vol.
          <volume>5386</volume>
          , Springer,
          <fpage>74</fpage>
          --
          <lpage>85</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Zambonelli</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jenningns</surname>
            ,
            <given-names>N. R.</given-names>
          </string-name>
          ; Wooldridge,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Developing multiagent systems: The Gaia methodology</article-title>
          .
          <source>ACM Transaction on Software Engineering and Methodology</source>
          , vol
          <volume>12</volume>
          (
          <issue>3</issue>
          ),
          <fpage>417</fpage>
          --
          <lpage>470</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>