380 likes | 491 Views
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.
E N D
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 • 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
IMPACT Agent Architecture Agent Program Actions Concurr’cy Function Calls MSG Box Legacy/Special Data Structures Action Constraints Integrity Constraints Other agents (distributed) data - agent state NETWORK
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.
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 Agent Definitions 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.
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.
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.
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
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….. Agent Actions
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 A c t I o n Notion of concurrency Agent state
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.
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.
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.
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.
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
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.
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.
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.
IMPACT Agent Deployment Mobile agent execution Agent deployment agentRoost AgentDE AgentDE AgentDE agentRoost State change/ message AgentDE AgentDE agentRoost
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.
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. AgentDE: Agent DevelopmentEnvironment
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.
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).
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.
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.
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.
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
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.
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.
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.
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.
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
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)
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.
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