Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
AGENT FRAMEWORK ByArpan Biswas Rahul Gupta Agents Overview What is an Agent? An agent is an entity with attributes considered useful in a particular domain. In simple words, an agent is a piece of software that has a capacity to autonomously conduct its work. It can also be defined as conceptual entities that perceive and act in a proactive or reactive manner within an environment where other agents exist and interact with each other based on shared knowledge of communication and representation. Agent Overview (continued…) It is loosely coupled network of problem solving entities that work together to find answer to problems that are beyond the individual capabilities or knowledge of each entity. Multiple autonomous components showing characteristics like: No agent can solve problem independently There is no global system control Data is decentralized Computation is Asynchronous Types of Agents With respect to a Domain, agents can be classified as: Intelligent Agents Personal Assistant Agents Mobile Agents Information agents Property agent Action agent How does the system work? To interact in an open environment (like that of Internet), agents need to overcome two basic problems: Finding agents Agent Interaction Finding Agents Notion of Middle Agents. Middle Agents Entities to which other agents advertise their capabilities. Neither requesters nor providers from the standpoint of transaction under consideration. Types of Middle Agents. Agent Interaction Elements to achieve Multi-Agent Interaction: Communication Language and Protocol Format for content of communication Shared Ontology Agent Communication Language Two approaches to design ACL Procedural – communication is based on executable content. E.g. Java Declarative- communication is based on declarative statements like definitions, assumptions etc. e.g. KQML ACL (cont’d…) Due to limitations of procedural approach, we prefer to use declarative languages. Declarative Language implementation makes use of a predefined set of messages which are structured and classified. These are referred to as Performatives. ACL (Cont’d…) Two approaches for using Performatives Use complex and specialized performatives. e.g. FIPA and KQML Use simple performatives to perform complex tasks. e.g. Agent-0 Performatives execute tasks like querying, notifying, requesting, subscribing, advertising etc. ACL (cont’d…) Complex performatives are advantageous because they are efficient and avoid use of an additional layer for interpretation of customized messages. On the contrary, the second approach enables generic programming. ACL (cont’d…) Ontology - Agents need to use a agreed vocabulary with a shared understanding of the problem domain and the environment that they can use in their communication. Can be defined by CORBA IDL or an XML schema or in ontology expressive language like DAML + OIL. ACL (cont’d…) Agents must discriminate between messages according to internal state and context of message. Context of a message contains information like information about sender, receiver, message identifier etc. which is used to differentiate the message and act accordingly in a peer to peer session of n-agents. This communication context is defined by notion of an Envelope. Abstract Communication Model Nexus-a generic mode of communication. Provides startpoint - endpoint pairs for remote objects and a form of method activation to start computation on remote objects. What is a startpoint? What is an endpoint? How communication occurs between them? ACM (Cont’d…) Virtual Link. Point-to-Point Communication Special case Point-to-Point : Multicast mode of communication Communication of two Agents over SOAP HTTP SERVER SOAP Servlet Deployment.xml Demux lookup SOAP Registry Id url Id --> SOAP Startpoint for B METHOD: Inform Agent A METHOD: Inform Agent B Agents versus Objects Degree of Autonomy. Flexibility Thread of Control Agents and Web Services Similarities Use of WSDL. Use of UDDI Registry. XML based messaging over SOAP. Agents and Web Services Differences Awareness of other peers. Use of Ontologies. Pro-active and Reactive. Autonomy. Co-operation. Technical Challenges Security. Mobility. Communication and Interoperability. Contracts. References Technologies for the Development of Agent-based Distributed Application, Tobias Butte, ACM Crossroads. Agents for the Grid: A comparison with Web Services (Part 1: Transport Layer), Luc Moreau, IEEE Conference. Agents for the Grid: A comparison with Web Services (Part II: Service Discovery), Arturo Avila-Rosas, Luc Moreau, Vijay Dialani, Simon Miles, Xiaojian Liu, IEEE Conference. Towards a Standardization of Multi-Agent System Frameworks, Roberto A. Flores-Mendez, ACM Crossroads. Web Services and Mobile Intelligent Agents, John Fou. Agents as Web Services, Michael N. Hunhs, IEEE Internet Computing, July-August 2002. THANK YOU !