<!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>An Agent-Oriented Software Engineering Methodology with Application of Information Gathering Systems for LCC</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tiemei Irene Zhang</string-name>
          <email>Irene.Zhang@infotech.monash.edu.au</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elizabeth Kendall</string-name>
          <email>Kendall@infotech.monash.edu.au</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Harvey Jiang</string-name>
          <email>harveyj@oopl.com.au</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Information Technology, Monash University</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>McMahons Rd.</institution>
          ,
          <addr-line>Frankston, VIC. 3199</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Melbourne VIC.</institution>
          <addr-line>3004</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Object Oriented Pty. Ltd.</institution>
          ,
          <addr-line>Level 11, 484 St. Kilda Rd</addr-line>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>School of Network Computing, Monash University</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Life Cycle Cost (LCC) is a very important issue for organizations, which determines the success of their businesses. However, information gathering from a highly distributed heterogeneous environment with a huge number of information sources is an obstacle to the use of the existing LCC models. To overcome this obstacle, we took an agent-based information gathering system as a solution. In order to develop an agent-based system in a systematic way, we established a methodology of agent-oriented system engineering. Therefore, the system development follows a step by step process from the stage of system requirement to implementation. This paper presents this methodology and illustrates the processes of system analysis , design, and implementation by apply ing this methodology to information gathering for the CASA (Cost Analysis Strategy Assessment) model. The experimental results show that the agent technology is useful and beneficial for LCC information gathering.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        As cost is a key factor to determining the success of a product [
        <xref ref-type="bibr" rid="ref5">6</xref>
        ], manufacturers
attempt to reduce costs during every phase of the product’s life cycle [
        <xref ref-type="bibr" rid="ref15">16</xref>
        ]. They use
life cycle cost (LCC) models [
        <xref ref-type="bibr" rid="ref22">23</xref>
        ] to estimate the life cycle costs of their products b
efore making decisions. A typical model is CASA that is used in many organizations,
such as the U.S. Department of Defense. The CASA model covers the entire life of a
product and employs some 82 algorithms with 190 variables. Similar to the other LCC
models, CASA requires extensive information, manually gathered from different data
sources in a highly distributed and heterogeneous environment. however, this
approach cannot deal with the need to respond to global economic compet ition, because
this environment involves unpredictable changes and uncertainty. Further, the
Internet is changing today’s business environment, and this also has a large impact on the
pro blem .
      </p>
      <p>
        Having reviewed the available literature, we determined that an agent-based
information gathering system can potentially solve our problem. This is because an agent
is autonomous, social, reactive and proactive [
        <xref ref-type="bibr" rid="ref25">26</xref>
        ], and it can also model policies and
proactive behaviours [
        <xref ref-type="bibr" rid="ref11">12</xref>
        ]. In other words, agents provide high level communication
and interaction, which can perceive the situation of the environment and respond
appropriately. Agents are different from objects, which are static and cannot change
with the environment. For example, to gather information, an agent will first search its
own knowledge base. If the information is not available, it will be able to interact with
the other agents. An agent stores the info rmation in its knowledge base once it finds
it. If there are multiple data sources, an agent will be able to gat her information in an
efficient manner. In contrast, it involves considerable difficulty and complexity to
realize the above scenario with object technology. So agent technology provides
perceived advantages over objects for solving our problem.
      </p>
      <p>
        This paper aims to develop an agent -based system to gather information for the
CASA model. It establishes a methodology for analyzing and designing agents, and
then applies it to the CASA model [
        <xref ref-type="bibr" rid="ref16">17</xref>
        ]. We propose a conceptual model that takes
Infosleuth [
        <xref ref-type="bibr" rid="ref18">19</xref>
        ] as a reference and also we use the BDI (Belief, Desire, and Intension)
[
        <xref ref-type="bibr" rid="ref19">20</xref>
        ] agent as the agent architecture in our sys tem.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2 Literature Review</title>
      <p>
        A number of methodologies have been reported to address agent-oriented software
engineering [
        <xref ref-type="bibr" rid="ref23">24</xref>
        ]. Wooldridge, Je nnings and Kinny [
        <xref ref-type="bibr" rid="ref26 ref27">27, 28</xref>
        ] present the Gaia
