Open Agent Architecture (OAA)

Open Agent Architecture (OAA)
- Part II
-Murali Krishnan
Design Patterns & Component Frameworks CS6704
1
Spring 2002
Interagent Communication Language (ICL)
ICL – Unified way of expressing
agent functionalities!
-Register capability specifications
-Request services of agents in
community
PROLOG is used!
Design Patterns & Component Frameworks CS6704
• Interface, communication & task
coordination language shared by all
agents
• Used by agents to perform queries,
execute actions, exchange
information, set triggers &
manipulate data
• Includes a conversational layer
protocol (events, parameters) &
content layer (goals, triggers &
data elements)
2
Spring 2002
ICL contd…
• Platform independent – supports C, C++, VB,
Delphi, Java, Prolog, LISP
• Interagent communication – through events & message
passing
– ev_post_solve (Goals, Params)
->typical event
• Agents use ICL to define and publish their capabilities
and services provided, to the facilitator
• Agents capabilities declarations - SOLVABLES
Design Patterns & Component Frameworks CS6704
3
Spring 2002
Solvables:
•Procedure solvables
-perform a test or action
-must have a handler declared
and defined
•Data solvables
-Provides access to collection
of data
-associated with dynamic collection
of facts
Specification of solvables:
solvable ( Goal, Parameters, Permissions )
Examples: solvable (send_message (email, +ToPerson, +Params),
[type(procedure), callback (send_mail)], [] )
solvable (last_message (email, -MessageId), [type(data), single_value(true)],
[write(true)] )
Design Patterns & Component Frameworks CS6704
4
Spring 2002
Agent library:
• Provides infrastructure for building new agent-based system
• Single, unified point of entry for requesting services –
library procedure oaa_Solve()
• Contains many other procedures like:
– oaa_declare, oaa_undeclare, oaa_redeclare – regn. with facilitator
– oaa_adddata, oaa_removedata, oaa_replacedata – updates to data
solvables
– oaa_addtrigger, oaa_removetrigger, oaa_replacetrigger – procedures
for trigger-related operations
• Inter-agent and Intra-agent communication
Design Patterns & Component Frameworks CS6704
5
Spring 2002
OAA Triggers:
• Action fired, when condition met
• Types: communication, data, task & time
• When trigger fires, execution of action is
delegated to the facilitator
oaa_AddTrigger(Type, conditions, action, params)
• Communication triggers: monitor incoming / outgoing
events
• Data triggers: monitor the state of a data repository
• Task triggers: test arbitrary conditions after processing
event or timeout
• Time triggers: monitor time related conditions
Design Patterns & Component Frameworks CS6704
6
Spring 2002
Multimodal User Interfaces:
• User is special member of agent community
• Agents compete to recognize and act on user
actions
• Natural Language (NL) translation to & from ICL
Multiagent cooperation for ambiguity resolution
• Pen: gesture or handwriting?
• Reference resolution: “photo of the hotel”
- NL Agent: hotel in language context
- Gesture Agent: hotel being pointed at
- UI Agent: only one hotel visible
- Database Agent: “hotel on Smith Street”
- Discourse Agent: “the other hotel”
- Human User: if still ambiguous, can clarify
• Cross-modality ambiguities
Design Patterns & Component Frameworks CS6704
7
Spring 2002
Multimodal map --- Example OAA application:
Sample Interaction:
2.1 [Speaking] Where is
downtown?
Map scrolls to appropriate area.
2.2 [Speaking and drawing
region] Show me all hotels near
here.
Icons representing hotels appear.
2.3 [Writes on a hotel] Info?
A textual description (price,
attributes, etc.) appears.
2.4 [Speaking] I only want hotels
with a pool.
Some hotels disappear.
Natural interface to distributed (web) data
and so on…
Synergistic combination of handwriting, drawing,
speech, direct manipulation
Design Patterns & Component Frameworks CS6704
8
Spring 2002
OAA and Scalability
Current Limitations:
Facilitator is single point of failure
Facilitator is bottleneck for communication
Possible Solutions:
Multi-Facilitator
topologies
Distribution of planning
& execution functions
of Facilitator + peer-to-peer
communication
Facilitator
Facilitator
Facilitator
Replicated
Plan + Exe
Registry &
Planner
Agent E
CMM2
Design Patterns & Component Frameworks CS6704
9
Spring 2002
OAA Characteristics:
Open: agents can be created in many languages and
Extensible:
interface with existing systems
agents can be added or replaced dynamically
Distributed: agents are spread across many computers
Parallel:
Parallel execution of subtasks
Mobile: Lightweight interfaces on phone and/or PDA
High-level: hides software and hardware dependencies
Multimodal: handwriting, speech, gestures, and direct
manipulation can be combined together
CMM2
Design Patterns & Component Frameworks CS6704
10
Spring 2002
References:
• [CMM1] The Open Agent Architecture: A Framework for Building
Distributed Software Systems – David L.Martin, Adam J. Cheyer,
Douglas B. Moran, (AI center, SRI International) (Technical paper)
• [CMM2] The Open Agent Architecture, by the same authors.
(PowerPoint presentation)
• Open Agent Architecture: Technical white paper. See website
http://ai.sri.com/~oaa
• An Open Agent Architecture, Philip Cohen, Adam Cheyer, Michelle
Wang, Soon Cheol Baeg. (See website http://ai.sri.com/~oaa
Design Patterns & Component Frameworks CS6704
11
Spring 2002