The system architecture,
as depicted in Fig.1, incorporates eight components, viz., Facilitator,
Design Agent (D-Agent),
Feature Identification Agent (FI-Agent),
Manufacturing Capability Agent (MC-Agent), Manufacturability Evaluation
Agent (ME-Agent), Assemblability Evaluation Agent
(AE-Agent), Cost Evaluation Agent (CE-Agent), and Process
Planning Agent (PP-Agent). The last six service
agents (usually encapsulated pre-existing legacy tools) and the D-Agent
(console agent) interact with each other through
the Facilitator. Inter-agent communication includes both informal
communication and formal exchange between programs.
Currently, KQML (Knowledge Query and Manipulation
Language) is used as a protocol for exchanging information,
both data and knowledge, across the Internet. JATLite
(Java Agent Template, Lite), a public domain API
that creates client agents written in Java, is used as an agent development
environment. The agents are driven from this Java
agent template.
The description
of each agent's functionality or responsibility is as follows:
(1) Facilitator: It is responsible for the management
of interactions in the agent community, and conflict resolution. It
"knows" which agent is available,
and what function each agent has. Each agent receives messages from the
Facilitator,
and sends results back to
it after completing their jobs. The Facilitator routes the requests received
to appropriate agents
based on its knowledge of
capabilities of each agent, which is known as content-based routing.
(2) D-Agent: This is a Java applet generated from
a Web page. It is used by a designer to submit the design information of
his/her product, before
or after modifications, to the system for manufacturability and/or assemblability
analysis, and
process plan generation
of the design. It advises the designer to make necessary modifications
to his/her product design.
(3) FI-Agent: This agent is responsible for retrieving
attributes for each feature in a design. These attributes are feature type,
tag, orientation, location
and dimensions. This information is then used for manufacturability /assemblability
evaluation.
(4) MC-Agent: This agent manages manufacturing capability
models from different factories, which contain information of
shop-floor resources available
(machines and tools) and capability
of these resources. These models are
stored
in individual databases
located at different local sites. They are connected to the MC-Agent via
the Internet. The agent is
responsible for looking
for a suitable capability model if the Facilitator informs it of a manufacturability
evaluation failure,
and making a ranking of
optional factories for the design according to the cost estimation results
from the CE-Agent.
(5) ME-Agent: This agent is responsible for the
manufacturability evaluation on the product design by acquiring a capability
model from the MC-Agent.
It returns information about conflicts i.e., manufacturability evaluation
failures, to the
Facilitator if evaluation
fails for the given capability model, as well as some suggestions for product
redesign or searching
for a suitable capability
model.
(6) AE-Agent: This agent is responsible for the
assemblability evaluation of the product design. It returns information
about
conflicts i.e., assemblability
evaluation failures to the Facilitator if evaluation fails.
(7) PP-Agent: This agent is responsible for the
generation of an optimal process plan based on the design and selected
resources.
(8) CE-Agent: This agent makes a cost estimation
for each factory based on the generated process plan.
Each agent, except
the MC-Agent, has a local database, which is used to store and manage messages
received from
other agents. All the individual databases, together
with those from the MC-Agent, are integrated into a distributed
database via the Internet.