<!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>The O-MaSE Process: a Standard View</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Juan C. Garcia-Ojeda</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Scott A. DeLoach</string-name>
          <email>sdeloach@k-state.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Facultad de Ingenieria de Sistemas, Universidad Autonoma de Bucaramanga</institution>
          ,
          <addr-line>Calle 48 No 39-234, El Jardin. Bucaramanga, Santander -</addr-line>
          <country country="CO">Colombia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Kansas State University</institution>
          ,
          <addr-line>234 Nichols Hall, Manhattan, Kansas</addr-line>
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <fpage>55</fpage>
      <lpage>66</lpage>
      <abstract>
        <p>Method engineering has widely been proposed as an approach to delivering industrial strength software development processes to spur the adoption of agent-based software in industry. The Foundation for Physical Agents Technical Committee (FIPA-TC) Methodology group is currently attempting to define a template for documenting process fragments. This paper presents our experience in applying the template for the Organization-based Multiagent System Engineering methodology</p>
      </abstract>
      <kwd-group>
        <kwd>agent-oriented software engineering</kwd>
        <kwd>method engineering</kwd>
        <kwd>design process documentation</kwd>
        <kwd>software processes</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Today’s software industry is tasked with building ever more complex software
applications. Businesses today are demanding applications that operate autonomously,
adapt in response to dynamic environments, and interact with other distributed
applications in order to provide wide-ranging solutions [
        <xref ref-type="bibr" rid="ref10 ref8">8,10</xref>
        ]. Multiagent system
(MAS) technology is a promising approach capable of meeting these new demands
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Unfortunately, there is a disconnect between the advanced technology being
created by the multiagent community and its application in industrial software. The
obstacles to industrial adoption have been the focus of several discussions. Jennings,
Sycara, and Wooldrige [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] mention two major obstacles to widespread adoption of
agent technologies in the industry: (1) the lack of complete processes to help
designers to specify, analyze, and design agent-based applications, and (2) the lack of
industrial-strength agent-based toolkits. To overcome this situation, several MAS
researchers and engineers have suggested the use of method engineering [
        <xref ref-type="bibr" rid="ref1 ref11 ref2 ref9">1,2,9,11</xref>
        ].
Method engineering is a discipline in which process engineers construct processes
(i.e., methodologies) from a set of existing method fragments.
      </p>
      <p>
        In a related effort, the Foundation for Physical Agents Technical Committee
