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?
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
We can identify some sub-categories
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)
agents
DistributedSystems
InformationRetrieval
MobileProcesses
AI & CognitiveScience
Database &Knowledge base
Technology
MachineLearning
StructuredProgramming1975
Objects1982
Agents1997
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
Autonomy Adaptation
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.
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
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.
What makes an agent an “intelligent agents”?
12
Agent-Based Systems
An agent-based system is a system where critical componentsare 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
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.
Agent architectures generalizes the client-server architecturewhich has dominated the Internet since its beginning.
15
Mediated Architecturesmediates service requests and provisions
C
Clients
C
C
C
C
C
Server
Server
SoftwareObjects
SoftwareObjects
DataObjects
DataObjects
DataObjects
DataObjects
DataService
DataService
DataService
DataService
A
A
A
A
A
A
A
A
A
A
A
Agent infra-structure
16
Agent and Services
A service is something that is required by an agent or someexternal party (e.g. the user)
A service can be provided by one or more agents (cooperativelyor independently)
A service can be delivered entirely by an agent, or it may be be suitable/necessary to enroll a “team” of agentsto 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/attitudeContent the informational expressionLanguage 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
Kiosk/PC
CommunicationNetwork
Job search
Social Benefits
Databasesearch
Social Benefits
Social Benefits
Job searchJob search
Databaseservice
Kiosk/PCKiosk/PCKiosk/PCKiosk/PC
Video Conference
Video Conference
Video ClipVideo Clip
26
The Multi-media Flow
MultimediaPresentation
System
AssetManager
AssetTemplates
ServiceAgent
PresentationMediator
(1)
(2)(3)
(4)
(5)(6)
1. Request for a task to be performed2. Request for multi-media asset3. Binding dialogue4. Delivery of bound asset (short)5. Delivery of bound asset (short)6. Delivery of asset creation request
27
An Agent Community
MultimediaPresentation
System AgentAsset
Manager
ServiceAgent
PresentationMediator
DB Agent
DomainAgent
OntologyServer
AgentMaker
Facilitator
VideoClip
VideoConf
ClientVerifier
ServiceAgentServiceAgent
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
LAE
Mandatoryservices
Optionalservices
“plugin”services
“plugin”services
“plugin”services
LAEAgent
SystemAgentSystemAgent
AgentAgent
AgentAgent
Agents
Non-agents
Domain independent. E.g. facilitators
Domain dependent
32
Implementations of Agents
MultimediaPresentation
System AgentAsset
Manager
ServiceAgent
PresentationMediator
DB Agent
DomainAgent
OntologyServer
AgentMaker
Facilitator
VideoClip
VideoConf
ClientVerifier
ServiceAgentServiceAgent
Agents in the LAE
ASL(ASL = Agent Services Layer. A CORBA-based KQML message transport system.)
33
A set of communities
AssetManager
ServiceAgent
PresentationMediator
DomainAgent
OntologyServer
AgentMaker
Facilitator
ServiceAgentServiceAgent
AssetManager
ServiceAgent
PresentationMediator
DomainAgent
OntologyServer
AgentMaker
Facilitator
ServiceAgentServiceAgent
AssetManager
ServiceAgent
PresentationMediator
DomainAgent
OntologyServer
AgentMaker
Facilitator
ServiceAgentServiceAgent
For kiosk 1
For kiosk 2
For kiosk 3
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 offersand 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”
Scope of this work
A contract is signed
advertisesearch
negotiateorder
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-3Seller Joakim Eriksson
Buyer Niclas Finne
Goods Refrigerator
Make Electrolux
Price 300 USD
Date Dec 10 1997
WhiteColor
ER3117BModel
signatures
Interaction Message types
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
• Message types for: Advertisement, Searching, Negotiation, and Closing of Deals
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
ConversationHandlerAgents
Agent Manager
User Agent Other AgentsInterest directory
Match making
Buyer
44
Conversations - indicating type
Contract-3Seller Joakim Eriksson
Buyer Niclas Finne
Goods Refrigerator
Make Electrolux
Price >200 USD
Date Dec 10 1997
WhiteColor
ER3117BModel
signatures
Agent MAP://ho.sics.se/joe/auc1
Conversation
Auction-7
Open to
Min. Inc.
Dec 24 1997
10 USD
45
DB
Directory
ProductCatalog
User Screen
Store
OntologyManagerHandlerManager
WWW Site
Handler
MIF
MILHTTP
MAP
SMTP
Auc7
...
Active HandlersAgent Manager
Handler Repository
Interest &Knowledge
Auc7
Active Handlers
Web
Ontology
Manager
MIF
MIL
HTTP
MAP
SMTP
Auc7
Interest &Knowledge
Agent Manager
HandlerManage
r
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
34
28 5
18
Traffic modelfor A
A
48
The actors
Competing network providers
49
The actors
Competing network providers Customers at different levels (brokers, end
customers) trade capacity
A
Price for A:
buy: 35sell: 38last: 37
Buy!
50
The actors
Competing network providers Customers at different levels (brokers, end
customers) trade capacity Traders act on behalf of “selfish” clients
51
Practical goals
Reserve capacity along a chain of nodes Co-ordinate resources from multiple sources Quality-of-Service levels Dynamic reallocation Finding scarce resources/suggesting improvements
52
Why Markets?
Markets are general coordination algorithms A market provides a quick, aggregated source of
information of the load on a node The information takes alternative paths into
account (in perfect markets) thereby is an automatic load balancing strategy
53
The Experiment
Exchange/Bourse
Price for B:
buy: 25sell: 26last: 24
Price for A:
buy: 35sell: 38last: 37
Markets/order books
Markets/order books
GUI
Portfolio Orders Transactions
AgentsAgentsAgentsAgents
AgentsAgentsAgentsAgents
54
Site distribution
55
Simple Agent Behaviour
Announce fraction of needed vol. Re-evaluate often
Buyer: if no current offer, bid very lowor last price, else bid close to sell price
Seller: start with 50% marginal profit,decrease if not all was sold, else increase
56
Complex orders
Combining resources and reselling them creates complex services
Combined transactions serializes trading:– Volvo + Ericsson < 600
We want trading to be asynchronous!
57
Reducing risk
Creating a compound resource<=> exposure to risk
Selling first, selling the combined resource before buying component resources (components available for high price)
Buying first, buying components before selling: no body is willing to buy for ‘combined’ price
Hedge the risk with option contracts/futures Extra cost = risk premium How to measure “profitable strategies” and resulting
traffic pattern
58
ConCall
• Edinfo project• Editor support for open adaptive information services• ConCall - providing customized information about conferences
and workshops• Users review calls, set up reminders, set up filters
of “buzzwords”• Calls reviewed in Netscape, reminders provided
via email or SMS
59
ConCall Architecture
PSA
ReminderService
ConCallAgent
UserProfile
LoggingAgent
DatabaseServer
60
Agents in ConCall
• PSA, Personal Service Assistant, helps the user toselect services
• Reminder Service reminds user about upcoming deadlines• User Profile maintains the user profile based on information
about user actions provided by ConCall• ConCall Agent provides the interface to the conference
call database, using profile data to screen the entries• Database Agent, a shared server, provides access to
available calls• Logging Agent stores information about events in the system
61
ConCall implementation
• Agents implemented in AgentBase• The personal agents maintain information during
a session, and between sessions (persistence)• Agent communication through KQML messages,
with content as ground Prolog terms• User-to-agent interaction via applets
PSA and Reminder Service via private appletsUser Profile, ConCall and DataBase share one applet
62
Other Project
Personal digital library– Individuals maintain personal libraries,
connected to an agent infra-structure– Recommender agents match users profiles and
find other papers that match users interest Network Management
– uses FIPA infra-structures to propose open network management architecture
Top Related