methodology for agent-oriented analysis and design. Gaia is a general methodology that su
pports both the micro-level (agent structure) and macro -level (agent society and organ
ization structure) of agent development. It requires that the inter-agent relatio nships
(organization) and agent abilities are known at run-time. Gaia includes analysis and
design processes. Gaia’s analysis process can find the roles in the system, and then it
models interactions between the roles that have been found. The design pro cess
maps roles into agent types, and then creates the right number of agent instances of
each type. Next, Gaia can be employed to determine the services needed to fulfill a role
in one or several agents, and to the final step involves creating acquaintance mo dels
for the representation of communication between the agents. The Gaia methodo logy
emphasizes a few models that can be utilised to form the whole system. It d escribes
what these models are, but the processes used to develop these models are vague. In
Gaia a role is viewed to be one of the roles in an organization, and role identification
itself is ad hoc.
      </p>
      <p>
        Wood and DeLoach [
        <xref ref-type="bibr" rid="ref24 ref4">5, 25</xref>
        ] suggest the Multiagent Systems Engineering Metho
dology (MaSE). Simila r to Gaia, MaSE respects to generality and the application domain
supported, but in addition, MaSE goes further regarding support for automatic code
creation. It includes seven sections of capturing goals, applying use cases, refining
roles, creating agent classes, constructing conversations, assembling agent classes,
and system design. The identified roles are driven by the capturing goals. The goal of
MaSE is to lead the designer from the initial system specification to the implemented
agent system. Domain restrictions of MaSE are similar to those of Gaia’s, but in add
ition it requires that agent-interactions are one to one and not multicast
      </p>
      <p>
        MAS-CommonKADS [
        <xref ref-type="bibr" rid="ref8">9</xref>
        ] is extends CommonKADS [
        <xref ref-type="bibr" rid="ref20">21</xref>
        ] for multi-agent systems. It
starts with a conceptualization phas e that is an informal phase for collecting the user
requirements. This methodology defines the models for the analysis and design of the
system, which includes the following models: agent, task, expertise, coordination,
organization, communication, and design. Although MAS-Common KADS employs
the notion of an agent's role, it does not formally define what this means. Also, the
concepts of role and class are used interchangeably [
        <xref ref-type="bibr" rid="ref12">13</xref>
        ] as the roles that used to an
alyze and design agents actually are the attributes of an agent class. The distinction is
important; a class stipulates the capabilities of an individual object, while a role
focuses on the position and responsibilities of an entity in an overall structure or sy s
tem. In particular, MAS-CommonKADS states that a CRC card describes an agent's
class.
      </p>
      <p>Although the above methodologies use the concept of a role to design agents, no
formal techniques/representations, such as role models (role patterns), are used to
identify roles. This may lead to inapp ropriate behavior to appear in the agents (to
which roles are mapped) because roles must be clear and unambig uous to provide
detailed descriptions. This paper describes a methodology for desig ning agents that
is based on the use of role models.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Methodology</title>
      <sec id="sec-3-1">
        <title>3.1 Overview</title>
        <p>
          Object-oriented (OO) methodology with use cases has been widely used in software
development, and use case analysis has proved to be useful and successful for
requirement specification and analysis of OO systems. It is useful to investigate the use
of OO methodologies in agent-oriented software engineering. However, an agent is
autonomous, social, reactive and proactive [
          <xref ref-type="bibr" rid="ref25">26</xref>
          ], while an object does not possess
these cha racteristics. Therefore, we cannot directly apply the OO methodology to
agent-oriented software engineering. Current research in role models shows promising
results for software agent analysis and design [
          <xref ref-type="bibr" rid="ref14">15</xref>
          ]. Therefore, our methodology
combines these two approaches to develop an agent-based information gathering sy stem
for product life cycle cost estimation.
        </p>
        <p>
          To describe interactions between activities, an ICOM (input, control, output and
mechanism) presentation (as shown in Figure 1) is used to clarify constrain ts and
resources pertaining to an activity. This notation is adopted from the functional model
of IDEF [
          <xref ref-type="bibr" rid="ref1 ref2">2, 3</xref>
          ] that has widely been used for modeling manufacturing process.
        </p>
        <p>I n p u t</p>
        <p>A c t i v i t y
M e c h a n i s m</p>
        <p>C o n t r o l</p>
        <p>O u t p u t</p>
        <p>We apply the ICOM representation to depict the processes involved in our
methodology, as shown in Figure 2.</p>
        <p>Identify</p>
        <p>Actors
Requirements</p>
        <p>Identify</p>
        <p>Use Cases</p>
        <sec id="sec-3-1-1">
          <title>Conceptual Model Identify</title>
          <p>Composite</p>
          <p>Roles</p>
          <p>Agent
Analysis and</p>
          <p>Design
Role Patterns
Identify
Objects
Identify
Roles
Role Patterns
Identify
Goals</p>
          <p>Determine
Business Objects
Refine
Assign Goals</p>
          <p>to
Responsibilitie</p>
          <p>s
