IMPACT: Interactive Maryland Platform for Agents Collaborating Together

advertisement
IMPACT: Interactive Maryland
Platform for Agents
Collaborating Together
V.S. Subrahmanian
Department of Computer Science
University of Maryland
vs@cs.umd.edu
Part funding from: Army Research Lab, DARPA, University of Maryland, and
some non-government sources.
Research initiated by: Army Research Office and Army Research Lab
1
IMPACT Technical Overview

IMPACT Agent Architecture



Key Scientific Contributions





Agent development languages
Temporal and uncertain agent reasoning
Agent security
IMPACT Agent Development Environment
Key Applications





What is an IMPACT agent?
What is required of a platform supporting multiagent applications?
ARL Combat Information Processor
Army Logistics
Agent based security
Distributed Simulations
Planned work for Years 3 and 4
1999 IMPACT Workshop
2
IMPACT Agent Architecture
Agent
Program
Actions
Concurr’cy
MSG Box
Function Calls
Legacy/Special
Data Structures
Action Constraints
Integrity Constraints
Other
agents
NETWORK
(distributed) data
- agent state
1999 IMPACT Workshop
3
Summarized Agent Definitions
Many definitions of agents have been proposed. We outline
three representative examples - FIPA’s, DARPA’s and
Shoham’s.
 FIPA: Proposed a list of basic agent capabilities, incl.




speech, visual, actuator I/O primitives
syntactic and semantical info fusion
messaging languages, interaction protocols, etc.
Darpa Co-ABS:



agents act autonomously to accomplish objectives
agents adapt to their environment.
agent cooperate to achieve common goals.
1999 IMPACT Workshop
4
Agent Definitions
Shoham’s definition- an agent is a
program supporting:
 Ongoing execution
 autonomy
 adaptiveness
 intelligence
 agent awareness
 mobility
 anthropomorphism
 reactivity
 evaluating courses of action
 communication
 planning
 negotiation
All the above definitions are
“behavioral” definitions. IMPACT
provides a “structural” definition
of an agent, together with formal
models of the desired “behaviors”
specified by FIPA,Co-ABS and
Shoham.
1999 IMPACT Workshop
5
IMPACT Agents: Data Access

Code Call: d:f(arg1,…,argk). Execute function f defined in
data structure d on the specified arguments. Return a set
of objects.



Oracle:select(‘depots.rel’,item,=,combat boots)
Route:plan(‘map1’,20,20,50,43).
Code Call Atom: in(X,d:f(arg1,…,argk)). Succeeds if X is
in the set of objects returned.


In(X, Oracle:select(‘depots.rel’,item,=,combat boots)). Find all
tuples with item field equal to “combat boots”
in(X, Route:plan(‘map1’,20,20,50,43)). Find all routes returned
by route planner between points (20,20) and (50,43) w.r.t. map1.
1999 IMPACT Workshop
6
Code Call Conditions

A conjunction of




code call atoms and
comparison atoms.
In(X, Oracle:select(‘depots.rel’,item,=,combat boots)) &
X.qty > 1000 & in(R,route:plan(‘map’,99,25,X.xc,X.yc)).
The above says: find X,R such that:


X is a tuple in an Oracle “depot” relation specifying a depot with
over 1000 combat boots, and
Y is a route from the location of that depot to a location (99,25)
where the entity requesting the combat boots is located.
1999 IMPACT Workshop
7
Agent Integrity Constraints




An agent integrity constraint is a condition that the
agent’s state must always satisfy.
An agent integrity constraint has the form
<code call condition> ==> <code call atom>
If the agent state satisfies the code call condition, then it
must also satisfy the code call atom.
All created routes must be over 90% safe.
In(R,route:plan(Map,X1,Y1,X2,Y2)) => In(S,route:safe(R)) & S > 0.9
 Everybody makes less money than their boss.
In(T1,oracle:all(‘emp’)) & in(T2,oracle:select(‘emp’,name,=,T1.boss)) =>
T1.sal < T2.sal
1999 IMPACT Workshop
8
Agent Actions

An action consists of:








action name a(a1,...,an)
a precondition code call cond.
An add list code call cond.
A delete list code call cond.
An execution algorithm
Unlike AI, actions are
implemented via imperative
code.
Preconditions/Add/Delete lists
are used by IMPACT to assess
effects of the action, not to
implement the actions.
Each agent has a set of
associated actions.

Examples of actions:












