Intelligent Agent Technology Jeffrey M. Bradshaw Bob Carpenter Rob Cranfill Mark Greaves Heather Holmback Renia Jeffers Luis Poblete Amy Sun Applied Research and Technology Shared Services Group The Boeing Company
[email protected]
Why Software Agents? ◆
Original agent work instigated by researchers studying distributed intelligence
◆
New wave of agent research motivated by two practical concerns: – Overcoming the limitations of current user interface approaches – Simplifying the complexities of distributed computing
◆
Though each of these problems can be solved in other ways, the aggregate advantage of agent technology is that it can address both of them at once: – by supplementing direct manipulation with indirect management approaches – by building in high-level, loosely-coupled collaborative capabilities “out of the box”
Evolution of System Connectivity Disjoint
Ad hoc Encapsulated
Cooperating Systems with Single Agent as Global Planner
A
Cooperating System with Distributed Agents A
A
A
A
A
Agent-Enabled System Architecture Integrated interface to knowledge media Agents as intelligent interface managers Agenttoagent communication
Interapplication communication
Agent as personal assistant
Agents behind the scenes
What is a Software Agent? ◆
Agents are software entities that function continuously and autonomously in a particular environment that is often inhabited by other agents and processes
◆
Ideally a software agent should be able to: – carry out activities without requiring constant human guidance – learn from its experience – communicate and collaborate with people and other agents – move from place to place over a network as necessary
◆
Not all software agents need be “intelligent” (agents vs. minions)
◆
There is no hard dividing line between object technology and multiagent technology
Basic Agent Characteristics Agents act autonomously to accomplish objectives. • Goal-Directed • Knowledgeable • Persistent • Proactive & Reactive
Autonomous
Agents cooperate to achieve common goals. • Communication Protocols • Knowledge-Sharing • Coordination Strategies • Negotiation Protocols
Agents adapt to their environment. • Dynamic Interaction • Alternate Methods • Machine Learning
Adaptive
Cooperative
Note: Agents can be either static or mobile, depending on bandwidth requirements, data vs. program size, communication latency, and network stability (Dyer, DARPA CoABS)
Agents and Objects Basic unit
Objects instance
Agents agent
Statedefining parameters
unconstrained
knowledge, desires, intentions, capabilities,…
Process of computation
operations
messages
Message types
defined in classes
defined in suites
Message sequences
implicit
defined in conversations
Social conventions
none
honesty, consistency,…
(Adapted from Shoham)
Applications of Software Agents ◆
Office automation/engineering support – – – –
◆
Information access – –
◆
“fair” allocation of limited computing resources dynamic rerouting and reassignment of tasks
Active document interfaces – –
◆
retrieval, filtering, and integration from multiple sources Internet, intranet, extranet
Resource brokering – –
◆
mail filtering meeting scheduling intelligent assistance training and performance support
intelligent integration and presentation to suit the task dynamic configuration according to resource availability and platform constraints
Intelligent collaboration – – –
between systems among people mixture of people and agent-assisted systems
Boeing IAT Program Objectives u
More powerful agent frameworks – New KAoS release – UtterKAoS: Conversations, Security, Persistence, Mobility, Middle Agents, Planning – Incorporation of COTS components (e.g., Voyager, Java platform enhancements)
u
Easier creation of sophisticated agents – ADT, comprised initially of CDT, SDT, PDT
u
Deploy in spectrum of application areas – Current areas: Information Access, DIG-IT, NASA Aviation Extranet, DARPA JumpStart – New opportunities: Spacecraft autonomy, hybrid networking QoS, security, UCAV, engineering, manufacturing
◆
◆
◆ ◆
◆
◆ ◆
◆
Some Long-Term Requirements for Industrial-Strength Agents Architecture appropriate for a wide variety of domains and operating environments Hardware-, operating-system-, programming-languageindependent Separability of message and transport layers Foundation of distributed-object/middleware (e.g.,CORBA, DCOM) and Internet technologies Fits well into component integration architectures (e.g., ActiveX, JavaBeans, Web browsers) Principled extensibility of agent-to-agent protocol Designed to work with other agent architectures, and to allow easy “agentification” of existing software Must be able to incorporate agent interoperability standards as they evolve
KAoS Implementation Context Adaptive Virtual Document
Component integration framework
T SGML/XML Component
Database Component Multimedia Component
Agents CORBA
Local and remote databases and services
Object Request Broker Component Link Web and tools and Servers other Internet Finegrained services services data objects
KAoS Structure and Dynamics Birth Life
Update Structure
Formulate/Act on Intentions
Death
Agent Structure • Knowledge • Facts • Beliefs • Desires • Intentions • Capabilities
Cryogenic State
KAoS Extension and Generic Agent Agent Extension Specific to Particular Agents
Optional Planner
Shared by All Agents
Conversation Support
Various Capabilities TransportLevel Communication Security
Generic Agent
Agent-to-Agent Communication Within an Agent Domain Agent Domain
Generic Agent Instance Agent A
Agent-toAgent Protocol
Agent B
Generic Agent Instance
Domain Manager and Matchmaker ◆ ◆ ◆
◆
◆ ◆
◆ ◆ ◆
◆ ◆ ◆
The Domain Manager: Controls entry/exit of agents within a domain, governs proxy agents (i.e., security) Maintains a set of properties on behalf of the domain administrator Provides the address of the Matchmaker to agents within its domain (i.e., naming) The Matchmaker: Helps clients find information about the location of agents that have advertised their services Forwards requests to Matchmakers in other domains as appropriate Can be built on top of native distributed object system services (e.g., trader) Agents Providing Services: Advertise their services to the Matchmaker Are notified by the Matchmaker if their services have been registered Withdraw their services when they no longer wish to provide them Agents Requesting Services Ask the Matchmaker to recommend agents that match certain criteria Are given unique identifiers for the agents that match the criteria Communicate directly with these agents for services
Anatomy of a KAoS Domain External Resource
Telesthetic Extension
Proxy to Another KAoS Domain
Mediation Extension
GA
GA KAoS Agent Domain
Domain Mgr. Extension
GA Matchmaker Extension
GA
Ext. from Foreign Domain Adapter
GA
GA = Generic Agent
Proxy Extension
GA
Conversations ◆
◆
Social interaction is more appropriately modeled when conversations rather than isolated illocutionary acts are taken as the fundamental unit of discourse Two approaches to implementing agent conversations (Walker and Wooldridge): – off-line design: social laws are hard-wired in advance – emergence: conventions develop from within a group of agents
◆
KAoS currently provides only for off-line design of conversations, represented as state-transition networks – Shared knowledge about message sequencing conventions enables agents to coordinate frequently recurring interactions of a routine nature simply and predictably. – Cohen and Smith’s semantics and joint intention theory have been used to analyze KAoS conversation policies – In the future, more sophisticated agents will either be able to use less constraining “landmark-based” conversation policies or fall back to more rigid policies with identical semantics to communicate with simpler agents – In support of this, DARPA is funding us to develop a Conversation-
KAoS Conversation Policies u u
Interaction among agents best modeled at the conversational level, rather than isolated speech acts Conversation policies are agent dialogue building-blocks that provide a set of constraints that define and restrict what can take place in individual agent conversations – Policies can be expressed via many different representation formalisms, from regular expression grammars to dynamic logics
u
Conversation policies ensure reliable communication among heterogeneous agents while lessening agent’s burden of inference – Agents choose between a greatly reduced number of possible conversational moves – Conversation manager (component of “generic agent”) assures compliance with policy; handles exceptions
u
References: http://www.coginst.uwf.edu/~jbradsha/
“Conversation for Action” Policy A->B: Request
1
B->A:Promise
2
B->A: Counter
B->A: Decline
A->B: Counter
9
7
A->B: Withdraw
A->B: Decline Report B->A: Renege
A->B: Accept
5
A->B: Withdraw
B->A: Report Satisfied
3
6
A->B: Withdraw
A->B: Accept Report
4 A->B: Withdraw
8
• Communication about commitments (promise, renege) is handled explicitly, and A can notify B when the request was not fulfilled to its satisfaction (decline report) • See formal analysis of Conversation for Action Policy in Smith and Cohen 1996 AAAI paper
KAoS Applications ◆
◆
◆
◆
◆
DIG-IT: Boeing digital data integration effort to integrate agents in next-generation PMA and BOLD NASA Aviation Extranet: Agent-assisted access to information and services over a large-scale virtual private network AHCPR CDSS Project: Long-term follow-up support for bone marrow transplant patients at the Fred Hutchinson Cancer Research Center DARPA Jumpstart Project: Development of agent design toolkit (Boeing, UWF Cognition Institute, Sun Microsystems, IntelliTek) Agents for space applications: Proposal to use KAoS for a multi-agent testbed in satellite operations, and in the development of a Personal Satellite Assistant (in preparation)
JumpStart Project Overview u
Selected under the DARPA CoABS Program – Approximately 20 other participants
u u u
Partners: Boeing , Sun, UWF, IntelliTek Collaborator: Oregon Graduate Institute (CHCC) Deliverables: – Prototype software (CDT and SDT) – Periodic technical reports and demos – Interoperability demos with other CoABS participants
DARPA’s Vision of the Future of Agents u
The Future of Agent Ensembles – Agents authored by different vendors at different times – Wide variety of agent reasoning and action capabilities – Complex operational environment: • Unpredictable universe of action • Dynamic task-specific agent teams • Collaborative, negotiated problem-solving behavior
u
The Future of Agent Developers – More agents written by domain experts; fewer agents written by agent-technology experts – Decreased ability to control agent contexts of use
Simple Agents May Not Need a Complex Theory u
Simple agent systems may require only simple models of communication to achieve their ends – – – –
u
Limited tasks, collaborations, interactions with one another Predictable all simple-agent universe of action Limited and domain-specific reasoning requirements Conversations are atomic transactions
Example: – Simple personal information retrieval agents • interact mainly with non-agent information sources • little negotiation or bargaining
Sophisticated Agents Require Sophisticated Theory u
But, consider more complex applications, involving: – – – – –
u
Higher reliability, verifiability, precision of expression Arbitrary, dynamic agent collaboration with negotiation Unpredictable universe of action Complex autonomous reasoning about other agents, plans Extensive human-agent interaction
Examples: – Electronic Commerce/Electronic Trading, Air Traffic Control, Health Care, Military, etc.
u
This requires a sophisticated multiagent communication model, e.g., conversations, with an explicit semantic foundation.
Operating in Heterogeneous “What We’ve Got Here is a Failure To Communicate” Environments
◆ ◆ ◆
Mixture of different agent frameworks Mixture of simple and sophisticated agents Approach: shared conversation and security policies, generated off-line, that increase interoperability and robustness in heterogeneous agent environments
JumpStart Technical Objectives ◆
Current Focus: Communication and Security tools
– More agents written by domain experts; fewer agents written by agent-technology experts – CP scenarios require that agent policy configuration be rapid and robust – Additional classes of development tools needed in future ◆
Help developers design reliable agent conversations – Help develop ACL semantic and pragmatic theory and standards – Provide a prototype conversation design tool (CDT) • Aid agent developers in understanding ACL semantics • Help select, specialize or generate appropriate conversation policies
◆
Help developers design reliable systems with desired agent security characteristics – Develop foundations for agent security and mobility standards – Provide prototype security design tool (SDT) allowing agent developers to easily select, specialize or generate appropriate agent security policies
Conversation Policy Example: Winograd and Flores CFA A->B: Request
1
B->A:Promise
2
B->A: Counter
B->A: Decline
A->B: Counter
9
7
A->B: Withdraw
A->B: Decline Report B->A: Renege
A->B: Accept
5
A->B: Withdraw
B->A: Report Satisfied
3
6
A->B: Withdraw
4 A->B: Withdraw
8
A->B: Accept Report
u
u
u
u u
Combining Finite-State-Based and Plan-Based Conversation Policy Approaches
Intelligent agents can use less constraining plan-based policies that give them flexibility of determining many specifics of conversational moves on-the-fly Constraints governing plan-based conversation policies make them less complicated to implement than unrestricted agent dialogue models Simpler agents will continue to rely on more rigidly defined FSM-based policies where the universe of possible moves has been pre-computed “off-line” FSM and plan-based versions of same policy must comply to same semantics and pragmatics Appropriate “version” can be negotiated between agents at runtime
Extending Semantics/Pragmatics u
Participate in ongoing ACL development – KAoS, AgentTalk, FIPA, KQML-Lite, KQML-Rite – Ultimate goal of consensus on a compositional semantics with principled extensibility
u
Analyze the ACL speech acts & conversation policies – We will study/develop basic conversation properties (e.g., the ordering, timing, sequences of communication acts) – Match representations of conversation policies to diverse levels of agent capability: • Finite-state-machine models • Landmark models • Emergent conversations
– FSM and landmark models of same policy must comply to same semantics and pragmatics; choice of model negotiated at runtime between agents – We will also investigate other pragmatic conditions imposed by context (e.g., meta-conditions on agent conversations)
CDT: An Extensible Java Toolkit for Agent Conversation Design u u
The CDT is a formal design and verification system for a given theory of agency and ACL Stanford’s OpenProof will be the core framework – OpenProof is a component-based (JavaBeans) formal heterogeneous reasoning environment • Allows development of various representations (sentences, reasoning trees, FSMs, Dooley graphs, Petri nets, etc.) • Logical fragments (deductive rules, theorem-provers) • Heterogeneous transfer rules
– Extensible to different logics and theories of agency u
Generate resultant conversation policies – Off-line design simplifies agent development and reduces burden of inference for agents at runtime – Policies mediate interaction, helping increase interoperability and robustness in heterogeneous environments
Java Security and Mobility u
u u
Java is currently the most popular and arguably the most security-conscious mainstream language for agent development Its cross-platform nature makes it well-suited for heterogeneous environments However Java 1.0-1.1 failed to address many of the challenges posed by agent software – All or nothing philosophy in “sandbox” – Lack of fine-grained resource control – Security policy implementation requires writing your own security manager – Applet mechanisms are insufficient for autonomous agent mobility
New Developments in Java Security and Mobility
u
u
Mechanisms for increasing configurability, extensibility, and fine-grained access control are under development at Sun Microsystems Java 1.2 enhancements – Applets and applications on equivalent security footings – Finer-grained configurability and better resource control – Specification of much of the security policy via an external policy file, thus separating policy from mechanism
u
These new developments provide an initial foundation for support of agent-unique requirements
Security Design Tool (SDT) u
Accelerate incorporation of required agent security and mobility features into the Java platform – Foundation of new Java security model + changes to Java VM – Work with vendors, developers, standards organizations
u
Issues for Java platform enhancement and SDT development – Agent authentication and PKI management – Secure communication – Enhanced configurability and resource management • Denial of service issues: CPU, disk, memory, display • Load balancing and grid “resource dial”
– Support for secure agent mobility u
SDT Benefits – Configurable “starter set” of agent security policies – Interoperability among different agent frameworks (grid “security dial”?) – Faster creation of robust agents by non-experts
Agent “Scram” Capabilities for Anytime Mobility
Anytime Mobility u u
Telescript provided completely transparent agent mobility Current Java-based agent systems do not – Agent system code runs inside the VM; no access to execution state
u
Advantages of transparent agent mobility – Agent code need not be structured with many entry points – Allows the agent system (as well as the agents themselves) to move agents between hosts – May be transparent to the agent (may require additional redirection of agent resources) – Supports load balancing of long running agents in the grid
u
Requires modifications to the Java VM
Airplane Troubleshooting Evolution "PAPER" BASED REFERENCE
(Standalone / Linearly Organized / Org Driven Tools (Stovepipes) / Unsync Revs / Not @ Jobsite / Rev Cycle 2 Mo.) Today's Environment (Not Process Oriented)
DDG
AMM
FIM
CLG
Troubleshooting CBT
IPC
• Variable Fault Download Tools • ACARS Reporting • FRM • Anecdotal • BITE
COMPUTER BASED REFERENCE (Relevant Standalone Ref Data / Hyperlinked / Org Driven (StovePipe) / SemiSync Revs / @ Jobsite / Rev Cycle 2 Mo.) PMA Prototype (Bridge to Process Oriented) • Variable Fault Download Tools • ACARS Reporting • FRM • Anecdotal • BITE
Dispatch Deviation Guide (DDG)
Fault Isolation Manual (FIM)
Airplane Maintenance Manual (AMM)
Illustrated Parts Catalog (IPC)
Fly or Fix
Troubleshooting
Remove/Replace Test/Restore
Parts Where & When Needed
INTELLIGENT PERFORMANCE SUPPORT & REFERENCE TOOLS (Process Based / Hyperlinked / Intelligent Agents / Multimedia / Seamless Fault Det Fly or Fix Res / Rev Cycle Š 2 Mo.) Vision (Process Oriented) Process Steps Approach
Underlying New Technologies Required
In Flight Fault Detection & Downlink
Personnel Readiness
Fault Isolation
Fly / Fix Return to Service
Update Data "Documents"
Update Airline Enterprise Data System
Electronic QRH & ACARS
Component Location Multimedia Training Enterprise Data
Agent Assisted Trouble Shooting
Multimedia (JIT) Agent Assisted R&R, Test & Return to Service
Feedback to the Fault Fix System
Feedback to Airline Enterprise System
Component Integration Architecture
Intelligent Agents
Independent Links
Wireless & Wearable Computing
Media Servers 11.130.6 Evolution
Agent Roles in Technical Information u
Agent-Assisted Document Construction At the user-interface, agents work in conjunction with compound document and web browser frameworks and document management tools to select the right data, assemble the needed components, and present the information in the most appropriate way for a specific user and situation. A
u
Agent-Assisted Software Integration Behind the scenes, agents take advantage of distributed object management, database, workflow, messaging, transaction, web, and networking capabilities to discover, link, manage, and securely access the appropriate data and services.
A
A
A
A
Aviation Extranet Goals “By the turn of the century, airlines will be able to dynamically reconfigure their flight operations for improved safety and more efficient transportation for the traveling public”
◆
Develop middleware components to integrate and extend the capabilities of aviation legacy systems on a secure extranet to support: – – –
◆
Develop Extranet Global Information Services – –
◆
Real-time aircraft and airport situational awareness and scheduling and planning functions Maintenance and operations procedures enhancements Feedback data mechanisms to design/manufacturing models and simulators
Intelligent agents Metadatabases and Data Warehouses
Conduct advanced research in decision support tools for the Aviation Community
Aviation Extranet Goals (cont.)
Meta-Dbases
Data Warehouses
Data Mining
Intelligent Agents CORBA Components Legacy Data Systems
Decision Support Systems
Extranet Network Hardware
Aviation Extranet Middleware Architecture Industry Data Sources
Industry Data Sources Maintenance/ Ancillary MetaDbases
Industry Data Sources RealTime Ops MetaDbases
Doman Service Stations
Domain Service Design/ Stations Manufacturing
MetaDbases
Domain Service Stations
Intelligent Web Servers
Regulations/ Documentation MetaDbases
Domain Service Stations
Industry Data Sources CORBA Interfaces
Intelligent Agents
Web Browser
●
Extranet Security
● ●
Boeing DB
Authenticate
Web Server
Certificate Check
(Reverse Proxy)
& Certificate Check
CORBA Server
Certificate Check
Authenticate Once PermissionBased Access Encryptable Communication
Agent
User Client
A2A (over IIOP, TCP/IP, COM)
Agent
HTTP
Agent
IIOP
Agent
Data Access Agent
Airline
Agent
DB DB
CORBA Server
Certificate Check
Agent
CORBA Server
Gov't
Certificate Check
DB
CORBA Server DB
Agent
DB
Agent-Based Framework for Information Access
Matchmaker Agent Metadata/ Ontology Agent
User Agent
User Agent
Information Broker Agent
Information Broker Agent
Information Service Agent
Information Service Agent
Information Sources
Matchmaker Agent
Information Service Agent
Metadata/ Ontology Agent
* Matchmaker is connected to almost every agent