Using agent techology to manage activities in the manufacturing department.
Popa, Cicerone Laurentiu ; Parpala, Lidia Florentina
1. INTRODUCTION
Agent technologies are suitable for domains where:
* highly complex problems need to be solved or highly complex
systems to be controlled;
* the information required for solving problems or controlling
systems is distributed and is not available centrally, because: it is
distributed geographically and the agents do not want to share it.
* in domains with dynamically changing environment and problem
specification.
* different pieces of software need to be integrated in a run time
and in the design times. (Vokrinek & Rollo, 2004)
In agent-based programming, the agent is the basic element of
distribution. Each agent serves as an independent component with its own
local state and execution model. The agent designer can choose to assign
a particular set of functionalities to an agent, specify the types of
events and messages the agent may invoke or respond to, and implement
those triggers and/or responses. In building an agent-based system, each
agent behaves independently, interacts with other agents through the
events and messages that are communicated from one agent to another.
(Weiss, 1999). The agents involved must be able to take decisions, to
offer possibilities of cooperation and to negotiate relations between
different domains involved in the project. (Popa&Hadar 2006). Agents
have the folowing characteristics: autonomy, reactivity, proactiveness,
social abilities, mobility, coordination, communication, and
cooperation. (Wooldrige, 2002).
2. USING AGENTS TO MANAGE THE ACTIVITIES
Manufacturing planning represents a matter difficult to achieve,
especially if it's part of an open and distributed application,
from a dynamic environment. In such an application rarely will happen
that planning will be up to date with the schedule, the system may
require fulfillment of tasks that were not originally foreseen, and
sometimes it may be decided to omit certain tasks or unexpected tasks
may occur. Also, some resources may not be available at the appropriate
time or other types of resources may be needed. Differences may occur
concerning execution times, some activities may take longer than was
expected, and these delays could affect other activities in progress. In
such a system an agent can be responsible for managing a machine, a tool
or a human resource.
The agent must have all the information concerning the machine: all
the technical data, processing systems, types of tools that can be used,
types of tools available in the store, types of workpieces that can be
processed. This agent must permanently interact with other agents from
the system in order to obtain information regarding workpieces to be
processed, the desired shape and characteristics of the processed part
etc.
The agent must also obtain information about the activity of the
other machines in real time, especially when certain processing
operations of the part should initially be made on another machine or
even after. The agent must be able to manage a complex database where
information is permanently recorded. For example, the agent will know
when a tool is used and replaced because the database contains
information about the work time of that tool. The supervising agent is
in permanent connection with the agent that manages the conveyor or the
robot that handles the workpieces and the parts. He should know all
these times precisely, in order to avoid a pieces blockage. In fact, all
these agents are supervised at the level of the multiagent system by a
"supervising agent" who has the role to manage the entire data
flow and the agent's activities in the system that is organized
hierarchically.
The supervising agent must manage efficiently the crisis; he will
communicate to the other agents involved in the process that a problem
occurred in the system. The supervising agent can decide: to interrupt
all the activities from the system, or to overlying the operations. The
supervising agent will offer a solution by
planning-programming-reprogramming the activities affected. (Popa et al,
2007)
3. CASE STUDY
Two languages were imposed as the most used: KQML and FIPA-ACL, but
generally each creator of a multiagent system uses its own language of
communication. FIPA language describes in detail each
participant's: name, address, its class, and presents in detail the
message itself that is meant to be sent. In conclusion, it gives details
of the language used, protocols etc. In our example we will use a very
simplified communication model between agents. It will contain only the
receiver agent, the sender agent, commands and information defined by
the user etc. In this case study will use the system architecture
described in Figure 1, in which a possible dialogue between the agents
that manage the activities of the machines from the manufacturing
department will be exemplified.
The adapted system for this case study is composed of: store for
workpieces and parts; MS32 CNC multi-axis turning machine, AFC 105S CNC
boring and milling machine, Blohm Precimat CNC grinding machine, four
conveyors for parts transport; five robots for the transfer of parts
between machines and conveyors.
[FIGURE 1 OMITTED]
The agents defined in this case study are:
* "superviz" is the system's supervising agent in
the manufacturing department;
* "turning_machine" the agent that manages the multi-axis
turning machine activity in the department;
* "machine_AF" the agent that manages the boring and
milling machine in the department;
* "grinding_machine" the agent that manages the grinding
machine in the department;
* "store" is the agent who manages the entrances, exits
of the store. This agent owns a database that contains all existing
tools, workpieces and parts;
* "depan" is the agent who manages the human resource for
troubleshooting;
* "conv1" is the agent that manages the activity of the
first conveyor of the system; this conveyor is the link between the
store and turning machine and so on;
* "rob_transf1" is the agent that manages the activity of
robot 1, which makes the transfer between the store and conveyor 1 and
so on;
The supervising agent announces the start of dialogue with all the
agents in the system:
To all From superviz Hello
It also ensures that each agent of the system is online and ready
to begin the activity:
To conv1 From superviz Ping
To rob_transf1 From superviz Ping
To turning_machine From superviz Ping
Such verification is done for each agent part of the system, if the
agent is "online" it will reply:
To superviz From store Online
To superviz From turningmachine Online
[FIGURE 1 OMITTED]
We can have a situation in which an agent does not respond, in our
case the agent of conveyor 1. The supervising agent will repeat the
message and if in a given period of time he will not receive a response
he will assume that there is a problem with that machine or with the way
the agent that manages that machine was programmed. The supervising
agent will notify the agent that manages the human resource to intervene
on the machine and the application that sustains that agent in order to
identify the error and the activity of that agent:
To depan From superviz conv1 goto
To depan From superviz conv1 71f390b problem
The "depan" agent receives the code of the problem, in
our case the conveyor's agent does not respond to the supervising
agent's request and the application will automatically contact a
qualified human resource for this kind of problem and to which it will
submit a report on the previous activities of agent and the machine
managed by him. Also, time estimation for solving the problem will be
required; when it will be possible the "depan" agent will send
this estimation:
To depan From superviz conv1 time estimation
To superviz From depan 0.15.21 time
The supervisor announces the agent that manages the store to
prepare 50 parts to be transported to the turning machine in order to be
machined:
To store From superviz 50 part1 prepare
Once the parts are ready, the agents that manage the robots which
make the transfer are notified, as well as the conveyor's agent who
will carry the part to its destination. They will confirm that they are
ready to begin the activity:
To rob_transf1 From store part1 ready
To store From rob_transf1 begin activity
To conv1 From rob_transf1 part1 ready
To rob_transf1 From conv1 part1 begin activity
The supervising agent announces the agent that manages the turning
machine that part 1 must be processed and the number of such parts that
will arrive:
To turning_machine From superviz part1 arrive
To turning_machine From superviz 50 parts arrive
It requires an estimation of the time needed for processing a part:
To turning_machine From superviz part1 time estimation
In order to make time estimation, the machine's agent requests
the part's data and full information about it. The agent has access
to the complete database of the system, it extracts comprehensive
information regarding the part: types of surfaces, the material of the
part, the operation plan, necessary tools and delivers them to the
requesting agent.
To turning_machine From superviz part1 information
Based on the obtained information, the agent makes a list of the
order of necessary operations, necessary tools. Based on this analysis
he makes an estimation of the time necessary for processing and
transmits it to the supervising agent.
To superviz From turning_machine 0.10.30 time
The supervising agent examines this time, compares it with the
initially estimated time in the design stage of the part and of its
material flow. If the processing time falls within the limits accepted
by him he forwards the approval for starting the processing.
To turning_machine From superviz time ok
4. CONCLUSIONS
This simple system model can be extended towards a distributed
architecture, because the agent oriented technology facilitates a good
administration of the system. Thus, the presented system can be
integrated in a much more complex one. Our further work will concentrate
on the analysis and the simulation of a distributed system, based on
agent orientated technology.
5. REFERENCES
Popa, C.L. & Hadar, A (2006). A cooperative system design based
on agent technology, Proceedings of 17th International DAAAM Symposium,
Katalinic, B. (Ed.), pp. 311-312, ISBN 3-901509-57-7, Vienna-Austria,
Published by DAAAM International, Vienna
Popa, C.L., Parpala, L.F. & Aurite, T (2007). Algortihm for
problems rezolving in distributed system using agent technology,
Proceedings of 18th International DAAAM Symposium, Katalinic, B. (Ed.),
pp. 575-576, ISBN 3901509-58-5, Zadar-Croatia, Published by DAAAM
International, Vienna
Vokrinek, J.; Rollo, M. (2004). Agent System Design. Available
from: http://agents.felk.cvut.cz/Accessed:2008-04-20
Weiss G. (1999). Multiagent Systems: A Modern Approach to
Distributed Artificial Intelligence, The MIT Press, ISBN 0-26223-203-6,
Cambridge
Wooldrige, M. (2002). An Introduction to MultiAgent Systems, John
Wiley&Sons