FIPA Agents and Platform

  • View
    39

  • Download
    0

Embed Size (px)

DESCRIPTION

FIPA Agents and Platform. M. Cossentino. Paradigm shift in programming. agent. Abstraction level. object. procedural. assembler. time. How agent technology will progress over time according to Agentlink II. Source: Agentlink II Roadmap. Past and future. Source: Agentlink II Roadmap. - PowerPoint PPT Presentation

Text of FIPA Agents and Platform

  • FIPA Agents and PlatformM. Cossentino

  • Paradigm shift in programmingtimeassemblerproceduralobjectagentAbstraction level

  • How agent technology will progress over time according to Agentlink IISource: Agentlink II Roadmap

  • Past and futureSource: Agentlink II Roadmap

  • Past and futureSource: Agentlink II Roadmap

  • Agent-related conceptsPlatformCommunicationOntology

    Not specifically agent concepts:servicesapplications

  • Where can you find agents todaydistributed artificial intelligence, robotics, artificial life (also in video game),distributed object computing, human-computer interaction,intelligent and adaptive interfaces, intelligent search and filtering, information retrieval, etc.

  • Different kind of agentsAn example of categorization

    Autonomous agentsBiological agentsComputational agentsSoftware agentsTask specific agentsEntertainment agentsViruses Artificial life agentsRobotic agents

    others to come

  • Different kinds of agentsAnother categorization:

    Mobile agentsInterface agentsCollaborative agentsInformation agentsReactive agentsHybrid agentsHeterogeneous agents

  • What is an agentPerhaps the most general way in which the term agent is used is to denote a hardware or (more usually) software-based computer system that enjoys the following properties:

    autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state;

    social ability: agents interact with other agents (and possibly humans) via some kind of agent-communication language [Genesereth and Ketchpel, 1994];

    reactivity: agents perceive their environment, (which may be the physical world, a user via a graphical user interface, a collection of other agents, the INTERNET, or perhaps all of these combined), and respond in a timely fashion to changes that occur in it;

    pro-activeness: agents do not simply act in response to their environment, they are able to exhibit goal-directed behaviour by taking the initiative.

    From Intelligent Agents: Theory and Practice of M. Wooldridge and N. Jennings (http://www.csc.liv.ac.uk/~mjw/pubs/ker95/ker95-html.html)

  • BDI Agents ALL agents (except for purely reactive agents) maintain an internal representation of their world.There is an explicit mental stateCan be modified by some form of symbolic reasoning.

    An example: BDI agents (BDI = Belief, Desire, Intention)a set of beliefs about the world;a set of goals that the agent is currently trying to achieve (Desires)a library of plans describing how to achieve goals and how to react to changes in beliefsan intention structure; describing how the agent is currently achieving its goals and reacting to changes in beliefs.

  • What is FIPAFIPA (Foundation for Intelligent Physical Agents) is a non-profit organization aimed at producing standards for the interoperation of heterogeneous software agents

    www.fipa.org

  • Agent: FIPA definitionAn agent is a computational process that implements the autonomous, communicating functionality of an application. Typically, agents communicate using an Agent Communication Language.

  • FIPA Agents Agents communicate by exchanging messages which represent speech acts, and which are encoded in an agent-communication-language.

    Services provide support services for agents. In addition to a number of standard services including agent-directory-services and message-transport-services the FIPA Abstract Architecture defines a general service model that includes a service-directory-service.

  • FIPA Agent: Relationships to Other Elements

    Agent has an agent-name

    Agent may have agent-attributes

    Agent has an agent-locator, which lists the transport-descriptions for that agent

    Agent may be sent messages via a transport-description, using the transport corresponding to the transport-description

    Agent may send a transport-message to one or more agents

    Agent may register with one or more agent-directory-services

    Agent may have an agent-directory-entry, which is registered with an agent-directory-service

    Agent may modify its agent-directory-entry as registered by an agent-directory-service

    Agent may deregister its agent-directory-entry from an agent-directory-service.

    Agent may search for an agent-directory-entry registered within an agent-directory-service

    Agent is addressable by the mechanisms described in its transport-descriptions in its agent-directory-entry

  • Concrete implementation of the FIPA Agentan agent may be realized in a variety of ways, for example as a Java component, a COM object, a self-contained Lisp program, or a TCL script. It may execute as a native process on some physical computer under an operating system, or be supported by an interpreter such as a Java Virtual Machine or a TCL system. The relationship between the agent and its computational context is specified by the agent lifecycle.

  • Agents(FIPA) State-machine agent

  • Agents: a software engineering point of viewAn agent is a subsystemHigh decoupling with other subsystems (agents)High coherence of internal classes (behaviors of the same agent)It offers services to other agents

    FIPA agents are communication orientedHigh Standardization in communications provide interoperability:OntologyAgent Interaction Protocols (and communicative acts)Content language

  • PASSI AgentThe instance of an agent class

    It is the software implementation of an autonomous entity capable of pursuing an objective through its autonomous decisions, actions and social relationships.

    An agent may occupy several functional roles to achieve its goals

    The function temporarily assumed by the agent in the society while pursuing a sub-goalIn playing a role the agent uses one or more of its tasks.

    A series of elementary pieces of behavior (actions) necessary for a specific purpose. Each task carries out one of the agents decisions/ actions/ social relationshipsElementary behaviorEach task is composed of several elementary behaviors

  • Platform

  • PlatformsWhat is a platformA place where agents livenot always neededPlatform responsibilities Agent managementcreation terminationsecurityAgent communication servicesAgent directory services

  • Communications (conversations)

  • Agents interactions (FIPA point of view)Agents communicate by exchanging messages which represent speech acts2, and which are encoded in an agent-communication-language.

    The simplest for of speech act (we can refer to it as a message) is: Where:i is the originator of the speech act (we can refer to it as a message), act is the name of the act (it communicates the speakers intention to the hearer)j is the target C the semantic content

    Examples of communicative acts1 (also called performatives)Query, Inform, Request, Agree, Refuse

    1FIPA Communicative Act Library Specification. Foundation for Intelligent Physical Agents, Document FIPA00037 (2000). http://www.fipa.org/specs/fipa00037/.2Searle, J.R., Speech Acts. Cambridge University Press, 1969.

  • Messages and performativesIs the door open?Open the door (for me)OK! Ill open the doorThe door is openI am unable to open the doorI will not open the doorSay when the door becomes openAnyone wants to open the door?I can open the door for you..at a priceDoor? Whats that? Dont understand...queryrequestagreeinformfailurerefuseSubscribecfpPropose

    Not-understood

  • A layered modelOne conversation can be composed of several messages, each one addressing one different performative (or communicative act)

  • ConversationsConversations are composed by one or more messagesThey are ruled by agent interaction protocols (AIP, discussed later)Given a message (and its specific performative), the AIP defines which is the set of performatives that could be associated to the following messagesIf a message does not comply to this rule, the agent could not understand it

  • Message elements

  • Components of a message

  • A layered model

  • Content and Content languageThe content denotes the content of the message; equivalently denotes the object of the action.

    The content language denotes the language in which the content is expressed.

    FIPA content languages:SL, CCL, KIF, RDF

  • A layered model

  • Agent communication Language

    The structure of a message is a key-value-tuple and is written in an agent-communication-language, such as FIPA ACL. The content of the message is expressed in a content-language, such as KIF, SL or RDF. The content-language may reference an ontology, which grounds the concepts being discussed in the content.

  • ACL message example

  • A layered model

  • Transport Message When a message is sent it is transformed into a payload, and included in a transport-message. The payload is encoded using the encoding-representation appropriate for the transport.

  • A layered model

  • Message Transport ProtocolEach agent has an agent-name. This agent-name is unique and unchangeable. Each agent has one or more transport-descriptions, which are used by other agents to send a transport-message. Each transport-description correlates to a particular form of message transport, such as IIOP, SMTP, or HTTP. A transport-message is a message expressed in a format (or encoding) that is appropriate to the transport being used. A set of transport-descriptions can be held in a locator.

  • Example of transport descriptionDirectory entry for agent ABCAgent-name: ABCLocator :