Title: V.S. Subrahmanian
1IMPACT Interactive Maryland Platform for Agents
Collaborating Together
- V.S. Subrahmanian
- Department of Computer Science
- University of Maryland
- vs_at_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
2IMPACT Technical Overview
- IMPACT Agent Architecture
- What is an IMPACT agent?
- What is required of a platform supporting
multiagent applications? - Key Scientific Contributions
- Agent development languages
- Temporal and uncertain agent reasoning
- Agent security
- IMPACT Agent Development Environment
- Key Applications
- ARL Combat Information Processor
- Army Logistics
- Agent based security
- Distributed Simulations
- Planned work for Years 3 and 4
3IMPACT Agent Architecture
Agent Program
Actions
Concurrcy
Function Calls
MSG Box
Legacy/Special Data Structures
Action Constraints
Integrity Constraints
Other agents
(distributed) data - agent state
NETWORK
4Summarized Agent Definitions
- Many definitions of agents have been proposed. We
outline three representative examples - FIPAs,
DARPAs and Shohams. - 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.
5Agent Definitions
- Shohams 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.
6IMPACT Agents Data Access
- Code Call df(arg1,,argk). Execute function f
defined in data structure d on the specified
arguments. Return a set of objects. - Oracleselect(depots.rel,item,,combat boots)
- Routeplan(map1,20,20,50,43).
- Code Call Atom in(X,df(arg1,,argk)). Succeeds
if X is in the set of objects returned. - In(X, Oracleselect(depots.rel,item,,combat
boots)). Find all tuples with item field equal to
combat boots - in(X, Routeplan(map1,20,20,50,43)). Find all
routes returned by route planner between points
(20,20) and (50,43) w.r.t. map1.
7Code Call Conditions
- A conjunction of
- code call atoms and
- comparison atoms.
- In(X, Oracleselect(depots.rel,item,,combat
boots)) X.qty gt 1000 in(R,routeplan(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.
8Agent Integrity Constraints
- An agent integrity constraint is a condition that
the agents state must always satisfy. - An agent integrity constraint has the form
- ltcode call conditiongt gt ltcode call atomgt
- 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,routeplan(Map,X1,Y1,X2,Y2)) gt
In(S,routesafe(R)) S gt 0.9 - Everybody makes less money than their boss.
- In(T1,oracleall(emp)) in(T2,oracleselect(em
p,name,,T1.boss)) gt T1.sal lt T2.sal
9Agent 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..
10Agent 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
A c t I o n
Notion of concurrency
Agent state
11Agent action constraints
- Action constraints specify conditions under which
the agent cannot concurrently execute certain
actions. - They have the form
- a1,,an lt ltcode call conditiongt
- This says that if the code call condition is true
w.r.t. the agents current state, then actions
a1,,an cannot be executed concurrently. - Examples Moves in two different directions
cannot be concurrently executed. - move(Dir1),move(Dir2) lt Dir1 ltgt Dir2.
- Orders must stay within the budget.
- order(Item1,Cost1),order(Item2,Cost2) lt
in(Amt,budgetavail()) Amt lt Cost1 Cost2.
12Agent Program
- Set of rules of the form
- Op a(arg1,,argn) lt ltcode call conditiongt
- /- Op1
a1(ltargsgt) /- Opn an(ltargsgt). - 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.
13Example agent program rules
- Do send-warning(E,M) lt in(Loc,entitycurloc(E))
-
in(E,entityhostiles()) -
in(Loc,entitycurloc(E)) -
in(D,geodist(Loc,Loc)) - lt(D,25)
-
(M,filecreate(E,Loc,D)). - Do log(E,M,T) lt Do send-warning(E,M)
- in(T,clocknow())
- 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.
14What 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.
15Agentization 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 agents integrity constraints
- select/define actions that can be executed by
agent - select/define concurrency notion
- define agents action constraints
- define agents agent program
- In addition, one may
- specify yellow pages info and register agent with
IMPACT Server - specify connect information
16Advantages 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 ARLs LTC. Paul Walczak using the
IBM Aglet agent paradigm.
17Advantages 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. Dixs
lecture tomorrow. - making decisions based on agent objectives
(expressed via objective functions). Demonstrated
via research papers and Prof. Eiters lecture
today.
18Advantages 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.
19IMPACT Agent Deployment
Mobile agent execution
Agent deployment
agentRoost
AgentDE
AgentDE
AgentDE
agentRoost
State change/ message
AgentDE
AgentDE
agentRoost
20IMPACT Support for MultiagentApplications
- 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.
21AgentDE Agent DevelopmentEnvironment
- 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.
22IMPACT Agent Definition Screen
23IMPACT AgentDE ConnectLibrary Screen
24IMPACT AgentDE Action LibraryScreen
25AgentRoost
- 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.
26AgentLog
- 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).
27IMPACT 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.
28Key scientific contribution IAgent 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.
29Key scientific contribution IIRegular 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.
30Key scientific contribution IIIAgentDE 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
31Agent-based Combat InformationProcessor (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 CIPs 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.
32Agent-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.
33IMPACT 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.
34IMPACT 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. - IMPACTs JANUS agents automatically provide this.
35Research 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 etals Bridge Baron wins 1997 World Computer
Bridge Championship - Articles in Washington Post and New York Times
36Army 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)
37Planned 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.
38Planned 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