Barber and Lam (Barber and Lam, 2003)
proposed Agent Competencies to model agents in a
domain-independent manner. The Agent
Competency Ontology was proposed as a common
representational framework to specify agent
technologies (Figure 2) (Barber, Ahn et al., 2004) .
The Agent Competency Ontology is used to (1) map
domain tasks such as “Generate UAV routing” to
domain-independent competencies such as
“planning” and, in general, (2) offer a common
framework for representing and comparing agent
technologies (Barber, Ahn et al., 2004). By
specifying agent technologies in terms of these
Agent Competencies, the agent technologies can be
functionally compared and a common understanding
among agent software engineers is promoted. Agent
Competencies are based on the essential set of
domain-independent functionalities an agent
delivers. As seen in Figure 1, there are two types of
Agent Competencies that form the framework for
specifying agents.
Core Competencies (CCs) define the essential
functionalities of an agent. Pluggable Competencies
(PCs) are also defined because agents interact with
other agents and entities in the system. PCs are not
essential in single-agent systems, but are required to
describe multi-agent systems (Barber and Lam,
2001). The Core Competencies includes:
Sensing: The agent needs to acquire appropriate
data from other agents and the environment.
Modeling: Modeling is the maintenance of the
information specified by the developer and/or
derived from sensed data.
Planning: In the pursuit of goals, agents need the
capability to choose the appropriate action(s) given
its situation, and decide when and by whom those
actions will be executed.
Acting: Schedules of actions are received and
handled by the acting competency of the agent,
which executes the appropriate actions at the
appropriate times.
Pluggable Competencies: In addition to CCs,
when an agent operates in a multi-agent system, it
may have the functionality to communicate, to form
organization(s), and to coordinate with other agents.
Communication, organization, and coordination are
Pluggable Competencies (PC) because they work in
conjunction with and in the context of CCs.
3 AGENT APPLICATION
ARCHITECTURE
The Agent Application Architecture (Agent AA)
specifies a system design. Leveraging a well-
defined, implementation-independent Agent
Reference Architecture (Agent RA) that captures the
functional, data, and timing requirements, the Agent
AA is a collection of agent technology components
selected according to their coverage of and
compliance to the structure and requirements
prescribed by the Agent RA (Barber and
Bhattacharya, 2000). Using the Agent Competency
Ontology described in Section 2 to specify agent
technologies, a repository of agent technology
specification maintained by the Technology
Portfolio Manager (TPM) (Barber, Ahn et al., 2004)
can be defined that facilitates exploration of
potential agent technologies when building an Agent
AA. In this section, an architecting process is
described for deriving an Agent AA composed of
agent technologies.
Section 3.1 describes knowledge acquisition
process for this research and section 3.2 describes
the Agent RA defined in DACAT and then
demonstrates the use of ACET to specify an Agent
AA.
3.1 Knowledge Acquisition Process
For this research effort, technologies to be included
in this paper were developed as part of the Defence
Advanced Research Project Agency - Taskable
Agent Software Kit program (DARPA-TASK). The
DARPA-TASK program was initiated with the
specific intent to advance state-of-the-art agent
technology as well as promote tools for easy agent-
oriented design and analysis. Numerous universities
and companies, developing a wide spectrum of
technology, were involved in the program. The
process of populating the TPM with DARPA-TASK
technology specifications spanned multiple phases
beginning with the collection of information
available about a technology obtained from filtered
presentations and papers posted by the technology
providers involved in the DARPA-TASK program.
Following initial modeling efforts, every
Technology Provider was interviewed to verify the
technology models and to obtain additional
information which might have been missed from the
gathered information. Agent technologies were
described/modeled in terms of the domain-specific
capabilities of the technology and the domain-
independent agent competencies.
3.2 Specifying Agent Application
Architecture
Agent RA is specified based on class-based
encapsulations and Competency functionality. The
Agent RA consists of (1) the classes that were
ICEIS 2005 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
198