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.