execute request
modify request and execute
send message(s)
clone agent
move to remote site
do-nothing
post web page
create file
create bar graph
construct route
update database
ETC…..
1999 IMPACT Workshop
9
Agent “Concurrency” Notion






Takes several actions as input.
Returns a single “merged” action as
output.
IMPACT has proposed 3 ways of
concurrent action execution.
They vary in underlying intuitions and
application use, but also
 one is polynomial (efficient !)
 one is NP complete
 one is co-NP complete.
Lesson: Choosing sophisticated ways
of merging actions may be expensive.
IMPACT Agent Development
Environment supports a library (under
development) for the agent developer
to choose concurren execution
methods.
A
c
t
I
o
n
s
Notion of
concurrency
A
c
t
I
o
n
Agent
state
1999 IMPACT Workshop
1
Agent action constraints




Action constraints specify conditions under which the
agent cannot concurrently execute certain actions.
They have the form
{a1,…,an} <~ <code call condition>
This says that if the code call condition is true w.r.t. the
agent’s current state, then actions a1,…,an cannot be
executed concurrently.
Examples: Moves in two different directions cannot be concurrently
executed.
{ move(Dir1),move(Dir2)} <~ Dir1 <> Dir2.
Orders must stay within the budget.
{ order(Item1,Cost1),order(Item2,Cost2)} <~ in(Amt,budget:avail()) & Amt <
Cost1 + Cost2.
1999 IMPACT Workshop
1
Agent Program
Set of rules of the form
Op a(arg1,…,argn) <= <code call condition> &

+/- Op1 a1(<args>) & … & +/- Opn an(<args>).
Op is a “deontic modality” and is either







P - permitted
O - obligatory
Do - do
F - forbidden
W - obligation is waived.
If the code call condition is true and the deontic
modalities in the rule body are true, then
Op a(arg1,…,argn) is true.
1999 IMPACT Workshop
1
Example agent program rules
Do send-warning(E,M) <= in(Loc,entity:curloc(E)) &
in(E’,entity:hostiles()) &
in(Loc’,entity:curloc(E’)) &
in(D,geo:dist(Loc,Loc’)) &
<(D,25) &
=(M,file:create(E’,Loc’,D)).
Do log(E,M,T) <= Do send-warning(E,M) &
in(T,clock:now()) &
~ F logging.


Send a warning to entity E if there is a hostile entity
within 25 distance units of it.
If a warning is sent and logging is not forbidden, then
send a log message now.
1999 IMPACT Workshop
1
What is an agent?

An IMPACT agent consists of:








a set of data types
a set of API functions implemented in any language manipulating
those types
a set of actions implemented in any language
a notion of concurrency
a set of action constraints
a set of integrity constraints
an agent program
IMPACT agents can provably support the criteria listed in
the behavioral definition of an agent given by Shoham,
FIPA, IBM, etc.
1999 IMPACT Workshop
1
Agentization Procedure

To convert a program to an agent, do the following:








describe types manipulated by program
describe I/O types of API function calls
define agent’s integrity constraints
select/define actions that can be executed by agent
select/define concurrency notion
define agent’s action constraints
define agent’s agent program
In addition, one may


specify yellow pages info and register agent with IMPACT Server
specify connect information
1999 IMPACT Workshop
1
Advantages of IMPACT Agents, I

Rich mathematical foundation. Demonstrated by two papers in AI
journal, one accepted paper for J. of Logic Programming, and accepted book on
IMPACT (MIT Press, spring 2000), and several submitted journal papers.

Can build on legacy data/code and specialized data
structures. Demonstrated today by applications on Army Logistics data, Army
JANUS simulation data, ARL CIP servers, Oracle data.

Dynamic - can couple arbitrary actions to changes in
agent environment. Demonstrated today by coupling of send-mail, create
Web pages, file synthesis actions to changes in agent state when new messages are
received.

Open - can interact with other agent platforms.
Demonstrated today by IMPACT connectivity to arbitrary IBM Aglets. Specifically,
shows IMPACT security agents interacting with security agents built by Lockheed
Sanders’ Mike Gaughan (ATIRP Consortium) and ARL’s LTC. Paul Walczak using the
IBM Aglet agent paradigm.
1999 IMPACT Workshop
1
Advantages of IMPACT Agents, II

Security - IMPACT agents can be used to make other
applications more secure. Demonstrated today via ARL-ATIRP-IMPACT
security agents.

Intelligence: IMPACT agents are capable of
 collaborating with one another as well as agents built
in other agent platforms. Demonstrated today via bookstore procurement
demonstration.