RRC Cards</p>
          <p>Develop Goal</p>
          <p>Cases and
Identify Beliefs</p>
          <p>Object Specification
Agent Specification
Assign
and
Compose</p>
          <p>Roles
Role Composition</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Object-Oriented Analysis</title>
        <p>
          The object-oriented analysis depicted in Figure 2 consists of four activities: “Ide ntify
Actors”, “Ident ify Use Cases”, “Identify Objects” and “Determine Business O bjects”.
These four activit ies use the traditional methods developed by [
          <xref ref-type="bibr" rid="ref9">10</xref>
          ] to identify actors,
use cases, and objects. Note that a n actor is a user who interacts with a sy stem or an
external s ystem. A use case can be defined as a specific way of using the system by
performing some part of the functionality, and it includes preconditions, flow of
events, and post conditions. A use case model is closest to the requirements, and
with the least a mount of detail [
          <xref ref-type="bibr" rid="ref10">11</xref>
          ]. Therefore, most business objects required by the
sys tem can be identified from the output of the “Identify Use Case” activity.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Goal Identification</title>
        <p>
          The identified use cases are fed to the activity “Identify Goals” in Figure 2 for
capturing goals . A goal is an objective or a desired state that can be achieved or ascertained
by an agent. A goal identifies what is to be done , and it should change less often than
more detailed processes/activities. This is because a process or ac tivity identifies how
things are to be done . Goals are important to agent-based systems because agents are
autonomous and proactive. Agents achieve goals on the behalf of users through their
autonomous and proactive behavior. To identify goals from the use cases, we should
[
          <xref ref-type="bibr" rid="ref13">14</xref>
          ]:
•
•
•
•
•
•
•
        </p>
        <p>Identify the most top goal;
Decompose it to the sub goals necessary to fulfill the top goal;
Place the first set of sub goals as the first level goals ;
Identify the next level of goals in a similar mode;
Place them as the second level goals ;
Derive all the goals in an iterative form;</p>
        <p>Stop when a goal cannot be structurally or temporally decomposed.</p>
        <p>The result of goal identification is a goal hierarchy diagram where each level of
goals fulfils the goal on the level above. The identification of goals is an iterative
process because additional details may be uncovered and duplicated/unnecessary
items may be deleted, modified, or combined.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4 Goal Case Development and Belief Identification</title>
        <p>Having identified goals, we next define a collection of scenarios about the agent’s
interactions in terms of the corresponding goals. Each scenario is called a goal-based
use case (in short, a goal case). This scenario describes a sequence of plans that ha
ndle events that the agent init iates. An agent can start a goal case when the
corresponding goal is triggered. The use of goal cases also helps with traceability because
they are developed according to goals that link to the system requirements. To spe
cify the goal cases, the followin g steps are taken:
•
•
•
•
•</p>
        <p>Determine if the goal case is a reaction to an event or an outcome to be
achieved.</p>
        <p>Determine what triggers the goal case.</p>
        <p>Elaborate the context condition of the goal case.</p>
        <p>Determine the activities that have to be carried out for the goal case to be
satisfied</p>
        <p>Describe the conditions on the transitions.
•
•</p>
        <p>Determine the input data and output results.</p>
        <p>Determine the performance measures that need to be collected.</p>
        <p>Goal cases are the core of agent specification. Once goal cases are developed, we
can assign them to agents according to the goals that each agent has. In our system,
the beliefs are the knowledge that agents have. When an agent wants to achieve a
goal and carry out a set of goal cases, the agent should have the knowledge to su
pport its actions or evaluate the results. For example, the costing formulas are the
beliefs of the agent who does the cost estimation . The beliefs can be identified and
extracted from the goal cases in terms of the knowledge and expertise that are the basis
for performing some activities.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5 Role Identification</title>
        <p>
          The activity “Identify Roles” in Figure 2 occurs after “Identify Use Cases”. Here a role
involves a set of activities which, taken together, carry out a particular responsibility
or set of responsibilities. A role has the resources that are necessary for it to do its
activities. Those resources might reside permanently with the role or be passed to it.
Role names should be verbs in the gerund form. Roles can be identified from the
relevant role models, where role models are patterns of interaction and collaboration.
Many role models may appear in a given agent application. Because they are patterns,
they can be used during analysis and design as conceptual and analytical mo dels.
The activity of identify ing roles from the use cases is to [
          <xref ref-type="bibr" rid="ref14">15</xref>
          ]:
•
•
•
        </p>
        <p>Examine role patterns from the existing role patterns literature and docume
