1 / 62

Software Agents Research at SICS

Software Agents Research at SICS. Seif Haridi SICS. What is an agent ?. An agent is a powerful and ubiquitous abstraction in computer science Daemons (e.g. ftp agent) User interface clients (e.g. mail agent) Physical agents (e.g. robotics) Believable agents (e.g. VR and graphics)

knut
Download Presentation

Software Agents Research at SICS

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. Software Agents Research at SICS Seif Haridi SICS

  2. What is an agent ? • An agent is a powerful and ubiquitous abstraction in computer science • Daemons (e.g. ftp agent) • User interface clients (e.g. mail agent) • Physical agents (e.g. robotics) • Believable agents (e.g. VR and graphics) • Intelligent software agents

  3. What is a software agent? We can identify some sub-categories • User-facing agents • Intelligent human-computer interface agents • Adaptive user modeling agents • Personal (expert) assistants • e.g. personal retrieval agents • Mobile software technology • Cooperating software agents • Resource discovery agents • Mediators and facilitators • Market agents

  4. So, what’s a software agent? • There isn’t a consensus yet, but several key concepts are important to this emerging paradigm • A software agent: • is an autonomous, goal-directed process • is situated in, is aware of, and reacts to its environment • cooperates with other agents (software or human) to accomplish its tasks

  5. An emerging system-building paradigm (with hype) Information Retrieval Distributed Systems agents Mobile Processes AI & Cognitive Science Database & Knowledge base Technology Machine Learning Structured Programming 1975 Objects 1982 Agents 1997

  6. Why another paradigm? • Because it addresses current issues • Fully distributed and heterogeneous • provides inherent scalability • Proactive as well as reactive • agents generalize client-server • Adaptable and evolvable • through interoperability and learning • Easier for us to model and understand • by taking an “intentional stance” • Scales over many orders of magnitude

  7. Software Agent Characteristics Cooperation • Adaptation: agents adapt to their environments and users and learn from experience. • Cooperation: agents use standard languages & protocols to cooperate and collaborate to achieve common goals. • Autonomy: agents act autonomously to pursue their agenda. • Mobility? a mobile agent is a process that migrate from machine to machine under its own control. Adaptation Autonomy

  8. Agents Characteristics:Adaptation • Achieved: • Via machine learning, knowledge discovery, statistical techniques, etc. • Via communication through exchange of metadata, brokering, and facilitation. • Interface agents acquire and use user models. • Adaptation requires agents to be situated and aware of their environments.

  9. Cooperation • Agents cooperate with human agents and other software agents. • Supported by agent communication languages and protocols. • Consistent with human conventions and intuitions. • Toward team formation and agents ensembles. • Another approach is collection of selfish agents that compete through market mechanisms. Cooperation is an indirect emergent property that results in near-optimal utilization of system resources.

  10. Autonomy • Proactive and reactive • Goal directed behavior • Appropriately long-lived • Multi-threaded behavior

  11. Agents vs. Intelligent Agents What makes an agent an “intelligent agents”? • A: The size of the price tag. • More seriously … • The paradigm covers agents of varying degrees of intelligence • Intelligent agents will tend to: • know and apply more sophisticated domain knowledge • have recognizable goals and intentions (plans to satisfy goals) • react to unexpected situations in a robust way • etc. • Software agents techniques and architectures apply to agents of little or no intelligence.

  12. Agent-Based Systems • An agent-based system is a system where critical components • are realized as agents. • Suitable when: • Problem domain is open • Changing environment, changing requirements • Problem domain is physically distributed • Problem domain is partitioned across organizations • Data, control and resources are distributed • Technology is heterogeneous

  13. Single Agent vs. MAS • Some research focuses on developing sophisticated individual agents with advanced capabilities. • SICS as well as others focus on multi-agent systems (MAS). • MAS research is particularly focused on • Cooperation and collaboration • Team and coalitions formation • Information sharing among the teams • Joint beliefs (knowledge about agents and the environment), goals and plans

  14. Agent ArchitecturesBeyond client-server Agent architectures generalizes the client-server architecture which has dominated the Internet since its beginning. • Think of your role in human society. Are you a client or a server? • Mobile agents go beyond C/S by enabling clients to distribute computations to servers and vice-versa. • Communicating agents generalize the C/S model since sometimes an agent acts as a client and sometimes as a server. • Information sources are active components.

  15. Mediated Architecturesmediates service requests and provisions Clients Agent infra-structure C Data Objects A Data Service Server A C Software Objects A A Data Objects Data Service C A A A C Data Objects Data Service Server A A Software Objects C A Data Objects A Data Service C

  16. Agent and Services A service is something that is required by an agent or some external party (e.g. the user) A service can be provided by one or more agents (cooperatively or independently) A service can be delivered entirely by an agent, or it may be be suitable/necessary to enroll a “team” of agents to deliver the service.

  17. Agent Markets • Yet another architectural view is as a decentralized market or swarm. • Key idea -- the parallel, autonomous actions of a large collection of individual agents results in emergent behavior of the collective. • Think of human society where a market view results in a smooth flow of goods from producers to consumers without centralized coordination. • Society defines and supervises only the rules of the market.

  18. Agent Communication • Hypothesis: Agent-agent communication is the key to realizing the potential of this new paradigm just as the development of human language was the key to developing intelligent human societies. • Agents use a common Agent Communication Language to communicate information, desires (request), and knowledge. • One concrete definition is “A software agent is any system which uses an ACL to exchange information”

  19. Example: Knowledge Sharing Effort • ACL consists of • High level interaction language KQML (Knowledge and Query Manipulation Languages) of different message types which is domain independent (ask, tell, reply, subscribe, achieve,…) • A content language described by its syntax (KIF Knowledge Interchange Format) and meaning of the content (Ontology) • Ontology defines shared vocabulary

  20. KQML Knowledge Query and Manipulation Language (KQML) - language for expressing messages (performatives) - based on speech-act theory - Lisp-like notation with parameter-value pairs (ask_one :content (price ’VCR34 ?GBP) :in_reply_to nil :language KIF :ontology economy :receiver info@store :reply_with video_query1 :sender 82@ACA ) Performative name: ask_one, ask_all, tell, achieve… the sender’s intention/attitude Content the informational expression Language in which the content is expressed

  21. Facilitation Services • Facilitators are a class of agents who • traffic in meta-knowledge about other agents • provide communication services such as: • message forwarding and broadcasting • resource discovery • matchmaking • content-based routing • meta-knowledge queries • Performatives of special interest: • advertise, broker, recruit, recommend, forward, broadcast

  22. What about Standards? • Main (proposed) standards has been about message formats. • E.g.: • KQML, from the Knowledge Sharing Effort • ACL, from Foundation of Intelligent Physical Agents (FIPA) • Likewise work on the content language • E.g.: • KIF, from the Knowledge Sharing Effort • ACL, from FIPA • Initiated work on dialogue model (dialogue protocols) • FIPA work • Initiated work on agent management • FIPA work

  23. What SICS is doing? • Working on a number of applications designed around the mentioned conceptual agent architectures. • Designing several experimental agent platforms. • Doing research on various agent-specific issues: • Agent communication languages • Negotiation protocols • Adaptive agents • Market mechanisms • Mobile Agents • Agent programming languages

  24. Mediated Architecture: KIMSAC • Kiosk-Based Integrated Multi-media Service Access for Citizens • European cooperative project - ACTS programme • Broadcom (IE), CAP SESA Telecom (F), CSELT (I), • Digital (IE), FAS (IE), Imperial College (UK), SICS (SE), • Social Welfare Services (IE), TelTec (IE), Trinity College (IE) • Providing personalized information services to the public • Job search for the unemployed - FAS • Social benefits - SWS • Intelligent agents provide services and aid the user • Multimedia is deployed to improve communication with the user • Open Service Architecture!

  25. The major components Video Conference Video Conference Job search Job search Job search Communication Network Kiosk/PC Kiosk/PC Kiosk/PC Kiosk/PC Social Benefits Kiosk/PC Social Benefits Social Benefits Database search Video Clip Database service Video Clip

  26. The Multi-media Flow Multimedia Presentation System Service Agent (1) (6) (5) Presentation Mediator (2) (3) (4) 1. Request for a task to be performed 2. Request for multi-media asset 3. Binding dialogue 4. Delivery of bound asset (short) 5. Delivery of bound asset (short) 6. Delivery of asset creation request Asset Templates Asset Manager

  27. An Agent Community Facilitator Multimedia Presentation System Agent Agent Maker Ontology Server Presentation Mediator Asset Manager Domain Agent Service Agent Service Agent Service Agent Video Clip DB Agent Client Verifier Video Conf

  28. Kimsac Agent Types • Asset Manager: extend an asset template with bindings • Ontology Server: provide canonical ontology definitions • Domain Agent: provide, manage and control shared data • about its domain • Video Clip Manager: act as customer towards the • Video Clip Server • Video Conference Manager: act as customer towards the • Video Conference Server • Presentation System Mediator: translate asset creation requests • to executable creation script • Job Search Agent: find jobs matching the user profile • Social Benefit Agent: find benefits which the user is entitled to

  29. Kimsac Agent Types (cont.) • SQL info provider: translates KIF data queries to SQL queries • SWS info provider: translates KIF queries to proprietary • database queries • Meta-service manager (holistic agent): enrolls service agents • in a client session • Client verifier: verifies client identity based on magnetic • stripe card and pin number. Delivers key for data access • Adaptivity Agent: offers help&guidance to the user based • on current dialogue state and user profile • Multi-kiosk manager: creates and supervises the agent societies • supporting kiosks

  30. The implementation platform • LAE - “Local Agent Environment” • Related to but different from AgentBase! • A platform for Prolog-encoded agents • Support a multitude of message formats, protocols, transport • mechanisms, external devices… via “plugins” • Provides services to agents inside the environment: • transparent message sending/receiving • transparent message format translations • dynamic agent management • management of shared belief databases • event model subsuming both external and internal “happenings” • support for situation-dependent mapping of events to actions

  31. LAE structure Domain independent. E.g. facilitators LAE Domain dependent LAE Agent System Agent Agent Agent System Agent Agent Agents Agent “plugin” services Non-agents “plugin” services Mandatory services Optional services “plugin” services

  32. Implementations of Agents Agents in the LAE Facilitator Multimedia Presentation System Agent Agent Maker Ontology Server Presentation Mediator Asset Manager Domain Agent Service Agent Service Agent Service Agent Video Clip Video Conf Client Verifier DB Agent ASL (ASL = Agent Services Layer. A CORBA-based KQML message transport system.)

  33. A set of communities For kiosk 1 For kiosk 2 Facilitator Agent Maker For kiosk 3 Facilitator Agent Maker Ontology Server Facilitator Presentation Mediator Asset Manager Agent Maker Ontology Server Presentation Mediator Asset Manager Domain Agent Service Agent Ontology Server Presentation Mediator Asset Manager Service Agent Service Agent Domain Agent Service Agent Service Agent Service Agent Domain Agent Service Agent Service Agent Service Agent

  34. Facilitator • Facilitator is an agent • acts as a match-maker (“yellow pages”) • making agents accessible to each other • based on declared competencies (services offered) • and required competencies (services required) • Two main services offered: • registration and advertisement • recommendations

  35. Registration • Agent register with facilitator on creation • Registration announces the address to the facilitator • Establishes the existence of the agent as a member • of the community

  36. Advertisements • Advertise the capabilities in terms of services offered • (messages delivering services) • Standard (default) advertisements that are agent-type dependent • default_advertisements([ • [tell, job_data(_Sel, _Res), 'kif-1', jobs, KId], • [tell, client_data(_Id, _Data), 'kif-1', welfare, KId]]) :- • get('kiosk id'(KId)) & • Instance-specific advertisements • advertise([[tell, euro_job_data(_Sel, _Res) 'kif-1', jobs, k96]])& • Core properties of this format: • [PerfName, Content, Language, Ontology, KioskId]

  37. Agent Recommendations • The acquaintances of an agent A: • the agents that A can send messages to • = the agents that A knows the address of • Get addresses from facilitator • through recommendation • referring to a competence description: • get('kiosk id'(KId)), • recommend_one([tell, client_data(_Id, _Data), 'kif-1', welfare, KId], • MsgId), • Reply provides the contact address of a matching agent • Agent’s private address-book: • set_contact_address(info_store, ClientInfoAgent),

  38. MarketSpace • Electronic commerce on the web • Instead of manually surfing the web, • use agents to find matching offers • and negotiate a deal. • Agents in seller and/or buyer roles • Acting on behalf of their owner/user • Each agent knows its user’s eoi, “expression of interest” • An eoi is a set of potential deals • An agent can communicate with other agents to determine whether • they have matching offers/requirements • They can enter negotiation when they have a common interest • They can “conclude a deal”

  39. Scope of this work advertise search negotiate order A contract is signed

  40. Information - contracts & interests • The goal of participants in a market is to close deals. • Basic information unit is the contract, a structured document. • Interests are sets of possibly interesting contracts. Contract-3 Seller Joakim Eriksson Buyer Niclas Finne Price 300 USD Goods Refrigerator Make Electrolux Model ER3117B Color White Date Dec 10 1997 signatures

  41. Noncommitting ask(A, B, eoi) -give me a matching interest tell(A, B, eoi) -this is an interest negotiate(A, B, eoi) -send me an offer Committing offer(A, B, eoi) -this is an offer accept(A, B) -your offer is accepted decline(A, B) -you are released from your offer Interaction Message types • Message types for: Advertisement, Searching, Negotiation, and Closing of Deals

  42. Example interaction • ask(A, D, ”Want to buy a refrigerator”) • tell(D, A, ”B and C”) • negotiate(A, B, ”Want to buy a refrigerator”) • negotiate(A, C, ”Want to buy a refrigerator”) • offer(B, A, ”Electrolux 3117B for $350”) • offer(C, A, ”Electrolux 3117B for $300”) • offer(A, B, ”C sells for $300”) • offer(B, A, ”Electrolux 3117B for $300”) • accept(A, B) • decline(A, C)

  43. Transactions/Conversations - using sub-agents Other Agents User Agent Interest directory Match making ConversationHandlerAgents Agent Manager Buyer

  44. Conversations - indicating type Contract-3 Agent MAP://ho.sics.se/joe/auc1 Seller Joakim Eriksson Conversation Buyer Niclas Finne Auction-7 Open to Min. Inc. Price >200 USD Goods Refrigerator Dec 24 1997 Make Electrolux 10 USD Model ER3117B Color White Date Dec 10 1997 signatures

  45. Auc7 Auc7 Web ... SMTP SMTP MAP MAP HTTP HTTP DB User Screen Store Active Handlers Agent Manager WWW Site Interest &Knowledge Product Catalog Handler Ontology Manager MIL Active Handlers Handler Manager MIF Agent Manager Directory Interest &Knowledge Handler Repository Auc7 Ontology Manager MIL Handler Manager MIF

  46. Summary • Automation of market interaction with agents • Interaction and Information models important (MIL/MIF) (compare KQML/KIF) • Tight integration with Web • JavaBase - An agent toolkit in Java • Collaboration project with Swedish Telecom, Telia

  47. Market-based Co-ordination • Co-ordinate allocation of resources among potentially non-cooperative individuals • Domain: allocation of switching capacity in a network 28 5 Traffic model for A 34 18 A

  48. The actors • Competing network providers

  49. The actors • Competing network providers • Customers at different levels (brokers, end customers) trade capacity Buy! Price for A: buy: 35sell: 38 last: 37 A

  50. The actors • Competing network providers • Customers at different levels (brokers, end customers) trade capacity • Traders act on behalf of “selfish” clients

More Related