creating sophisticated plans. Demonstrated today via noncombatant
evacuation ops demonstration.

reasoning about time and uncertainty. Demonstrated via research
papers and Prof. Dix’s lecture tomorrow.

making decisions based on agent objectives
(expressed via objective functions). Demonstrated via research
papers and Prof. Eiter’s lecture today.
1999 IMPACT Workshop
1
Advantages of IMPACT Agents, III

IMPACT agents can be




Autonomous. Demonstrated today via logistics agents.
Reactive. Demonstrated today via bookstore agents.
Mobile. Demonstrated today by IMPACT security agents.
IMPACT agents support heterogeneous information
integration. Demonstrated today via Army War Reserves Logistics application
which integrates Oracle and LOGTAADS data.

IMPACT agents can be rapidly created and deployed via
AgentDE, the IMPACT agent development environment.
1999 IMPACT Workshop
1
IMPACT Agent Deployment
Mobile agent
execution
Agent deployment
AgentDE
agentRoost
AgentDE
AgentDE
agentRoost
State change/
message
AgentDE
AgentDE
agentRoost
1999 IMPACT Workshop
1
IMPACT Support for Multiagent
Applications


AgentDE: Used to build individual agents.
IMPACT Server: Provides





yellow pages and registration services
ontology services
type services.
AgentRoost: Location where agent processes reside
after the agent is built and deployed. Supports wake,
messaging, replication, and mobility capabilities.
AgentLog: Logs all actions (desired by agent
developer). Supports browsing and querying of actions,
and rendering (some types of) actions. Essential for
monitoring system performance and debugging.
1999 IMPACT Workshop
2
AgentDE: Agent Development
Environment




Built in Java. Allows rapidly
building and testing IMPACT
Agents.
Contains libraries of actions
(e.g. mobility, messaging) and
compile-time options.
Contains connections to
different servers (e.g. IMPACT
Servers, Oracle, Hermes, IBM
Aglet).
Built completely during Year 2
of contract.

Proposed work in Year 3:





Extend action library.
Extend range of servers
AgentDE can connect to.
Develop incremental action
computation algorithms.
Develop temporal agent
programs.
Implement agent security
mechanisms within IMPACT.
1999 IMPACT Workshop
2
IMPACT Agent Definition Screen
1999 IMPACT Workshop
2
IMPACT AgentDE Connect
Library Screen
1999 IMPACT Workshop
2
IMPACT AgentDE Action Library
Screen
1999 IMPACT Workshop
2
AgentRoost


Built in Java.
Functions supported:






houses deployed agents
processes inter-agent and inter-roost message traffic
wakes agents as appropriate
dispatches agents to other roosts or sites if needed
replicates and dispatches roosts/agents as needed.
Red entries above are to be done. Green entries
completed.
1999 IMPACT Workshop
2
AgentLog

Work done entirely in Year 2.



Agent actions and messages
are logged by the AgentLog.
AgentLog allows agent
developer to
– query log by content or
time
– browse log
– view actions (when
appropriate)
– supports playback of
video, text and image
message objects.
Currently only supports
message logging (action
logging to be added).
1999 IMPACT Workshop
2
IMPACT Server


Preliminary IMPACT Server
built in year 1 on top of Oracle
and ThesDB.
Year 2:


Integrated IMPACT Server
with the massive PARKA
Ontology (Hendler et al.).
Provides flexible and scalable
support for yellow pages
services based on nearest
neighbor matching.
Conducted precision, recall
and scalability tests on the
IMPACT Server, with
promising results.
1999 IMPACT Workshop
2
Key scientific contribution I:
Agent development theories


Agent definition and agent programs defined in Year 1.
In year 2, we developed:





Meta agent programs: allow agents to reason about other agents
states (what does the other agent know?) and actions (what is
the other agent going to do?)
Temporal agent programs: allow agents to make commitments
over time.
Probabilistic agent programs: allow agents to make decisions in
the presence of uncertainty.
Secure agent programs: provide methods by which agents may
provide data/services only to those authorized for that
data/services.
Defined formal languages and theories for all the above.
1999 IMPACT Workshop
2
Key scientific contribution II:
Regular Agent Programs


Year 1: We provided a detailed complexity analysis of
agent programs - complexity is high !
Year 2:





Identified a class of regular agents that have polynomial
complexity (hence efficient to implement).
Developed/Implemented compile time algorithm which
associates with any agent, a set of queries on the agent state.
Developed/Implemented an algorithm that computes what the
agent is to do, given some recent state changes/messages.
Developed an incremental algorithm to update what the agent is
to do.
Proved correctness and complexity results for all the above.
1999 IMPACT Workshop
2
Key scientific contribution III:
AgentDE 1.0