(FIPA-TC) Methodology group is currently attempting to define reusable method
fragments from existing agent-oriented processes [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. As part of this effort, the
group is currently defining a Design Process Documentation Template (DPDT)
specification, which uses SPEM 2.0 as its base [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In this paper, we present our
experience of applying the DPDT guidelines for the Organization-based Multiagent
System Engineering (O-MaSE) methodology. After discussing background material
in Section 2, we present a partial definition of O-MaSE following the DPDT in
Section 3 followed by a discussion of our experiences with the template in Section 4.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        Method Engineering is an approach where process engineers construct processes (i.e.,
methodologies) from a set of method fragments as opposed to modifying or tailoring
monolithic, “one-size-fits-all” processes to suit their needs. Method fragments are
generally created by extracting useful tasks and techniques from existing processes
and redefining them in terms of a common metamodel. The fragments are then stored
in a repository for later use. During creation, process engineers select suitable method
fragments from the repository and assemble them into complete processes meeting
project specific requirements [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        The Software and Systems Process Engineering Meta-model (SPEM) is “a process
engineering meta-model as well as conceptual framework, which can provide the
necessary concepts for modeling, documenting, presenting, managing, interchanging,
and enacting developments processes” [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. SPEM distinguishes between reusable
method content and the way it is applied in actual processes. SPEM method content
captures and defines the key Tasks, Roles, and Work Products1 in a software
development processes. Essentially, Tasks are performed by Roles, taking a set of
Work Products as inputs and producing set of Work Products as its output.
      </p>
      <p>Development processes are assembled into a set of Activities, populated with
Tasks and their associated Roles and Work Products. Thus, Activities are aggregates
of either basic content or other Activities. SPEM defines three special types of
Activities: Phases, Iterations and Processes. Phases are special Activities that take a
period of time and end with a major milestone or set of Work Products. Iterations are
Activities that group other Activities that are often repeated. Finally, Processes are
special Activities that specify the structure of a software development project.</p>
      <sec id="sec-2-1">
        <title>2.2 FIPA Design Process Documentation Template Specification</title>
        <p>
          The Design Process Documentation Template specification [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] introduces a set of
guidelines whose goal is the identification of the fundamental concepts in the design
of agent-oriented design processes independent of the notation (text, icons, diagrams,
etc.). This specification follows the situational method engineering approach for
reusing fragments from known methods to obtain custom methods suitable for
specific development situations. For designing agent-oriented processes, the
specification suggests the use of a process documentation template. The template
1 SPEM 2.0 defines as Method Content with Task Uses, Role Uses, and Work Product Uses as
instances of Task Definitions, Role Definitions, and Work Product Definitions in actual
processes. This paper refers to both forms as Tasks, Roles or Work Products.
guides process designers to build processes by documenting three main sections:
Introduction, Phases of the Process, and Work Product Dependencies. The goal of the
Introduction is: (i) to introduce the scope and limits of the process, (ii) organize the
design process phases according to the selected lifecycle and, (iii) to provide a
complete description of the MAS metamodel adopted in the process with the
definition of its composing elements. The aim of the Phases of the Process is to detail
the whole process by decomposing it on the basis of workflows at different levels of
granularity (phase-activity-task). Finally, the Work product dependencies represent
the dependencies between the work products and thus (indirectly) between the
activities that produce them. Finally, the template suggests the adoption of SPEM 2.0
as the standard for modeling some design process aspects.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Applying the DPDT to O-MaSE</title>
      <p>In this section, we present a partial definition of O-MaSE using the DPDT. Due to
page length considerations, we show selected diagrams with abbreviated descriptions.</p>
      <sec id="sec-3-1">
        <title>3.1 Introduction</title>
        <p>
          O-MaSE is a new approach in the analysis and design of agent-based systems, being
designed from the start as a set of method fragments to be used in a method
engineering framework [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. The goal of O-MaSE is to allow designers to create
customized agent-oriented software development processes. O-MaSE consists of three
basic structures: (1) a metamodel, (2) a set of methods fragments, and (3) a set of
guidelines. The O-MaSE metamodel defines the key concepts needed to design and
implement multiagent systems. The method fragments are tasks that are executed to
produce a set of work products, which may include models, documentation, or code.
The guidelines define how the method fragments are related to one another.
        </p>
        <p>
          The aT3 Process Editor (APE) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] supports the creation of custom O-MaSE
compliant processes [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. APE has five key elements: a Method Fragment Library, the
Process Editor, a set of Task Constraints, a Process Consistency checker, and a
Process Management tool. The Library is a repository of O-MaSE method fragments,
which can be extended by APE users. The Process Editor allows users to create and
maintain O-MaSE compliant processes. The Task Constraints view helps process
engineers specify Process Construction Guidelines to constrain how tasks can be
assembled, while the Process Consistency mechanism verifies the consistency of
custom processes against those constraints. Finally, the Process Management tool
provides a way to measure project progress using the custom process.
The O-MaSE Lifecycle. As O-MaSE was designed as a set of fragments to be
assembled by developers to meet their specific requirements, it does not actually
commit to any specific set of phases. This is a major difficulty with trying to map
OMaSE to the DPDT. To alleviate this problem, we assume we are following a
traditional waterfall approach shown in Figure 1. There are three main Phases:
Requirements Analysis, Design, and Implementation, with the main Activities
allocated as expected. When actually using O-MaSE, the process designer must define
their own set of phases and iterations and then assign Activities and Tasks to those
phases and iterations. As this will be unique for each system being developed, there
are no hard and fast rules on what activities should be placed in which phase.
The O-MaSE Metamodel. The O-MaSE metamodel defines the main concepts and
relationships used to define multiagent systems. The O-MaSE metamodel is based on
an organizational approach and includes notions that allow for hierarchical, holonic,
and team-based decomposition of organizations. The O-MaSE metamodel was
derived from the Organization Model for Adaptive Computational Systems
(OMACS). OMACS captures the knowledge required of a system’s organizational
structure and capabilities to allow it to organize and reorganize at runtime [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. The
key decision in OMACS-based systems is which agent to assign to which role in
order to achieve which goal. As shown in Figure 2, an Organization is composed of
six entities: Goals, Roles, Agents, Organizational Agents, a Domain Model, and
Policies, which are defined in Table 1.
Goal
Role
Agent
        </p>
        <sec id="sec-3-1-1">
          <title>Capability Domain model</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>Policy</title>
        </sec>
        <sec id="sec-3-1-3">
          <title>Protocol</title>
        </sec>
        <sec id="sec-3-1-4">
          <title>External actor Plan</title>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Phases</title>
        <sec id="sec-3-2-1">
          <title>Goals are a desirable state; goals capture organizational objectives</title>
          <p>
            Roles capture behavior that achieves a particular goal or set of goals
Agents are autonomous entities that perceive and act upon their
environment; agents play roles in the organization
Capabilities capture soft abilities (algorithms) or hard abilities of agents
Captures the environment including objects and general properties
describing how objects behave and interact
Policies constrain organization behavior often in the form of liveness and
safety properties
Protocols define interaction between agents, roles, or external Actors;
they may be internal or external
External Actors exist outside the system and interact with the system
Plans are abstractions of algorithms used by agents; plans are specified in
terms of actions with the environment and messages in protocols
As a reminder, the phases presented here are not actually part of the O-MaSE
definition, but only included to help define O-MaSE according the DPDT.
Requirements Analysis. In traditional software engineering practice, the requirement
analysis phase attempts to define and validate requirements for a new or modified
software product, taking into account the views of all major stakeholders. A generic
example of an O-MaSE requirements analysis phase is shown in Figure 3.
Process Roles. This phase uses five roles: Requirements Engineer, Goal Modeler,
Domain Modeler, Organization Modeler, and Role Modeler. The Requirements
Engineer captures and validates the requirements of the system. Thus, the person in
this role must be able to think abstractly, work at high-levels of abstraction, and be
able to collaborate with stakeholders, domain modelers, and project managers. The
Goal Modeler is responsible for the generation of the GMoDS goal model. Thus, Goal
Modeler must understand the system description/SRS, be able to interact openly with
various domain experts and customers, and must be proficient in GMoDS AND/OR
Decomposition and ATP Analysis [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]. The Domain Modeler captures the key
concepts and vocabulary in the current and envisioned environment of the system,
helping to further refine and validate requirements. The Organization Modeler is
responsible for documenting the Organization Model. Thus, the Organization Modeler
must understand the system requirements, Goal Model, and the Domain Model and be
skilled in organizational modeling techniques. The Role Modeler creates the Role
Model and the Role Description work products, which requires knowledge of the role
model specification, and a general knowledge of the system.
          </p>
          <p>Activity Details. In the Requirements Analysis phase, there are three activities:
Requirements Gathering, Problem Analysis, and Solution Analysis. Requirements
Gathering is the process of identifying software requirements from a variety of
sources. Typically, requirements are either functional requirements, which define the
functions required by the software, or non-functional requirements, which specify
traits of the software such as performance quality, and usability. Problem Analysis
captures the purpose of the product and documents the environment in which it will
be deployed. O-MaSE captures this information in a Goal Model, which captures the
purpose of the product, and a Domain Model that captures the environment in which
the product exits. Finally, Solution Analysis defines the required system behavior
based on the goal and domain models. The end result is a set of roles and interactions
in the Organization Model.</p>
          <p>Work product kinds. There are six work products produced in the Requirements
Analysis phase: System Description Specification, Goal Model, GModS Model,
Domain Model, Organization Model, and Role Model as defined in Table 2.
Name
System Description
Specification</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Goal Model</title>
        </sec>
        <sec id="sec-3-2-3">
          <title>Organizational Model</title>
        </sec>
        <sec id="sec-3-2-4">
          <title>Role Model</title>
          <p>Architecture</p>
          <p>Design
Model Agent Model</p>
          <p>Classes Protocols</p>
          <p>Model</p>
          <p>Policies
Agent Class Protocol</p>
          <p>Model Model</p>
          <p>Policy</p>
          <p>Model
Agent Class Protocol</p>
          <p>Modeler Modeler</p>
          <p>Policy
Modeler</p>
          <p>Low-level</p>
          <p>Design</p>
          <p>Model Model
Capabilities Plans</p>
          <p>Model</p>
          <p>Actions
Capability</p>
          <p>Model</p>
          <p>Plan
Model</p>
          <p>Action</p>
          <p>Model
Capability Plan Action</p>
          <p>Modeler Modeler Modeler
Design. The design phase consists of two activities: Architecture Design and Low
Level Design. Once the goals, the environment, the behavior, and interactions of the
system are known, Architecture Design is used to create a high-level description of
the main system components and their interactions. This high-level description is then
used to drive Low Level Design, where the detailed specification of the internal agent
behavior is defined. This low-level specification is then used to implement the
individual agents during the Implementation phase (see Figure 4).</p>
          <p>Process Roles. There are six roles in the design phase: Agent Class Modeler, Protocol
Modeler, Policy Modeler, Capability Modeler, Plan Modeler, and Action Modeler.
The Agent Class Modeler is responsible for creating the Agent Class Model and
requires general modeling skills and knowledge of the O-MaSE Agent Class Model
specification. The Protocol Modeler designs the protocols required between agents,
roles, and external actors and requires protocol modeling skills. The Policy Modeler is
responsible for designing the policies that govern the organization. The Capability
Modeler is responsible for defining the Capability Model and requires modeling skills
and O-MaSE Capability Model specification knowledge. The Plan Modeler designs
the plans necessary to play a role; required skills include understanding of Finite State
Automata and O-MaSE Plan Model specification knowledge. Finally, the Action
Modeler documents the Action Model, which requires the ability to specify
appropriate pre- and post-conditions for capability actions.
Activity Details. In the Architecture Design we focus on documenting the different
agents, protocols, and policies using three tasks: Model Agent Classes, Model
Protocols, and Model Policies. The Model Agent Classes task identifies the types of
agents that may participate in the organization. Agent classes may be defined to play
specific roles, or they may be defined in terms of capabilities, which implicitly define
the types of roles that may be played. The Model Protocols task defines the details of
the interactions between agents or roles. The Protocol Model produced defines the
types of messages sent between the two entities. Finally, the Model Policies task
defines a set of formally specified rules that describe how an organization may or may
not behave in particular situations. During the organization design, the Policy
Modeler captures the desired system properties and documents them in a formal or
informal notation.
Name
Agent Class
Model
Protocol Model
Policy Model
Capability Model</p>
        </sec>
        <sec id="sec-3-2-5">
          <title>Plan Model</title>
        </sec>
        <sec id="sec-3-2-6">
          <title>Action Model</title>
          <p>In the Low-level design we focus on the capabilities possessed by, actions
performed by, and plans followed by agents. The Model Capabilities task defines the
internal structure of the capabilities possessed by agents in the organization, which
may be modeled as an Action or a Plan. An action is an atomic functionality
possessed by an Agent and defined using the Model Actions task. A plan is an
algorithmic definition of a capability and is defined using the Model Plans task. The
Model Plans task captures how an agent can achieve a specific type of goal using a
set of actions specified as a Plan Model (a Finite State Machine). Finally, the Model
Actions task defines the low-level actions used by agents to perform plans and achieve
goals. Actions are typically defined as a function with a signature and a set of pre and
post-conditions. In some cases, actions may be modeled by providing detailed
algorithmic information. Figure 5 shows the relationship between some work products
(i.e., Goal Model, Role Model, Agent Class Model, Capability Model, Plan Model,
and Action Model) and the entities used to design a typical system. Notice for
instance, that the Goal Model defines goals; the Capability Model defines capabilities,
while the Role Model uses those goals and capabilities to define roles and protocols in
the Role Model. Likewise, the Plan Model defines plans in terms of actions defined
by the Action Model.</p>
          <p>Work product kinds. There are six work products produced in the Design phase:
Agent Class Model, Protocol Model, Policy model, Capability Model, Plan Model,
and Action Model as defined in Table 3.</p>
          <p>Implementation. Finally, the design is translated to code. The purpose of this phase
is to take all the design models created during the design and convert them into code
that correctly implements the models. Obviously, there are numerous approaches to
code generation based on the runtime platform and implementation language chosen.
In this phase there is a single Role, the Programmer who is responsible for writing
code based on the various models produced during the Design phase. The output of
the Generate Code task is the source code of the application. While not currently
covered in the process, system creation ends with testing, evaluation, and deployment
of the systems.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Workproduct Dependencies</title>
        <p>
          Table 4 shows the dependencies between the different work products in O-MaSE.
These dependencies characterize different pieces of information or physical entities
produced during the different stages of the development process and serve as inputs to
and outputs of work units (i.e., either activities or tasks). Also, each work product is
specified in terms of the kind of model/information/data documented. For instance, a
structural work product is used to model static aspects of the system. In turn, a
behavioral work product is used to model dynamic aspects of the system. Finally, a
composite work product is used to model both static and dynamic aspects of the
system (for further details on the different work product kind’s see [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]). Figure 6
presents the dependencies between the various O-MaSE work products.
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>4 Conclusions and Future Work</title>
        <p>In this paper, we presented a part of the O-MaSE documentation produced by
following the DPDT specification. To be able to fit into the DPDT template, we had
to select an example set of phases, which we did base on a simple waterfall approach.
Then, we proceeded to document the different phases of our simple process in terms
of the different activities, tasks, roles, and work products.</p>
        <p>Based on our experience, we do not believe that requiring the process to be defined
in terms of phases is necessarily the best approach. While we were able to use a
simple waterfall model and describe our activities and tasks as if they were all be used
in a straightforward, sequential manner, this might not always be the case.
Specifically, it is unclear how to document activities and tasks that might take
differing approaches and thus would likely be incompatible within the same process.
In addition, forcing O-MaSE into any predefined set of phases masks the flexibility of
the general approach proposed in O-MaSE.</p>
        <p>We also believe it to be the case that the DPDT was defined assuming that
fragments would be defined at the Activity level. However, when we create custom
O-MaSE compliant processes, we generally use fragments at the Task level. Since
Tasks are broken down only within an Activity and exist as rows in a table, there is
not a natural mechanism for referring to them other than to call them by name and
refer to the Activity in which they are defined. This breakdown also makes it difficult
to document tasks that can be used in more than one Activity. For example, we have a
Model Protocols task that is nominally defined in the Architecture Design activity.
However, we can also model protocols within the Solution Analysis activity as well.
Actually, you can Model Protocols in five ways: between organizations and external
actors, between external actors and roles, between external actors and agents, between
roles and roles, and between agents. We could make five copies of the Model
Protocols task and specify the Work Product inputs slightly differently in each case;
however, this seems redundant. In our original O-MaSE definition, we have one task
called Model Protocols that has several optional Work Product inputs.</p>
        <p>Although we believe the DPDT specification is headed in the right direction by
supporting the construction of custom agent-based processes, there is considerable
work to do before the DPDT will make an impact on industrial acceptance. While the
DPDT will allow fragments to be documented in a common format, this is not useful
unless tools for creating, maintaining, and transforming fragments are developed.
While APE is an initial step in this direction, additional effort should be pursued to
further support industrial acceptance.</p>
        <p>Specifically, taking the DPDT as a starting point, research should be performed to
extend this work to (i) develop qualitative and quantitative methods for helping
process designers in creating custom processes based on the functional,
nonfunctional, and general architectures of new systems; (ii) formalize process guidelines
in order to avoid ambiguities between the metamodel and the method fragments used
to assembly agent-oriented applications, (iii) provide a set of guidelines on how to
integrate different agent-oriented metamodels.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Brinkkemper</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Method engineering: engineering of information systems development methods and tools</article-title>
          .
          <source>Information and Software Technology</source>
          .
          <volume>38</volume>
          (
          <issue>4</issue>
          )
          <year>1996</year>
          , pp
          <fpage>275</fpage>
          -
          <lpage>280</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <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>
          .
          <source>Intl Jnl of Agent-Oriented Software Engineering</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ),
          <fpage>91</fpage>
          -
          <lpage>121</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>DeLoach</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oyenan</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matson</surname>
            ,
            <given-names>E.T.</given-names>
          </string-name>
          <article-title>A capabilities based model for artificial organizations</article-title>
          .
          <source>Autonomous Agents and Multiagent Systems</source>
          .
          <volume>16</volume>
          (
          <issue>1</issue>
          ),
          <fpage>13</fpage>
          -
          <lpage>56</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>DeLoach</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>A Goal Model for Adaptive Complex Systems</article-title>
          .
          <source>International Journal of Computational Intelligence: Theory and Practice</source>
          . Volume
          <volume>5</volume>
          , no.
          <issue>2</issue>
          ,
          <year>2010</year>
          . (in press).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>FIPA</given-names>
            <surname>Design</surname>
          </string-name>
          <article-title>Process Documentation</article-title>
          and Fragmentation Working Group. Design Process Documentation Template (
          <volume>08</volume>
          -
          <fpage>06</fpage>
          -
          <year>2010</year>
          ). http://www.pa.icar.cnr.it/cossentino/fipa-dpdf-wg/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Garcia-Ojeda</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>DeLoach</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          <string-name>
            <surname>Robby</surname>
          </string-name>
          .
          <article-title>agentTool process editor: supporting the design of tailored agent-based processes</article-title>
          .
          <source>In Proc. of the 2009 ACM Symp on Applied Computing</source>
          , ACM: New York,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Garcia-Ojeda</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>DeLoach</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robby</surname>
            , Oyenan,
            <given-names>W.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valenzuela</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>O-MaSE: a customizable approach to developing multiagent development processes</article-title>
          . In M. Luck (ed.),
          <source>Agent-Oriented Software Engineering VIII: The 8th Intl Workshop on Agent Oriented Software Engineering (AOSE</source>
          <year>2007</year>
          ),
          <source>LNCS 4951</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          , Springer: Berlin.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Jennings</surname>
            ,
            <given-names>N. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sycara</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wooldridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>A roadmap of agent research and development</article-title>
          .
          <source>Autonomous Agents and Multi-Agent Systems</source>
          <volume>1</volume>
          (
          <issue>1</issue>
          )
          <fpage>7</fpage>
          -
          <lpage>38</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Low</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beydoun</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Perez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Towards method engineering for multi-agent systems: a validation of a generic MAS metamodel</article-title>
          .
          <source>In 10th Pacific Rim Intl Conf on Multi-Agent Systems, PRIMA</source>
          <year>2007</year>
          , Bangkok, Nov 21-
          <issue>23</issue>
          ,
          <year>2007</year>
          . A.
          <string-name>
            <surname>Ghose</surname>
          </string-name>
          , G. Governatori, R. Sadananda, Eds.
          <source>LNAI 5044</source>
          . Springer: Berlin,
          <fpage>255</fpage>
          -
          <lpage>267</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Luck</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>McBurney</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Shehory</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Willmott</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Agent technology: a roadmap for agent based computing</article-title>
          .
          <source>AgentLink</source>
          , Southampton, UK,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Molesini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Denti</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardini</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Omicini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Situated process engineering for integrating processes from methodologies to infrastructures</article-title>
          .
          <source>In Proc. of the 2009 ACM Symposium on Applied Computing</source>
          , ACM: New York,
          <fpage>699</fpage>
          -
          <lpage>706</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>OMG</surname>
          </string-name>
          (
          <year>2008</year>
          )
          <article-title>“Software &amp; Systems Process Engineering Meta-Model Specification”</article-title>
          ,
          <year>v2</year>
          .
          <fpage>0</fpage>
          . Formal/2008-04-01, http://www.omg.org/docs/formal/08-04-01.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Seidita</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cossentino</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gaglio</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A repository of fragments for agent systems design</article-title>
          .
          <source>In Proc. of the 7th Workshop</source>
          from Objects to Agents (WOA
          <year>2006</year>
          ), Catania, Italy, pp.
          <fpage>130</fpage>
          -
          <lpage>137</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>