ntation. Relevant role patterns can be used to identify or recognize types of
interaction and collaboration.</p>
        <p>Partition goals to form roles if there are no relevant role patterns that the goal
can be assigned to. This includes extracting the goals in a generic way and
taking these as the responsibilities of the role. Also, the other roles that
collaborate with this role can be taken as collaborators . (In the next section, we
describe the relationships a role can have, along with responsibilit ies and co
llaborators .</p>
        <p>Determine all roles for the identified interactions and collaborations.</p>
        <p>
          To document role models of agent sys tems, one important method is to use role
responsibility and collaborations (RRC) [
          <xref ref-type="bibr" rid="ref12">13</xref>
          ] cards (refer to Table 1). These are used to
specify responsibilities and collaborations of roles, especially in the early phase of
agent-oriented software develo pment.
After identifying RRC cards, we should assign goals as responsibilities of roles by
carrying out the activity “Assign Goals to Responsibilities”. This assignment starts at
the bottom of the goal hierarchy diagram. During this activity, a role is assigned goals
that are related to its responsibilities. Once the goals are assigned to responsibilities,
collaboration between the roles should be indicated. A RGC (Responsibility, Goal,
Collaborator) card, as shown in Table 2, is used to document relationships between
responsibilities, goals and collaborators for a role.
        </p>
      </sec>
      <sec id="sec-3-6">
        <title>Role</title>
      </sec>
      <sec id="sec-3-7">
        <title>Responsibilities</title>
        <p>List of responsibilities</p>
      </sec>
      <sec id="sec-3-8">
        <title>3.7 Assigning and Composing Roles</title>
        <p>To design agents, we have to assign and compose the roles identified according to the
process in §3.5. When the roles are assigned and composed, their goals and collab
orators are allocated to th e agents . Note that goals and collaborators are obtained from
the RGC card shown in Table 2 whilst the goal cases and the beliefs have been deve
loped for each goal. The designated agents will carry out the roles in order to achieve
the goals. All of the agents’ actions are based on beliefs and are according to the
goal cases. To assign and compose roles for an agent, we should:
• Assign and compose roles for agent design;
• Assign roles to agents with design quality in mind, where cohesion, low co
upling, and minimum need for communication are essential;
• The goals form the expertise for the agents. Splitting and merging may be
required.</p>
        <p>
          The output of this activity is a GCB (Goals, Goal Cases, Collaborators, and Beliefs)
card (refer to Table 3) that is used to document agents . This card can directly be taken
to the implementation stage s .
Before proceeding, we present a conceptual model for an agent -based system that
focuses entirely on business problems [
          <xref ref-type="bibr" rid="ref6">7</xref>
          ]. Taking the InfoSleuth architecture [
          <xref ref-type="bibr" rid="ref18">19</xref>
          ] as a
        </p>
      </sec>
      <sec id="sec-3-9">
        <title>Agent Name:</title>
      </sec>
      <sec id="sec-3-10">
        <title>Goal</title>
        <p>List all goals</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Agent Analysis</title>
      <sec id="sec-4-1">
        <title>Goal Case</title>
        <p>List all goal cases</p>
      </sec>
      <sec id="sec-4-2">
        <title>Collaborator</title>
        <p>List all collaborators</p>
      </sec>
      <sec id="sec-4-3">
        <title>Belief</title>
        <p>List all beliefs
reference, our model consists of six different layers that make the system more
compartmentalized and modularized. Each layer provides a level of abstraction and ce rtain
services to the layer above it, while hiding the implementation of its services from the
higher layer. Also, each layer passes both data and control information to its
corresponding neighbors. Figure 3 depicts such a model for gathering inform ation for a life
cycle model.</p>
        <p>r
e
y
a
L
n
o
ti
a
c
it</p>
        <p>This conceptual model covers many areas. First, an organization requires the
ability to accurately identify a user who is making requests. In our system, the user’s
identity is verified by checking a password typed in during login. The process that
verifies and records the user’s identity is called authentication. This process is d
esigned to employ an access-control-list that contains a single entry that is authorized
to grant capabilities for other layers. In actuality, agents in every layer in an
agentbased information gathering system have to get security clearance from the
authentication layer before they can request services.</p>
        <p>The ontology layer collectively maintains a knowledge base of the different term
inology and concepts that are employed over the whole organization. This layer thus
describes the language that will be used for specifying and translating requests for
info rmation.</p>
        <p>The interface layer is used to predict the user’s intentions and to request services
that are provided by the remaining modules. This layer acts on behalf of users to relay
specifications and obtain results. The broker layer models and delegates the services
of the overall organization and then provides them to users via the interface layer. The
service layer is used to provide services, which differs from the organizational layer
that controls resources. The service layer represents and provides the high level
services that can be formed by encoding expertise and by utilizing the organizational
layer. The organizational layer can be used to manage the organizational resources.
Its main task is to gather data from the various sources.</p>
        <p>We then need to examine role models to determine their relevance and applicability
to the conceptual model. We concentrate on the organizational layer here, and these
roles, which we term organizational roles, are responsible for controlling resources.</p>
      </sec>
      <sec id="sec-4-4">
        <title>Organization Role</title>
      </sec>
      <sec id="sec-4-5">
        <title>Role type</title>
        <p>Manager
(Manager)
Slave (Mas
ter/Slave)</p>
        <sec id="sec-4-5-1">
          <title>Client (Bodyguard)</title>
        </sec>
        <sec id="sec-4-5-2">
          <title>Subject (Bod yguard) Client (Adapter)</title>
        </sec>
        <sec id="sec-4-5-3">
          <title>Target (Adapter)</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Agent Design</title>
      <p>
        We considered the following role models: Master/Slave [1], Manager [
        <xref ref-type="bibr" rid="ref21">22</xref>
        ], Bodyguard
[
        <xref ref-type="bibr" rid="ref17">18</xref>
        ], and Adapter [
        <xref ref-type="bibr" rid="ref7">8</xref>
        ]. An organizational role can be another form of an Adapter, as it
can reformulate requests to the different databases. However, the organizational role
is also responsible for database activation and the supervision of any security
restrictions. The activation behavior resembles that of a Manager, while the security supe
rvision facets of this role resemble those found in the Bodyguard role model. When an
organizational role acts as a Bodyguard or an Adapter, the database is the Target and
the Subject. These roles are summarized in Table 4 [
        <xref ref-type="bibr" rid="ref28">29</xref>
        ].
      </p>
      <p>The roles in the other layers can be identified in a similar manner. However, in t he
following sections, we will only illustrate the application of our methodology for the
organizational layer.</p>
      <sec id="sec-5-1">
        <title>5.1 Basic Requirements of the CASA Model</title>
        <p>The CASA model estimates costs throughout all life cycle phases , including
maintenance. The maintenance of a product involves plans, labor, equipment, material, spare
parts, transportation, recurring facilities, recurring item management, software maint
enance, contractor services and engineering changes . The relevant information is
stored in organization databases. To estimate life cycle costs with the CASA model,
this information must be gathered. We will focus on cost estimation for maintenance
and give a brief description for a use case as below:
The user formulates a request for maintaining a product. When receiving the request,
the maintainer will ask a planner for a maintenance plan, including schedules and a
ctions. He/she then asks an estimator to estimate costs for all components of the
product. To estimate costs, the estimator will gather the information required by the
CASA model from organizational databases. This information is related toplans, labor,
equipment, material, spare parts, and management, such as transportation, recurring
facilities, recurring item management, software maintenance, contractor services and
engineering changes. Particularly, if spare part information is not available in the
organizational databases, the estimator will ask suppliers to provide it.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2 Goals, Goal Cases, and Beliefs.</title>
        <p>We can identify the goals for information gathering from section 5.1. Figure 4 shows a
goal diagram that represents the goals of the system in hierarchical structure.</p>
        <p>Obtain
Information</p>
        <p>Obtain
Maintenance</p>
        <p>Information
Obtain
Product</p>
        <p>Obtain Plan
Requirements</p>
        <p>Obtain
Labor</p>
        <p>Obtain
Equipment</p>
        <p>Obtain
Material</p>
        <p>Obtain
Management</p>
        <p>There are three levels in this figure. The top level contains “Obtain Information”
that is a general goal for obtaining information. The second level is “Obtain Maint
enance information”, and this is a goal for obtaining information required for maint
enance cost estimation. There are six goals in the third level. These goals can be used
to search inform ation specific to the CASA model.</p>
        <p>To illustrate how to develop a goal case, consider the “Obtain Material” goal as an
example. As we know, material information can be obtained from three data sources:
organizational databases, suppliers’ catalogues and user experiences. Therefore, the
“Obtain Material” goal can be achieved by using a goal case described below:</p>
      </sec>
      <sec id="sec-5-3">
        <title>Obtain Material goal case (GC1)</title>
      </sec>
      <sec id="sec-5-4">
        <title>Pre -condition:</title>
        <p>The product information is available</p>
      </sec>
      <sec id="sec-5-5">
        <title>Flow of events</title>
        <p>Basic paths:
1. The goal case starts when the agent is requested to achieve the “Obtain Mat
erial” goal.
2. The agent attempts to achieve the “Manage Material” goal for information from
an organizational database.
3. If it cannot find data from organizational database, the agent attempts to achieve
the “Manage Supplier” goal.
4. If it cannot find data from suppliers or any error occurs, the agent asks user to
enter data by posting the “Manager Manual Entry” goal.</p>
        <p>5. The agent replies to the requested agent with the material data.</p>
      </sec>
      <sec id="sec-5-6">
        <title>Post-condition:</title>
        <p>The agent stores the material information.</p>
        <p>We can identify the belief “Material” from this goal case, which is the knowledge
used to describe or present the material information.</p>
      </sec>
      <sec id="sec-5-7">
        <title>5.3 Roles and Goal Assignment</title>
        <p>The organizational roles in Table 4 are responsible for gathering information that is
needed by algorithms in the CASA model. This information includes the product to be
maintained, the plan and requirements to be implemented, labor and equipment to be
used, materials to be consumed and spare parts that need to be purchased from su
ppliers. In addition, CASA also requires management information involving transport
ation, recurring facilities, recurring item management, software maintenance, contractor
services and engineering changes . Therefore, it is practical that each individual agent
that is assigned a role is responsible for gathering information in its sp ecialized field.
A s a result, the organizational roles can be instantiated in our application as shown as
in Table 5. After that we assign the goals to roles by using RRC cards. However, this
procedure is not discussed in this paper.</p>
      </sec>
      <sec id="sec-5-8">
        <title>5.4 Agent S pecification</title>
        <p>According to Table 5 and the goals that we have identified, we assign and compose
roles to agents, as shown as in Table 6. It is worth mentioning that this approach
allows organizations to create their new assignments when organizational changes
occur.</p>
      </sec>
      <sec id="sec-5-9">
        <title>Composite</title>
      </sec>
      <sec id="sec-5-10">
        <title>Roles</title>
        <p>Organizational
Role</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6 Experimental Evaluation</title>
      <p>
        To realize our system, we used the JACK framework [
        <xref ref-type="bibr" rid="ref3">4</xref>
        ] that provides four main
classlevel constructs: Agent, Database, Event, and Plan for a BDI agent. Note that the
Agent construct includes what type of messages and events an agent responds to,
and which plan it uses to achieve its goals. It not only has methods and data members
just like objects, but it also contains database relations that an agent can use to store
beliefs, descriptions of events that the agent can handle, and plans that the agent uses
to handle the events. Table 8 shows rules that can be used to map a GCB card to
JACK constructs
      </p>
      <p>By applying the above mapping, we have implemented our agents to gather info
rmation for the CASA model. Figure 5 shows a screen shot from our system that is able
to estimate a life cycle cost for a computer system.</p>
      <p>In this figure, the left side pane shows a tree structure that represents the product
of computer system in the form of assembly. For estimating cost for the whole pro duct
or a subsystem, just click the manual. The right side pane lists the results, which d
escribes the event, plan and agent tasks in time order.</p>
    </sec>
    <sec id="sec-7">
      <title>7 Summary</title>
      <p>In this paper, we have presented a methodology of AOSE for identification of goals
and goal cases based on an organizational view and roles. We have applied this met
hodology to an information gathering system for LCC. This methodology is a syste
matic approach that uses goals and roles. It generates results from the initial system
requirement to the implemented agent-based system. Furthermore, this methodology
can be applied to other agent-based information sys tems.
[1] Aridor, Y., and Lange, D.B.: Agent Design Patters: Elements of Agent Application Design.</p>
      <p>Autonomous Agents (Agents’98), Minneapolis, (1998), 108-115</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Bravoco</surname>
            ,
            <given-names>R. R.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Yadav</surname>
            ,
            <given-names>S. B.: Requirements</given-names>
          </string-name>
          <string-name>
            <surname>Definition Architecture -An Overview</surname>
          </string-name>
          . Computers in Industry,
          <volume>6</volume>
          , (
          <year>1985</year>
          ),
          <fpage>237</fpage>
          -
          <lpage>251</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Bravoco</surname>
            ,
            <given-names>R. R.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Yadav S</surname>
          </string-name>
          . B.:
          <article-title>A Methodology to Model the Functional Structure of an Organisation</article-title>
          . Computers in Industry,
          <volume>6</volume>
          , (
          <year>1985</year>
          ),
          <fpage>345</fpage>
          -
          <lpage>361</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Busetta</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ronnquist</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hodgson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Lucas</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Light-Weight Intelligent Software Agents in Simulation</article-title>
          .
          <source>SimTech 99</source>
          ,
          <string-name>
            <surname>Melbourne</surname>
          </string-name>
          , Australia, (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [5]
          <string-name>
            <surname>DeLoach</surname>
            <given-names>S. A.</given-names>
          </string-name>
          :
          <article-title>Multiagent Systems Engineering A Methodology and Language for Designing agent Systems</article-title>
          .
          <source>In Proceedings of Agent Oriented Information Systems</source>
          , (
          <year>1999</year>
          ),
          <fpage>45</fpage>
          -
          <lpage>57</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Fabrycky</surname>
            ,
            <given-names>W.J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Blanchard</surname>
            <given-names>B.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Life-Cycle Cost</surname>
            and
            <given-names>Economic</given-names>
          </string-name>
          <string-name>
            <surname>Analysis</surname>
          </string-name>
          . Prentice -Hall, Inc., New Jersey, USA, (
          <year>1991</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Flower</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Analysis Patterns - Reusable Object</surname>
            <given-names>Models</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Addison</surname>
            <given-names>Wesley</given-names>
          </string-name>
          , (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Gamma</surname>
            ,
            <given-names>E. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Helm</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Johnson, R., and
          <string-name>
            <surname>Vlissides</surname>
          </string-name>
          , J.: Design Patterns:
          <article-title>Elements of Reusable Object-Oriented Software</article-title>
          . Addison-Wesley,
          <article-title>(</article-title>
          <year>1994</year>
          ),
          <fpage>139</fpage>
          -
          <lpage>150</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Iglesias</surname>
            ,
            <given-names>C. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garijo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonz</surname>
            <given-names>ález</given-names>
          </string-name>
          , J. C., and
          <string-name>
            <surname>Velasco</surname>
            ,
            <given-names>J. R.</given-names>
          </string-name>
          :
          <article-title>Analysis and design of multiagent systems using MAS-CommonKADS</article-title>
          . In: Singh,
          <string-name>
            <given-names>M. P</given-names>
            ,
            <surname>Rao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            , and
            <surname>Wooldridge</surname>
          </string-name>
          , M. J. (eds.):
          <source>Intelligent Agents IV (LNAI volume 1365)</source>
          . Springer-Verlag: Berlin Germany , (
          <year>1998</year>
          ),
          <fpage>313</fpage>
          -
          <lpage>326</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Christerson</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>and Jonsson P.</given-names>
            , and
            <surname>Overgaard J.: Object -Oriented Software Engineering - A Use Case Driven Approach</surname>
          </string-name>
          , Addison-Wesley,
          <article-title>(</article-title>
          <year>1992</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Griss</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>and Jonsson P.</given-names>
            <surname>Software Reuse - Architecture</surname>
          </string-name>
          . Process and
          <article-title>Organization for Business Success</article-title>
          , ACM Press, (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Kendall</surname>
            ,
            <given-names>E.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malkoun</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Jiang</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A Methodology for Developing Agent Based Systems for Enterprise Integration</article-title>
          .
          <source>EI'95</source>
          ,
          <string-name>
            <surname>IFIP TC5 SIG Working</surname>
          </string-name>
          <article-title>Conference on Modeling and Methodologies for Enterprise Integration</article-title>
          . Heron Island, Queensland, Australia, (
          <year>1995</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Kendall</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          :
          <article-title>Agent Roles and Role Models: New Abstractions for Multi-agent System Analysis and Design</article-title>
          .
          <source>International Workshop on Intelligent Agents in Information and Process Management. German Conference on Artificial Intelligence</source>
          , Bremen, Germany, September, (
          <year>1998</year>
          )..
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Kendall</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krishna</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pathak</surname>
            <given-names>C. V.</given-names>
          </string-name>
          , and Suresh C. B.:
          <article-title>Patterns of Intelligent and M obile Agents</article-title>
          .
          <source>Agents '98</source>
          , May, (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Kendall</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          :
          <article-title>Role models, aspect oriented programming and agent engineering</article-title>
          .
          <source>Technical report</source>
          , British Telecom, (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
            <given-names>B.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Wu</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Virtual Enterprise Information System</article-title>
          .
          <source>In Proceedings of the 1st Asia-Pacific Conference on IAT' (Intelligent Agent Technology)</source>
          , (
          <year>1999</year>
          ),
          <fpage>493</fpage>
          -
          <lpage>497</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Manary</surname>
            ,
            <given-names>J.M .:</given-names>
          </string-name>
          <article-title>DSMC's CASA Model Still Going Strong</article-title>
          . Article in
          <string-name>
            <surname>PM</surname>
          </string-name>
          : Jan.-Feb., (
          <year>1996</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Neves</surname>
            ,
            <given-names>F.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garrido</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          : Bodyguard. In Marting, R, Riehle,
          <string-name>
            <given-names>D</given-names>
            ,
            <surname>Buschmann</surname>
          </string-name>
          , F (eds.):
          <article-title>Pattern Languages of Program Design 3</article-title>
          .
          <string-name>
            <surname>Addison</surname>
            <given-names>Wesley</given-names>
          </string-name>
          , (
          <year>1998</year>
          ),
          <fpage>231</fpage>
          -
          <lpage>243</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Nodine</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perry</surname>
            <given-names>B.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Unruh</surname>
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Experience with the InfoSleuth Agent Architecture</article-title>
          in
          <source>Proceedings of AAAI-98 Workshop on Software Tools for Developing Agents</source>
          , (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Rao</surname>
            ,
            <given-names>A. S.</given-names>
          </string-name>
          , and Georgeff M. P.: BDI Agents:
          <article-title>From Theory to Practice</article-title>
          .
          <source>In Proceedings of the First International Conference on Multi-Agent Systems (ICMAS-95)</source>
          , San Francisco, USA, June, (
          <year>1995</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Schreiber</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wielinga</surname>
            ,
            <given-names>B. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Akkermans</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          , and Van de Velde W.:
          <article-title>CommonKADS: A comprehensive methodology for KBS development</article-title>
          .
          <source>Deliverabel DM1</source>
          .2a KADSII/M1RR/UvA/70/1.1, University of Amsterdam, Netherlands Energy Research Foundation ECN and Free University of Brusels, (
          <year>1994</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Sommerlad</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : Manager. In Marting,
          <string-name>
            <given-names>R.</given-names>
            <surname>Riehle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Buschmann</surname>
          </string-name>
          ,
          <string-name>
            <surname>F</surname>
          </string-name>
          . (eds.):
          <article-title>Pattern Languages of Program Design 3</article-title>
          .
          <string-name>
            <surname>Addison</surname>
            <given-names>Wesley</given-names>
          </string-name>
          , (
          <year>1998</year>
          ),
          <fpage>19</fpage>
          -
          <lpage>28</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Sterling</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <article-title>Analysis of Life Cycle Cost Models for DOD &amp; Industry Use in 'Design-toLCC'</article-title>
          , (
          <year>1996</year>
          ), http://nissd.com/sdes/papers/deslcc.htr.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Tveit</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A survey of Agent-Oriented Software Engineering</article-title>
          . NTNU Computer Science Graduate Student Conference. Norwegian University of Science and Technology,
          <string-name>
            <surname>May</surname>
          </string-name>
          (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Wood</surname>
            <given-names>M. F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>DeLoach S</surname>
          </string-name>
          . A.:
          <article-title>An Overview of the Multiagent Systems Engineering Methodology</article-title>
          .
          <source>The First International Workshop on Agent-Oriented software Engineering (AOSE-2000)</source>
          , (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Wooldridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Jennings</surname>
            ,
            <given-names>N. R.</given-names>
          </string-name>
          :
          <article-title>Intelligent agents: theory and practice</article-title>
          .
          <source>The Know ledge Engineering Review</source>
          ,
          <volume>10</volume>
          (
          <issue>2</issue>
          ), (
          <year>1995</year>
          ),
          <fpage>115</fpage>
          -
          <lpage>152</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Wooldridge</surname>
            <given-names>M. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jenning</surname>
            <given-names>N. R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Kinny D.:</surname>
          </string-name>
          <article-title>A methodology for agent-oriented analysis and design</article-title>
          .
          <source>In Proceedings of the third international conference on Autonomous agents</source>
          , (
          <year>1999</year>
          ),
          <fpage>69</fpage>
          -
          <lpage>76</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Wooldridge</surname>
            <given-names>M. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jennings</surname>
            <given-names>N. R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Kinny D.</surname>
          </string-name>
          :
          <article-title>The Gaia methodology for agent-oriented analysis and design</article-title>
          .
          <source>Autonomous Agents and Multi-Agent Systems</source>
          ,
          <volume>3</volume>
          (
          <issue>3</issue>
          ), September, (
          <year>2000</year>
          ),
          <fpage>285</fpage>
          -
          <lpage>312</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>T. I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kendall</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Jiang H. C.</surname>
          </string-name>
          <article-title>: System Analysis of Agent based LCC Information Gathering</article-title>
          .
          <source>In Proceedings of the First Pacific Rim Intern ational Workshop on Intelligent Information Agents (PRIIA</source>
          <year>2000</year>
          ), Melbourne, Australia, (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>