impact: interactive maryland platform for agents collaborating together

38
V.S. Subrahmanian Department of Computer Science University of Maryland [email protected] 1 IMPACT: Interactive Maryland Platform for Agents Collaborating Together rt funding from: Army Research Lab, DARPA, University of Maryland, me non-government sources. search initiated by: Army Research Office and Army Research Lab

Upload: clea

Post on 09-Jan-2016

29 views

Category:

Documents


2 download

DESCRIPTION

IMPACT: Interactive Maryland Platform for Agents Collaborating Together. V.S. Subrahmanian Department of Computer Science University of Maryland [email protected]. Part funding from: Army Research Lab, DARPA, University of Maryland, and some non-government sources. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

V.S. Subrahmanian

Department of Computer Science

University of Maryland

[email protected]

1

IMPACT: Interactive Maryland Platform for Agents

Collaborating Together

Part funding from: Army Research Lab, DARPA, University of Maryland, andsome non-government sources.Research initiated by: Army Research Office and Army Research Lab

Page 2: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

21999 IMPACT Workshop

IMPACT 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

Page 3: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

31999 IMPACT Workshop

IMPACT Agent Architecture

Legacy/SpecialData Structures

(distributed) data- agent state

Function CallsConcurr’cy

MSG Box

AgentProgram

Otheragents

Actions

NETWORK

Action Constraints

Integrity Constraints

Page 4: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

41999 IMPACT Workshop

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.

Page 5: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

51999 IMPACT Workshop

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” definitionof an agent, together with formalmodels of the desired “behaviors”specified by FIPA,Co-ABS and

Shoham.

Page 6: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

61999 IMPACT Workshop

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.

Page 7: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

71999 IMPACT Workshop

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.

Page 8: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

81999 IMPACT Workshop

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

Page 9: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

91999 IMPACT Workshop

Agent Actions An action consists of:

action name (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…..

Page 10: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

10

1999 IMPACT Workshop

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.

Notion ofconcurrency

Agentstate

ActIons

ActIon

Page 11: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

11

1999 IMPACT Workshop

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.

Page 12: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

12

1999 IMPACT Workshop

Agent Program Set of rules of the formOp 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.

Page 13: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

13

1999 IMPACT Workshop

Example agent program rulesDo 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.

Page 14: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

14

1999 IMPACT Workshop

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.

Page 15: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

15

1999 IMPACT Workshop

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

Page 16: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

16

1999 IMPACT Workshop

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.

Page 17: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

17

1999 IMPACT Workshop

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.

Page 18: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

18

1999 IMPACT Workshop

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.

Page 19: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

19

1999 IMPACT Workshop

IMPACT Agent Deployment

AgentDE

AgentDE

AgentDE

agentRoost

agentRoost

agentRoost

AgentDE

AgentDE

Agent deploymentMobile agentexecution

State change/message

Page 20: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

20

1999 IMPACT Workshop

IMPACT 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.

Page 21: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

21

1999 IMPACT Workshop

AgentDE: 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.

Page 22: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

22

1999 IMPACT Workshop

IMPACT Agent Definition Screen

Page 23: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

23

1999 IMPACT Workshop

IMPACT AgentDE ConnectLibrary Screen

Page 24: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

24

1999 IMPACT Workshop

IMPACT AgentDE Action LibraryScreen

Page 25: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

25

1999 IMPACT Workshop

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.

Page 26: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

26

1999 IMPACT Workshop

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).

Page 27: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

27

1999 IMPACT Workshop

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.

Page 28: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

28

1999 IMPACT Workshop

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.

Page 29: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

29

1999 IMPACT Workshop

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.

Page 30: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

30

1999 IMPACT Workshop

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

Page 31: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

31

1999 IMPACT Workshop

Agent-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 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.

Page 32: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

32

1999 IMPACT Workshop

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.

Page 33: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

33

1999 IMPACT Workshop

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

Page 34: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

34

1999 IMPACT Workshop

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.

Page 35: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

35

1999 IMPACT Workshop

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

Page 36: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

36

1999 IMPACT Workshop

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)

Page 37: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

37

1999 IMPACT Workshop

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.

Page 38: IMPACT: Interactive Maryland Platform for Agents Collaborating Together

38

1999 IMPACT Workshop

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