1 / 66

FIPA Agents and Platform

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.

lorene
Download Presentation

FIPA Agents and Platform

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FIPA Agents and Platform M. Cossentino

  2. Paradigm shift in programming agent Abstraction level object procedural assembler time

  3. How agent technology will progress over time according to Agentlink II Source: Agentlink II Roadmap

  4. Past and future Source: Agentlink II Roadmap

  5. Past and future Source: Agentlink II Roadmap

  6. Agent-related concepts • Platform • Communication • Ontology • Not specifically agent concepts: • services • applications

  7. Where can you find agents today • distributed 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.

  8. Different kind of agents An example of categorization • Autonomous agents • Biological agents • Computational agents • Software agents • Task specific agents • Entertainment agents • Viruses • Artificial life agents • Robotic agents … others to come

  9. Different kinds of agents Another categorization: • Mobile agents • Interface agents • Collaborative agents • Information agents • Reactive agents • Hybrid agents • Heterogeneous agents

  10. What is an agent Perhaps 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)

  11. ALL agents (except for purely reactive agents) maintain an internal representation of their world. There is an explicit mental state Can 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 beliefs an intention structure; describing how the agent is currently achieving its goals and reacting to changes in beliefs. BDI Agents

  12. What is FIPA • FIPA (Foundation for Intelligent Physical Agents) is a non-profit organization aimed at producing standards for the interoperation of heterogeneous software agents www.fipa.org

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

  14. 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.

  15. 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

  16. Concrete implementation of the FIPA Agent • an 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.

  17. (FIPA) State-machine agent Agents

  18. Agents: a software engineering point of view • An agent is a subsystem • High 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 oriented • High Standardization in communications provide interoperability: • Ontology • Agent Interaction Protocols (and communicative acts) • Content language

  19. PASSI Agent In playing a role the agent uses one or more of its tasks. Each task is composed of several elementary behaviors An agent may occupy several functional roles to achieve its goals The 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. Elementary behavior A series of elementary pieces of behavior (actions) necessary for a specific purpose. Each task carries out one of the agent’s decisions/ actions/ social relationships The function temporarily assumed by the agent in the society while pursuing a sub-goal

  20. Platform

  21. Platforms • What is a platform • A place where agents live • not always needed • Platform responsibilities • Agent management • creation – termination • security • Agent communication services • Agent directory services

  22. Communications (conversations)

  23. 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: • <i, act (j, C)> • 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 speaker’s 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.

  24. Is the door open? Open the door (for me) OK! I’ll open the door The door is open I am unable to open the door I will not open the door Say when the door becomes open Anyone wants to open the door? I can open the door for you..at a price Door? What’s that? Don’t understand... query request agree inform failure refuse Subscribe cfp Propose Not-understood Messages and performatives

  25. A layered model One conversation can be composed of several messages, each one addressing one different performative (or communicative act)

  26. Conversations • Conversations are composed by one or more messages • They 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 messages • If a message does not comply to this rule, the agent could not understand it

  27. Message elements

  28. Components of a message

  29. A layered model

  30. Content and Content language • The 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

  31. A layered model

  32. 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 isexpressed in a content-language, such as KIF, SL or RDF. • The content-language mayreference an ontology, which grounds the concepts being discussed in the content.

  33. ACL message example

  34. A layered model

  35. 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.

  36. A layered model

  37. Message Transport Protocol • Each 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.

  38. Example of transport description Directory entry for agent “ABC” Agent-name: ABC Locator :

  39. A layered model Out of our scope

  40. Ontology

  41. Ontology • Concepts (categories, entities of the domain) • Predicates (assertions on properties of concepts) • Actions (that agents can perform in the domain). Book_in_stock Searched_book

  42. Agents Interaction Protocols(AIP)

  43. Message Content Languages

  44. A proposition in RDF Proposition: "The statement 'W. Richard Stevens is the author of TCP/IP Illustrated' is true". <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"          xmlns:fipa=http://www.fipa.org/schemas/fipa-rdf0#">   <fipa:Proposition>     <rdf:subject>TCP/IP Illustrated</rdf:subject>     <rdf:predicate rdf:resource="http://description.org/schema#author"/>     <rdf:object>W. Richard Stevens</rdf:object/>     <fipa:belief>true</fipa:belief>   </fipa:Proposition> </rdf:RDF> author W. Richard Stevens TCP/IP Illustrated

  45. A communication (ACL+RDF+Request AIP) Scenario: Mary requests John to open door 1 and door 2 and then wants John to inform her if he performed the action and what the result is. Message 1: Request from Mary to John containing the description of the action,   Message 2: Inform from John to Mary, referring to the action and stating the completion of the action. (request   :sender Mary   :receiver John   :content ( <?xml version="1.0"?>     <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#“              xmlns:fipa="http://www.fipa.org/schemas#">        <fipa:Action rdf:ID="JohnAction1">         <fipa:actor>John</rdf:actor>         <fipa:act>open</rdf:act>         <fipa:argument>           <rdf:bag>             <rdf:li>door1</rdf:li>             <rdf:li>door2</rdf:li>           </rdf:bag>         </fipa:argument>       </fipa:Action>     </rdf:RDF>)   :language fipa-rdf0)

  46. A communication (ACL+RDF+Request AIP) (inform   :sender John   :receiver Mary   :content ( <?xml version="1.0"?>     <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"              xmlns:fipa="http://www.fipa.org/schemas#">       <rdf:Description about="#JohnAction1">         <fipa:done>true</fipa:done>         <fipa:result>doors closed</fipa:result>       </rdf:Description>     </rdf:RDF> )   :language fipa-rdf0)

More Related