This document discusses distributed artificial intelligence and multi-agent systems. It provides definitions of key concepts like agents, agent architecture, and multi-agent systems. Agents are autonomous computer systems that perceive their environment and take actions to meet their design objectives. Research in distributed artificial intelligence investigates how computer agents can collaborate to solve problems beyond their individual capabilities. Multi-agent systems involve networks of interacting intelligent agents that work together to solve problems beyond any single agent's abilities. The document also categorizes different types of agents and agent architectures.
This document discusses distributed artificial intelligence and multi-agent systems. It provides definitions of key concepts like agents, agent architecture, and multi-agent systems. Agents are autonomous computer systems that perceive their environment and take actions to meet their design objectives. Research in distributed artificial intelligence investigates how computer agents can collaborate to solve problems beyond their individual capabilities. Multi-agent systems involve networks of interacting intelligent agents that work together to solve problems beyond any single agent's abilities. The document also categorizes different types of agents and agent architectures.
This document discusses distributed artificial intelligence and multi-agent systems. It provides definitions of key concepts like agents, agent architecture, and multi-agent systems. Agents are autonomous computer systems that perceive their environment and take actions to meet their design objectives. Research in distributed artificial intelligence investigates how computer agents can collaborate to solve problems beyond their individual capabilities. Multi-agent systems involve networks of interacting intelligent agents that work together to solve problems beyond any single agent's abilities. The document also categorizes different types of agents and agent architectures.
This document discusses distributed artificial intelligence and multi-agent systems. It provides definitions of key concepts like agents, agent architecture, and multi-agent systems. Agents are autonomous computer systems that perceive their environment and take actions to meet their design objectives. Research in distributed artificial intelligence investigates how computer agents can collaborate to solve problems beyond their individual capabilities. Multi-agent systems involve networks of interacting intelligent agents that work together to solve problems beyond any single agent's abilities. The document also categorizes different types of agents and agent architectures.
Download as DOCX, PDF, TXT or read online from Scribd
Download as docx, pdf, or txt
You are on page 1of 17
Chapter 4
Agent Technology Application
4.1 Distributed Artificial Intelligence During the last decades, computers have been using sophisticated tools, dramatically enhancing human abilities such as memory and calculation, as well as publishing and communication capabilities. Research in artificial intelligence has aimed at developing software to simulate intelligent capabilities of human such as reasoning, natural language communication, and learning. Distributed Artificial Intelligence (DAI) is subfield of artificial intelligence which has been investigating knowledge model, as well as communication and reasoning techniques that computer agents might need to participate in societies composed of people and computers. DAI is concerned with situations in which several systems interact in order to solve a common problem [30]. Researches in DAI are mainly concerned with understanding and modeling action and knowledge in collaborative enterprises. People usually distinguish two main areas of research in DAI: distributed problem solving approach and Multi agent System (MAS) Research in multi agent systems (MAS) concerns the behavior of the collection of autonomous agents aiming at solving a given problem. MAS can be defined as a loosely coupled network of problem solvers that work together to solve problems that are beyond their individual capabilities. These problem solvers are called agents which may be autonomous and heterogeneous in nature. A MAS has following advantages: 1) Fast problem solving by exploiting parallelism. 2) Decreased communication by passing only high level partial solutions to other agents 3) More flexible by having agents with different abilities dynamically team up to solve current problems. 4) Increased reliability by allowing agents to take responsibility of agent that fails.
4.2 Introduction to Agent Technology 4.2.1 What is an agent? An agent is a computer system that is situated in a certain environment and is capable of autonomous action in this environment in order to meet its design objectives. Autonomy means that the components in an environment function solely under their own control.
Fig. 4.1 An agent in its environment
AGENT ENVIRONMENT Action output Sensory input Agents operate and exist in some environment, which typically is both computational and physical. The environment provides a computation infrastructure for such interactions to take place. The infrastructure includes communication and interaction protocols [31]. An agent can be defined as hardware or software (more usual) module that has at least at some level the following properties [49]: i. Autonomy: agents act without human intervention and have some control over their functions; ii. Reactivity: perceive their environment changes and react to it; iii. Pro-activeness: defined as the ability to take the initiative to accomplish the tasks according to their goals. iv. Social ability: the agent needs to be able to communicate with other agents. 4.2.2 Agent Architecture Researchers working in the area of agents architectures are concerned with the design and construction of agents that enjoy the properties of autonomy, reactivity, pro-activeness, and social ability [50]. [51] states that agent architecture is essentially a map of the internals of an agent its data structures, the operations that may be performed on these data structures and the control flow between these data structures. Three classes of agent architectures can be identified [49]. i. Deliberative or symbolic architectures are those which are designed along the lines proposed by traditional, symbolic AI, ii. Reactive architectures are those that eschew central symbolic representations of the agents environment, and do not rely on symbolic reasoning, and iii. Hybrid architectures are those that try to marry the deliberative and reactive approaches [50]. [52] indicate that agent architectures can be viewed as software engineering models of agents and identify the above mentioned classes of agent architectures. [51] considers four classes of agents. These agent classes are summarized below with their brief description. i. Logic based agents: In this agent decision making is realized through logical deduction [51]. ii. Reactive agents: Here decision making is implemented in some form of direct mapping from situation to action [51]. iii. Belief-desire- intention (BDI) agents: In this agent decision making depends upon the manipulation of data structures representing the beliefs, desires, and intentions of the agent [51]. iv. Layered architectures: In this decision making is realized via various software layers, each of which is more-or-less explicitly reasoning about the environment at different levels of abstraction [51]. 4.2.3 Agent Typology Agents may be usefully classified according to the subset of the properties that they enjoy [52]. Software agents might be classified according to the tasks they perform, for example, information gathering agents or email filtering agents. Agents may also be classified by the range and sensitivity of their senses, or by the range and effectiveness of their actions, or by how much internal state they possess [52]. A typology refers to the study of types of entities and there are several dimensions to classify existing software agents [53]. Agents may be classified according to [54]: i)Mobility, as static or mobile, ii) Presence of a symbolic reasoning model, as deliberative or reactive, iii) Exhibition of ideal and primary attributes, such as autonomy, cooperation, and learning, iv) Roles, as information or Internet, v) Hybrid philosophies, which combine two or more approaches in a single agent, and vi) Secondary attributes, such as versatility, benevolence, veracity, trustworthiness, temporal continuity, ability to fail gracefully, and mentalistic and emotional qualities [52]. [52, 55] identifies seven types of agents. These agents are described below. 1. Collaborative agents: They are able to act rationally and autonomously in open and time-constrained multi-agent environments [55]. Their key characteristics are: autonomy, social ability, responsiveness, and pro-activeness. 2. Interface agents: They support and assist the user when interacting with one or more computer applications by learning during the collaboration process with the user and with other software agents [55]. Their key characteristics: autonomy, learning (mainly from the user but also from other agents), and cooperation with the user and/or other agents. 3. Mobile agents: They are autonomous software programs capable of roaming wide area networks (such as WWW) and cooperation while performing duties (e.g. flight reservation, managing a telecommunications network) on behalf of its user [55]. Their key characteristics are: mobility, autonomy, and cooperation (with other agents for example, to exchange data or information). 4. Information/internet agents: They are designed to manage, manipulate or collate the vast amount of information available from many distributed sources (information explosion) [55]. These agents have varying characteristics: they may be static or mobile; they may be non-cooperative or social; and they may or may not learn 5. Reactive agents: They act/respond to the current state of their environment based on a stimulus response scheme [55]. These agents are relatively simple and interact with other agents in basic ways but they have the potential to form more robust and fault tolerant agent-based systems. 6. Hybrid agents: They combine two or more agent philosophies into a single agent in order to maximize the strengths and minimize the deficiencies of the most relevant techniques [55]. According to [53], there are some applications which combine agents from two or more of the above types. [53] refers to these as heterogeneous agent systems. This category of agent systems is generally referred to (by most researchers) as multi-agent systems [55].
4.3 Multi Agent System A Multi-Agent System (MAS) is an organization of heterogeneous and self- motivated agents that interact with one another. The agents in MAS could have conflicting interests or they could coordinate with one another to accomplish the same mission. Agents operate and exist in both computational and physical environment. The environments will provide a computational infrastructure for such interactions to take place. The infrastructure will include protocols for agent to communicate and protocols for agent to interact. Communication protocols enable agents to exchange and understand messages. Interaction protocol enables agents to have conversations, which are structured exchange of message [28]. 4.3.1 Coordination Coordination is a system of agents performing some activity in a shared environment. Cooperation is coordination among non-antagonistic agents, while negotiation is coordination among competitive or self- interested agents. To cooperate successfully, each agent must maintain a model of other agents, and develop a model of future interactions. Coordination is central to multi agent system (MAS) and distributed problem solving [28]. Without coordination, a group of agents can quickly degenerate into a chaotic collection of individuals. The easiest way of ensuring coherent behavior is to provide group with an agent that has a wider perspective of the system. This central agent could gather information from the agents of the group, create plans and assign tasks to individual agents in order to ensure global coherence. Coordination, the process by which an agent reasons about its local actions and the actions of other to try and ensure the community acts in a coherent manner, is the key problem of distributed artificial intelligence (DAI) [28]. 4.3.2 Communication An agent is an active object with the ability to perceive reason and act. We assume that agent has ability to communicate. This ability is partly perception (receiving of message) and partly action (sending of message). In multi- agent system, communication is the basis of interactions and social organization. Without communication, agent is merely an isolated individual, deaf dumb to the other agent. It is because agents communication that they can cooperate, coordinates their actions and carry out tasks jointly [56]. Communication is expressed as a form of interaction in which dynamic relationship between agents is expressed through the intermediary of mediator, signals, which once interpreted, will affect these agents. A large number of approaches to communication exist. A communication protocol enables agents to exchange and understand messages. A communication protocol must specify the messages for a particular course of action to be exchanged between two agents [28]. Communication protocols are specified at several levels. The lowest level of protocol specifies the method of interconnection, the middle level specifies the format of information being transferred, and the top level specifies the meaning of information [28]. Interaction protocols govern the exchange of a series of messages among agents. It enables agents to have conversation- structured exchanges of messages and coordinates their activities, which can then be performed more efficiently [58]. 4.3.3 Society of agents The intelligent systems do not function in isolation. They are a part of environment in which they operate. A group of agents can form a small society in which they play different roles. The group defines the roles, and the roles define the commitments associated with them. When an agent joins a group, he joins in one or more roles and acquires the commitments of that role [28]. Current methodologies exist for the development of multi-agent systems including GAIA [61], MESSAGE [65], and Cassiopeia [66]. It has been pointed out that adapting object-oriented analysis and design methodologies to multi-agent system development has several disadvantages [62], mainly arising from the fact that objects and agents provide different abstractions, and as a result, should be thought at different levels [63]. Hence we prefer JADE [59] for developing MAS as it does not attempt to extend object- oriented techniques, instead it focuses on agents specifically and the abstractions provided by the agent paradigm.
4.4 Developing Multi Agent Systems with Jade 4.4.1 JADE Introduction Among the toolkits that are used now in multi agent system development, JADE (Java Agent Development Framework) will be applied as the platform of protection coordination simulation. The JADE toolkit provides a Foundation for Intelligent Physical Agents (FIPA) - complaint agent platform and a package to develop Java agents. It is an open source project distributed by Telecom Italia Labs (TILab) that has been under development since 1999 at TILab and through contributions by its various users [59]. The JADE toolkit has been widely adopted throughout the world. Some examples of application involving JADE are the development of a multi agent information system supporting the consultation of a corporate memory based on XML technology, communicating agents for dynamic user profiling and memory management, and agent- based health care [28]. The Foundation for Intelligent Physical Agent (FIPA) was formed in 1996 to produce the software standards for heterogeneous and interacting agents and agent- based systems. In the production of these standards, FIPA requires input and collaboration from its membership and from the agents field in general to build specifications that can be used to achieve interoperability between agent- based systems developed by different companies and organizations [60].
4.4.2 Creating multi agent system with JADE The JADE toolkit facilitates the development of agents that can participate in FIPA- complaint multi-agent systems. It does not define any specific architecture but provides a basic set of functionalities that are regarded as essential for autonomous agent architecture [60]. A. Platform A JADE platform is made up of a number of containers that can operate on individual machines. Each container can have number of agents in it. A JADE system is made up of one or more Agent Container, each one living in a separate Java Virtual Machine (JVM) and communicating using Java RMI (Remote Method Invocation). The FIPA-complaint agent platform is composed by three system agents. They are AMS (agent management system), DF (directory facilitator) and ACC (agent communication channel) [60].The standard model of an agent platform, as defined by FIPA, is represented in the figure 4.2
Figure 4.2 Reference Architecture of a FIPA Platform [60] The Agent Management System (AMS) is the provides the naming service and represents the authority in the platform. Only one AMS will exist in a single platform. Each agent must be registered with an AMS in order to get a valid AID (agent identifier). The Directory Facilitator (DF) provides yellow page service in the platform. Agent communication channel (ACC) is the software controlling component controlling all the exchange of messages within the platform, including messages to/from remote platform [60]. B. Agent Class JADE is composed of following main packages [60]: jade.core, jade.lang.acl, jade.gui, jade.mtp, jade.domain, jade.proto, jade.wrapper and jade.content. Some of the packages are describes below. J ade.core implements the kernel of system. It includes the Agent class that must be extended by application programmers; while behavior class hierarchy is contained in jade.core.behaviours sub-package. Application programmers define agent operations writing behaviors and agent execution paths interconnecting them [60]. The jade.lang.acl sub-package is provided to process Agent Communication Language according to FIPA standard specification [60]. The basic single-agent infrastructure is provided through an agent class, which developers then extend to provide their own implementations of agents. Agents can be started, stopped removed, suspended and copied. Each agent has access to a private message queue, where messages are stored until the agent chooses to retrieve them, and AGENT AGENT MANAGEMENT SYSTEM DIRECTORYY FACILITATOR MESSAGE TRANSPORT SYSTEM Agent Platform access to a set of APIs (Application Programming Interfaces) that allow formulation of FIPA ACL messages [60]. Figure 4.3 JADE-Agent components [60]
C. Communication One of the most important features that JADE agents provide is ability to communicate. Each agent has a sort of mail box where JADE runtime posts messages sent by other agents. Whenever a message is posted in message queue the receiving agent is notified. When the agent actually picks up the message from message queue to process the request it completes up the program. The class ACLMessage represents ACL messages that can be changed between the agents. It contains a set of attributes as defined by FIPA specification. An agent which sends a message should create a new ACLMessage object, fill its attributes with appropriate values, and finally call the method Agent.send (). Similarly agent willing to receive a message should call receive () or BlockingReceive (). D. Interaction Protocols FIPA specifies a set of standard interaction protocols, which can be used as standard templates to build agent conversation. For every conversation among agents, JADE distinguishes the Initiator role (agent starting conversation) and the Responder role (agent engaging in conversation after being contacted by some other agent). Behavior 1 Behavior n ------------- ACL Private Inbox Schedule of Behavior Life-Cycle Manager Beliefs Capabilities Application dependent Agent resources
Figure 4.4 Homogeneous Structure of Interaction Protocols [60] Figure 4.4 shows structure of interaction protocols. The initiator sends a message. The responder can then reply by sending a not-understood, or a refuse to achieve the rational effect of the communicative act, or also an agree message to communicate the agreement to perform the communicative act. The responder performs the action, and finally must respond with an inform or with a failure if anything went wrong [60]. 4.4.3 Agent management in JADE A significant number of utilities are provided for managing and monitoring the activity of agent platform. A remote monitoring agent (RMA) provides control of the platform lifecycle and all registered agents within platform. It provides a GUI (graphical user interface), allows access and control to individual agents. A dummy agent utility is a graphical tool that enables the developers to perform all main activities any agent can perform. It is a useful debugging tool that can help to identify which communication between agents is not developing in a desired manner. A sniffer agent allows the monitoring of messages exchanged between groups of agents. Finally, introspection agent provides information about control of the life cycle of a single agent.
4.5 Agent Technology Application in Power System This section presents new explorations into the use of agent technology applied to the protection of power system. Power systems have undergone a great deal of change in the past decade. Traditional protection systems rely upon standalone units that use local measurement as a basis for decision making. Communication plays very limited role in these legacy systems. The power system industry is beginning to recognize the benefits that communication could contribute towards greater system coordination, more rapid action and increased correctness. There has been an increasing interest within the Communicative Act Not- Understand Refuse Reason Agree Inform Inform Done (action) Failure reason power community in the use of networked agents to improve reliability and efficiency of the electric power grid [31]. Backup protection is required to clear the fault whenever primary protection fails. [67] proposed an agent based backup protection scheme where agents are embedded in conventional protection components to construct a relay Intelligent Electronic Device (IDE). The relay agent searches for relevant information by communicating with other relay agents. Its purpose is to detect relay misoperations and breaker failures and perform backup protection with much better performance than traditional methods. In [68,] Coury discussed the use of differential agent relays for protection of multi-terminal lines and the results illustrating the performance of proposed agent-based differential methods are presented.
4.6 System Structure In this section, the multi-agent architecture for pair to pair relay coordination is introduced. The proposed multi-agent protection coordination system architecture is shown in figure 4.5. It consists of relay agent, distributed generation (DG) agent and equipment agents. All these agents are developed in JADE via Netbeans IDE [69]. The agents can communicate with each other within same and different societies [31]. DAG: Distributed Generation Agent : Communication RAG: Relay Agent EAG: Equipment Agent RAG Society RAG Society DAG Society DAG DAG DAG RAG RAG RAG EAG EAG EAG Figure 4.5 Multi-agent architecture for Pair to Pair Relay Coordination [31]
The agent takes in sensory input, which might include local measurement of currents, voltage, and breaker status, from the system and produces output as action such as breaker trip signals, adjusting transformer tap settings, and switching signals in capacitor banks. 4.6.1 NetBeans Integrated Development Environment (IDE) The NetBeans IDE is an open source computer program developed in the Java programming language. It offers the services common to creating desktop products -- such as window and menu management, settings storage -- and is also the first IDE to fully support JDK 5.0 features. The NetBeans platform and IDE are free for commercial and non-commercial use, and they are a part of Sun Microsystems [70]. Steps for creating an application in NetBeans IDE 1. Create Java Application
Figure 4.6 Creating a Java project in NetBeans IDE [70]. 2. Create Source Packages and Class files for Agents and Utility.
Figure 4.6 Creating source files packages [70]. 3. Add JADE library to the existing project in order to extend JADE functionality.
Figure 4.7 Adding libraries to the Java project [70]
4.6.2 The Agents a. Relay Agent Each relay installed in the system will be regarded as one relay agent. The relay agent structure is shown in figure 4.8. The relay agent searches for relevant information by communicating with other agents. Its purpose is to detect relay misoperation, breaker failure, and DG connection status and perform backup protection with much better performance [31].
Figure 4.8 Structure of Relay Agent Coordination [31] b. DG Agent DG agent takes every single DG as one agent. In protection coordination, DG agent mainly communicates with relay agent in the distributed system to provide connection status of its own for relay agent to coordinate [31].
c. Equipment Agent The equipment agent includes CT agent, breaker agent etc. These distributed equipments collect local power system information, operates the local power system equipment, and communicate information with relay agent to provide protection and coordination function [31].
Relay logic Relay agent Relay agent Relay Function Relay Function Communication information Coordination strategy DG Connection status Fault current Breaker status
Relay setting Settings when DG connected Settings when DG not connected Communication information Coordination strategy DG Connection status Fault current Breaker status
Relay setting Settings when DG connected Settings when DG not connected Relay logic 4.7 Communication Simulation In order to test proposed sample system (chapter 3, figure 3.10) protection coordination model, simulation was carried out based on the Java agent development framework (JADE) platform. The main purpose of communication simulation is to make sure the information, which is one of the tripping determination parameters, are exchanged correctly between different agents. The communication is carried out under two circumstances described in section 4.7.1. The relay coordination will focus on pair to pair coordination taking R 2 and R 3 coordination as example. On the JADE platform, a remote monitoring agent (RMA) provide control of a platform lifecycle and all registered agents within the platform, acquire information about the platform and execute the GUI. Through the RMA, a sniffer agent used as debugging tool helps to monitor and check messages exchanged among agents. When the user decides to sniff an agent or a group of agents, every message directed to/from that agent/agent group is tracked and displayed in the sniffer agents GUI. The user can view every message and save it to the disk [60]. 4.7.1 DG 1 and DG 2 are connected As described in figure 4.8, the information communicated will be use to utilize the coordination strategy to coordinate R 2 and R 3. The coordination logic under this circumstance can be illustrated in figure 4.9
Get information from DG agents DG1 and DG2 connected Settings when DGs are connected Other coordination process Using fault current and time delay parameters to coordinate Coordination ends Figure 4.9 pair to pair relay coordination strategy with DGs connected [31]
Figure 4.10 shows the information track among agent communication and the communication message content respectively. The information needed to be communicated in this condition is mainly between relay agent and DG agent. Once the DG is connected to the grid, DG agent will communicate with relative relay agents. Once a fault occurred, R 2 and R 3 can be coordinated using relay settings with DG [31].
Figure 4.10 Communication Information Monitoring through Sniffer Agent
4.7.2 DG 1 ,DG 2 and DG 3 connected The information needed to be communicated in this condition is mainly between the relay agents and DG agents. Once DG is connected to the grid, dg agent (DG 1 , DG 2 , DG 3 ) will communicate with relay agent (R 1 , R 2 , R 3 ). Once a fault is occurred, coordination can be achieved through communication between primary and backup relay agents [31].
Incorporating Artificial Intelligence Into PMBOK 7th Edition Frameworks A Domain Specific Investigation For Optimizing Project Management Performance Domains