Designed and implemented AgentDE 1.0









supports development of agents
includes compile-time syntax checks
compile-time check that associates a set of queries with an agent
algorithm to compute such queries
ran experiments testing the efficiency of agent evaluation
developed (first cut) action library supporting agent building
developed connections between IMPACT agents and other servers (e.g.
Hermes, Oracle, IBM Aglet Tahiti server)
AgentRoost and AgentLog built.
Validated AgentDE on applications:




Army War Reserves logistics
Bookstore Inventory with applications to DoD procurement
IMPACT agents for network security
JANUS Stricom simulation agents
1999 IMPACT Workshop
3
Agent-based Combat Information
Processor (AbCIP) Vision




CIP is an ARL product that runs
tactical battlefield simulations.
CIP consists of a set of servers
which are hardwired together.
AbCIP will
 agentize CIP’s Display, Entity,
DTED and Measures Server
 allow analysts/commanders to
state conditions to be tracked
across these servers
 automatically trigger actions
by such conditions
 allow use of visualization and
analytic tools.
Ongoing: Vision implemented in
part,not full.
1999 IMPACT Workshop
3
Agent-based Security



ARL-Lockheed Sanders have
used IBM/Aglets to build a
network vulnerability (NV) agent
examining .rhost files.
IMPACT implements security
across multiple networked
machines, showing cooperation
between
 IMPACT logging agents
 NV-Aglets
This application shows how such
agents can



automatically shut off access from
compromised machines,
automatically notify system
managers and other machines
detect violations to system files.
1999 IMPACT Workshop
3
IMPACT Agent Bookstore

IMPACT Agent Bookstore
shows a futuristic bookstore
that




has an inventory tracking
agent which updates inventory
data and triggers alerts when
book inventories drop below
specified levels
a purchasing agent that
responds to the alert and finds
a “best” supplier
an ordering agent that orders
the book and
a receiving agent that receives
the books and updates the
inventory.
Sources for Book
1999 IMPACT Workshop
3
IMPACT Janus STRICOM
Simulations


Just started.
JANUS data involves






dtec: sensor detections file
fires: fire-event file
kils: kill-event files
All files are binary and record events during simulations.
Users can ask for email notification when certain
conditions across these binary data sources occur.
IMPACT’s JANUS agents automatically provide this.
1999 IMPACT Workshop
3
Research Quality Measures


Agent book completed and to be published by MIT Press
(expected release: spring 2000).
31 Papers related to contract:



14 Archival journal
16 Conference/workshop + 1 book chapter
Invited conference addresses:





Keynote address, Workshop on Multimedia Systems, Vienna, Austria,
Aug. 1998.
5 lectures on heterogeneous info systems at Italian Summer School,
Sep. 1998.
Invited talk, ISMIS-99, Warsaw, Poland, July 1999.
Invited talk, Compulog Workshop, London, April 1999.
Nau etal’s Bridge Baron wins 1997 World Computer Bridge
Championship
– Articles in Washington Post and New York Times
1999 IMPACT Workshop
3
Army Interactions





ARL (P. Emmerman, T. Gregory, LTC. P. Walczak)
LIA (Bobby White, Miranda Moore)
USMA (LTC. Marin, LTC. Byrnes, Maj. Schafer)
STRICOM (LTC. G. Stone)
ARL ATIRP Program: Mike Gaughan (Lockheed
Sanders)
1999 IMPACT Workshop
3
Planned Work for Year 3

Multiagent Development Environment (MADE)












definition of multiagent application development language
development of sound, complete and efficient computation algorithm
Optimizing the status set computation algorithm
Optimizing the incremental status set update algorithm
Research on computing optimal status sets
Research on implementing temporal agents
Research on implementing probabilistic agents
Research on implementing secure agents
Implementing secure agents in AgentDE
Implementing optimal status set computations in AgentDE.
Implementing conflict resolution agents.
Implementing visualization agents.
1999 IMPACT Workshop
3
Planned Work for Year 4




Implementing temporal agents in AgentDE
Implementing probabilistic agents in AgentDE
Multiagent planning applications
MultiAgent Development Environment (MADE)



implementation
applications
Complete development and deployment of AgentDE with
applications to:




ARL CIP
Logistics
Electronic procurement systems
Security
1999 IMPACT Workshop
3
Download