Autonomous
Coordinated Cooperative Control
Introduction:
As the topic suggests when we refer to
the key word ‘control’ we are dealing with a special kind of control, characterized by the key words
‘Autonomous’, ‘Coordinated’ and ‘Cooperative’.
In
this paper we try to understand and explain this kind of control and correlate
it in the context of Computer Science/Software Systems.
We
further proceed to show that the system of ‘Agents’ is the interpretation,
which exactly explains the special kind of control we are talking about in the
context of Computer Science.
We
then go on to explain Autonomous Coordinated Cooperative Control through Agents
and regarding their current issues, concerns and approaches.
Also
advantages and disadvantages of various approaches and some existing systems
are described. Finally current open research areas are described.
Control :
A control problem can be illustrated
as :
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Process (plant) Controller
Input Actuating Response
![]()
![]()
![]()
Signal
![]()
![]()
![]()
![]()
![]()
Figure 1
The control problem (refer figure 1)
consists of an Input to the Controller from the external
environment which involves some type of sensing /recognition. The output of Controller is in the form of an Actuation Signal, which in turn triggers
the system process to respond in a way such that the resulting system response is
nearer to the desired ‘goal’ state.
Interpretation:
An Autonomous Cooperative Agent is considered as an
entity that possesses the following features
(1)
Recognition, (2) Decision Making, (3)
Actuation .
But recognition is the same as input of the
controller because an input generally follows after some sensing /recognition takes
place. The controller is equivalent to a decision making block as its task is to
reduce error. Actuation follows after a decision takes place in both the
systems. As we have one to one correspondences between both these systems we can
correlate the Controller function to that of an Agent .
Hence
in context of Computer science /Software systems we now onwards refer to an
Agent based system when we refer to a control system.
Autonomous,
Coordinated, Cooperative behavior is exhibited by what we call “Agents” or
“Softbots”.
Agents:
Agent is a computer program that communicates with external programs
exclusively via a predefined protocol.
“Agents are active persistent, (software) components that perceive
reason, act and communicate” 3.
Researchers
add further properties as being autonomous, goal directed, reactive, proactive
, mobility, veracity, benevolence, rationality, learning, among others.
Autonomous :
An autonomous agent is the unit of individual software ,that interfaces
with humans ,other agents, and real world in real time. Each autonomous agent
has its own goal, and reacts to stimuli, based on the situation and tries to
survive. Collection of autonomous agents forms a society.
Coordination:
Coordination is the process of
managing interdependencies.
Coordination
involves agents to adjust their actions according to their expectations of
behavior of other agents. Coordination without communication or shared
knowledge is possible. It involves agents that adjust their actions according
to their expectations of the behaviour of other agents.
Coordination problems arise when (i) there are
alternative actions the agent can choose from, each choice affecting the
environment and the agent and resulting in different states of affairs and /or
(ii) the order and time of executing actions affects the environment and the
agent, resulting in different states of affairs. The coordination problem is made more difficult as agents
usually have incomplete knowledge of the environment.
Coordination may involve competetion between agents.
Cooperative :
Cooperation
has been defined as the process of managing dependencies between activities.
. Cooperation is necessary when no agent has
sufficient expertise, resources and information to solve a problem and other
agents might have expertise for solving different parts of the problem.A problem (for example like the control
problem) can be decomposed into many
subproblems so that a single agent
(controller in our example) will not be burdened to processing leading to
decision.
Cooperation means more than just
coordination. It means agents have shared goals and have wilingness to work
with each other.
It essentially involes communication.
After analyzing all the keywords we can now
state that by Autonomous Coordinated Cooperative Control, we are concerned with
a society of agents which while being autonomous will have shared goals and
will adjust their actions according to their expectations of behavior of other
agents along with being able to coommunicate with each other.
Issues/concerns:
Several issues and concerns exit currently
especially due to the vast range of fields of research being done on agents.
However there can be broadly divided into at least two sorts of issues:
1) Micro issues
and 2) Macro issues .
Micro
issues:
These issues are concerned with design and construction of agents
that have properties like autonomy, reactivity, proactiveness, social abilities
among
others. This area has become known as agent architectures.
Finding appropriate archtectures is
one of the fundamental research issues within agent design. There are at least
two resaons for dealingwith archtectures :one is to explain and predict agent
behaviour, the other deals with providing tools and methodolagies for designing
computational agents and their interactions in a system.
Three
classes of agent architecture are identified :
(1)Deliberative
or symbolic , (2)Reactive and (3) Hybrid arcitectures.
Deliberative/symbolic:In
this type of architecture agents assume an explicit symbolic model of the
environment and the capability of logical resoning as basis of intellignt
actions and so maintain the tradition of classical artificial intelligence. But
this method tends to increase the complexity of representation form that provides
an adequate degree of modelling functionality. In this type of architecture
planning agents decide how to act from first principles. But since the
enviornment in which agents exit is dynamic and not preplanned the first
principle-planning is undecidable.
Reactive:In
this type of architecture the agents do not pocess an internal symbolic model
of their enviornment. So they can respond to changes in their enviornment.The
agents are flexible. The process of designing an agent becomes one of adding and
experimenting with behaviors using learning methods.
Hybrid:
In this architecture the agents have some qulities of the other two
architectures merged to utilize the advantages of both the styles .It
incoperates both logic as well as being respoinsive to the enviornment changes.
A significant amount of current reasearch is in this type of archtecture.
Various approches are being proposed and tried to get an optimum standard
hybrid architecture.
Approches
:
One aproches to design hybrid Agent,
jis to use an Layred Architecture,.
Another approch is to graft logic of plans on to basic delebrative archiertures like BDI
Macro
issues :
These are concerned with societal
issues. The major issues are :
Coherence
and coordination, communication,cooperation ,negosiation among others. The societal
aspects of agency are studied in a subfield of AI called distributed
atrtificial intettigence. However there is a difference between DAI and
multiagent (societal) systems. In multi agent systems the agents need not share
a common goal.
Coherence:
Refers to
how well the multi-agent system behaves as an unit along some method of
mesurement. The mesurement can be of the form of solution quality, efficiency
among others.
Communication
:
For efficient cooperation information has to be
shared with the agents. This is not possible without efficient standardised communication
protocols .One major approach
Is to
use Object Oriented methodology utilizing message passing mechanisim..
There are a number of fundamentally diierent methods
of communications. Current research concerns are for making efficient means of
information passing and standardized language protocols.
.
Negotiation:
To
avoid conflicts between cooperating agents we should have special conflict
resolution protocols. This protocols are called negosiation protocols.
Another
major concern/issue is design development of complex application systems.
These
require phase oriented design methods and the use of development tools.
To
desingne the systems from scrach is a complex process. Thus this has to be
properly, executed. To help the designer come up with the system spcefication,
following approches are used.
Approaches :
We
describe below the approaches used to develop the Agents, which result in
Cooperative, Coordinated, Autonomous Control.
Object – Oriented Approach:
As we said before the Agent is independent entity with intellegence
built into it, so is the Object. Object is an integral unit with data to be
acted upon , and methods or the functions to act on, built into it This model used Object Modeling
Technique(OMT). 3 OMT in turn used three models – Object Model, Dynamic Model and Functional
Model. The Object Model is a graphical representation of multiple
Object Diagrams , Dynamic Model represents
the dynamic processes of the system, status diagrams are used to
represent this. Functional Model represents the flow of control, and data in
form of data flow diagram. In alternate version of the Object model Burmesister
suggested following three models in 1996. Base Model, Static Model, and Dynamic Model. Base Model represents
the attributes and their methods. Static Model represents static structure of
the system(like object hierarchy, and grouping in subsystem). Dynamic Model
represents the flow of control, and dynamic relationship between the objects,
and dynamic relationship between the processes with in same object, and
internal structure. Following figure depicts these concepts in greater detail.
Fig…..
Agent Oriented Approch :
As we said before Agents can be represented as Object, but they have
charecteristics of their own, which makes Object Oriented approch insufficient
to represent them. We do not list these properties here. The properties which
Agent posses and are not found in Objects are listed in the future section
where we compare and contrast, and show the advantages and disadvantages of
them. Two people have contributed towards development of Agent Oriented
approch. One of them is Burmeister(as in Object Oriented
Approch) and second person is Kinny.
First we list the models which
Burmeister suggested. They are Agent Model, Orgnizational
Model and Cooperation Model. Let’s describe them in detail further.
Agent Model comprises of the Object and their internal structure. It is
alnalogous to Base Model described above, but with additional features like
behaviour and intentions. Base model is the first step to start with when we
want to design an Agent Model. (158)
Organizational Model describes the
static relationships between Agents and their categories. The relationship can
be classical(Object Oriented) or based on the role of the Agent.
Aggrigation is used when the Agents are
not close enough as classical classes, in their properties. We notice that Organization Model is similar to
Static Model in Object Orentation.
Cooperation Model has interaction and cooperation processes
between the Agents as the basis, which include communication, simple messages,
and cooperation processes. This model corresponds to the Dynamic Model of Object
Oriented Model except that, the dynamic
processes within an agent are part of Agent Model rather that Cooperation
Model.
Kenney unlike Burmeister purposed two levels of abstraction of
Agents - External View, and
Internal View . Consquently he developed two models for Agents – External
Model and Internal Model. External Models model the Agents their tasks
and responsibility while interacting with other Agents. The Agents
architechure, which includes their
behaviour and intentions is represented by the Internal Model.
External Model was further is divided by kenney into Agent
Model and Interaction Model.
Agent Model is analogous to Burmeister’s Organization Model since it
fulfills the same task. Inc case of complex ststems Agent Model further consist
of Agent
Class Model – which repsesents the relationship between classes with
the help of Class Diagrams, and Agent Instance Model which describes
the instance of each Agent.
Interaction Model repersents services, communications, and cooperation
processes between Agents with the help of graphical tools.
Kenney divided Internal Model into Belief Model, Goal Model and Plan
Model. We now describe brefely about each one of them.
In Belief Model the belief that an Agent has on itself with the help of
Belief sets. Agent’s so called behaviour states can be derived from specific
instances of belief set. Belief set can be graphically represented as Object
Diagrams and Belief States.
Goal Model represents the goals and the events to which it can respond.
Like Belief Model this also consists
of Goal Set, and derived Goal
States.
Plan Model models the plan an Agents provides to achieve it’s goal. The
properties and control sturucture of plan is described by a Plan Set. Plan is
represented as a Plan Diagram, like the one shown below. Plan diagram is based
on the State Transition Diagram of classical Object Oriented methods.
Difference/Similarities
between Agent Based and Object Oriented Approches :
First of all Agents have much more complex
structure than classical Objects. Agents have mental states also apart from
methods and attributes. An agent has more similarity with a subsystem of Object
Oriented methods than a single object. Regarding activation, Objects are
invoked by messages, but an Agent can decide
of its own, weather it has to respond to a specific message or not. Thus we can
say that Objects are passive and Agents are active. Another main difference is that communication between the objects
talkes place in from of messages like we said before, but the communication
between Agents is much more complex, that. For example an Agent must be able to
provide with it’s goal, plan and intentions to other Agents.
Applications of Agents :
Agents
have varity of applications, like Air Traffic Control, Business Process
Management, Industrial Systems Management, Distributed Sensing, Space Shuttle
Fault Disgnosis, Factory Process Control, Electronic Commerce, Hand Held-PDAs,
Information Gathring etc. We describe here two of them.
Hand Held PDAs usually are limited in hardware
and thus the amount of processing they can do. They follow Agent Based Approch. Which means that they send out an
Agent(Intellegent, self contained, independent software entity like we said
before), into the network and this does the processing on the server, when done
feaches the result to the PDA, thus saving processing time used by PDA. While
the Agent is performing the search or processing the query on the server, PDA
is free to perform other task. This makes optimum usage of limited processing
power the PDA has. In years to come, due advancement of Digital Technology PDAs
will become much more powerful, but still use of Agents, will enhance the
overall performance of the system.
Factory Process Control also uses Agent Based Approch to control the process with in the
Factory, or general management. Among the researchers working in this field is
Parunak , who used Contract Net Protocol in YAMS(Yet Another Manufacturing
System). Another Researcher named Mori and his co-workers used Multi Agent Approch
in Steel coil processing plant. Wooldridge and his co-workers showed that,
determining the optimal production sequence, involves first negotiating between
the production units with in the factory. Which means that setting the I/O
between the various functional units of the factory to an optimal value,
results in optimal production sequence, and hence optimal production.
Open Questions
in Research and Future Directions :
Agent Based Software Engineering is one of the important
areas wich needs to be worked upon. Software development is usually complex
task which needs interaction between various developers and a great degree of
communication and synchronisaton is needed between the programmers. As
researchers have attempted to automate the process of software developlment
with tools such as CASE, the need arises for Agent based development where the
agents of all the programmers in the team coordinate, cooperate towards a
common goal.
Adaptive Agents is another which needs to be explored, because the environment in
which the Agent operate is higly dynamic and so the Agent needs to change
itself according to the changes made in the system. This aspect is little bit
lagging behind and researchers need to work on this . Agent needs to learn about
the active and passive components. Passive agents are databases,
Knowledgebases, Object. Active components are Agents , the interation between
them.
Interface is another area in which
researchers are working. In this area
the interface can be customized, in the sence that agent can be told to give
wrong information to other agent on the user’s requester. Or other attributes
can be changes to customize the interface of the agent.