A Demo for Agent-Based
Concurrent Product Design and Planning over the Internet
This is a prototype for a Multi-Agent System designed for distributed concurrent product design and planning.
There are five Java-based agents in the system, namely
Design Agent, Facilitator, Capability Agent, Manufacturability
Evaluation Agent and Process Planning Agent. Remote
users have access to the last four agents geographically distributed
via Design Agent. All the five agents register,
connects and communicates with each other through a router running on
engp7695.nus.edu.sg.
1. Design Agent - The applet below is used
to create a Design Agent which is used by users to submit the information
of his/her product design,
before or after modification, to this system for manufacturability analysis,
and process plan
generation on his/her product
design. It tells designers to make some modifications to his/her product
design if it receives
message from Facilitator
about "local manufacturability evaluation failures" - the conflicts between
features or the
unmanufacturability of product
design itself - together with some suggestions for modifications.
2. Facilitator - Facilitator is responsible
for the management of the agent community. and manages all agent interactions
required to handle queries.
It's up to Facilitator to dispatch tasks. It "knows" what agents there
are, what functions each
agent has and where it is.
It facilitates the communications between these agents. Each agent receives
messages from
Facilitator, and sends results
back to Facilitator after finishing their jobs. It routes the requests
received from request
agents to appropriate agent
based on its knowledge of capabilities of each agent, which is know as
content-based
routing.
3. Manufacturing Capability Agent - Manufacturing
Capability Agent encapsulates manufacturing capability models from
different plants, which
contain information of shop-floor resources available (machines and tools)
and capabilities of these
resources. It is responsible
for changing to a suitable capability model if receiving, from Facilitator,
messages about
"global manufacturability
evaluation failures" - no suitable machine or tool to machining some feature
in current capability
model.
4. Manufacturability Evaluation Agent - A
C-programmed manufacturability analysis module is encapsulated within this
agent. It is responsible
for the manufacturability evaluation on the product design by acquiring
a capability model from
Capability Agent. It returns
information about conflicts - global/local manufacturability evaluation
failures - to Facilitator if
evaluation fails for the
given capability model, as well as some valuable suggestions for product
redesign or changing to a
different capability model.
If no conflict is found, it informs Design Agent, via Facilitator, to proceed
to process planning
generation.
5. Process Planning Agent - A C-programmed
process plan generation module is encapsulated within this agent. It is
responsible for the generation
of the optimum process plan.
In addition, all agents must agree to communicate
through the same router. In this case, that router is running on
engp7695.nus.edu.sg.
For users to have access to four service agents
via Design Agent at any time, all the four agents should be running
all the time. So you may not have this demo
run properly because of the off-line of any one of the four service
agents.
Demo steps (if errors occur, please Email us and we'll try to fix them as soon as possible)
1. First, the Design Agent must be initialized. This
is done by licking on the purple buttons below. This should result in a
new
window appearing for the
agent.
2. Once the agent is initialized, it must register
itself with the router. Click the 'Register' button to send a registration
request
to the router ( We recommand
you to use "Design Agent" as the name of the agent when registrating).
The router will
respond to the agent with
a registration status message (in a small window), which you should acknowledge
by click on
'OK'.
3. Once registered, the agent can set up a communication
connection to the router. To do this, click the 'Connect' button for
the agent and acknowledge
the connection status message.
4. Now the Design Agent is registered and connected
to the router. It is ready to send KQML message (KQML parse
doesn't allow unpaired open,
closed parenthesis, or distinguish the quoted string>) to any agent registrated
to the same
router.
The activities conducted by Design Agent for this demo are as follows.
(1) Case one (Local conflicts)
(2) Case two (Global conflicts)