Agents - 1 OBJS
Multi-Agent Systems - Architecture
Craig ThompsonObject Services and Consulting, Inc. (OBJS)
Agents - 2 OBJS
OUTLINE
• Vision • Agent Reference Architecture• Agent Services • Applications• Contributions & Directions
Agents - 3 OBJS
I see a tank!
Needfuel!
observations &recommendations
orders & subscriptions
Anythreats?
VISION – EVERYTHING IS ALIVE
Agents - 4 OBJS
AGENT REFERENCE ARCHITECTURE
What is a Reference Architecture– a meta-architectural blueprint for a family of concrete architectures that may
appear in implemented systems, providing architectural views, a collection of the component parts of the architecture, how they can fit together, and any constraints on how they fit.
– a litmus test for a good reference architecture is that it covers actual systems and provides a way to reason about missing pieces, sub-architectures that make sense, interdependencies of parts, and how the architecture relates to other nearby architectures.
What should an Agent Reference Architecture do?– help people understand the scope and value-added of agent systems so they
can realize their potential more quickly (agents for the masses)
– explain • how agent architectures solve application domain problems
• how agent systems complement OMA, HLA, Web, DBMS
• how to insure systemic properties of agent systems – scalability, survivability, …
– identify • principle components of agent systems, their interfaces and their interactions
• missing components
• what parts of the architecture already exist in COTS and GOTS, what parts are already prototyped, and what parts are still needed.
• candidate standards and a roadmap for adoption
• research issues (e.g., agent control, agent interoperability)
Agents - 5 OBJS
AdaptiveAdaptiveto uncertainty and change
Agents are goal directedand act on theirown performing
tasks on your behalf
Agents coordinate and negotiate to achieve
common goals
Agents moveto where they
are needed
AutonomousAutonomousproactive
MobileMobile InteroperateInteroperate
Agents interoperatewith humans, other, legacy systems, and information sources
Agents dynamically adaptto and learn abouttheir environment
CooperativeCooperativeself-organizing
delegation
socialpersonality
socialpersonality
Characteristics of Agents
IntelligentAgents
InformationAgents
Agents - 6 OBJS
What are people saying about agents?
• software that acts on a human’s behalf to provide some service or function in an intelligent manner
• modular software that exhibits some of these properties: autonomy, mobility, intelligence
• objects with an attitude -- component software constructed according to certain principles and/or mechanisms, e.g., objects that use an ACL to communicate, objects that make use of a planner, …
• networked society where every software artifact, information source, and device is connected and running in parallel. Connect the $40B worth of DoD equipment that currently only interoperates with one or two other components, permitting better knowledge sharing. A process improvement in factory 1 is broadcast immediately to factories 2 .. N
• intelligent automation-- application connectivity where networks of agents self-organize at run-time. Reduce the 60% of time in command and control systems spent manipulating stovepipes; incrementally replace stovepipes.
• humans and agents connect to the agent grid anytime from anywhere and get the information and capability they need. Enable teams led by humans and staffed by agents.
• agent-enable object and web applications to reconfigure as new data and function is added to the system. Add capability modularly. Stable, scaleable, evolvable, reliable, secure, survivable, ...
• Scale to millions of agents so agents are pervasive and information and computation is not restricted to machine or organization boundaries.
• Survivable so if one agent goes down, another takes its place;
Agents - 7 OBJS
• speech acts, conversations/dialogs• ontologies• KBMS• distributed AI • architecture description languages• patterns and protocols• OO middleware service architectures (OMA/ORB)• web architectures• workflow• dynamic DBMS• simulation• network management, QoS• planning & case-based reasoning• learning• game theory• economic markets• ...
* = Architecture WG in Pittsburg
Relevant Theories View
Agents - 8 OBJS
Object Component Agent ?
• state• behavior• encapsulation• inheritance
• reflection• packaging• serialization• repository
• TBD
deconstructionist view:agents augment objects with additional capabilities
• agent comm. language• process inside• mobility• goals, planning, rules• autonomous• ontologies• collaborative/teams
What is an Agent?
Agents - 9 OBJS
FIPA Abstract Architecture
• Agent Abstract Architecture goal is interoperability– Agent API via Agent Communication Language (ACL)
• addressing• publish & subscribe• content language semantics
– Agent Services• Encoding/Parsing Service – how messages are encoded• Message Transport Service – how messages are sent, guarantees, survivability• Directory Service – register agent description, discover agents
• Borrows from other areas– User Interface(s) – optional – GUI, natural language, …
– Security services– Directory services– Distributed communications – asynchronous, intermittent
– Platform & comm. – host abstract machine, environment
• Candidates not yet in current abstract architecture– Agent lifecycle– Mobility– Domains– Conversational policies– Ontologies – representation of state
Foundation for Intelligent Physical Agents -- http://www.fipa.org/specs/fipa00001
components &
interfaces
Interfaces insulate components.We should be able to add or change a component.
Agents - 10 OBJS
agent properties & kinds• communication
capability• computation capability• by role in system
• information agent• data sources
• interface agent• NL• fisheye view
• task agent• web agent• middleware agent
• mobile agent, itinerary• social, personality,
motivation, forgetting• intelligent agent
distributionmessaging svcs*agent life cycle* - start, stop,
checkpoint, name service**event monitoringleasing, compensationcatalog services*, registry/repository* register*, offer/accept/decline publish*, subscribe* trading*, matchmaking, advertising*, negotiating*, brokering*, yellow pages*security** authenticate* encrypt access control lists* firewall* CIA model agent suspectstransactionspersistence*query, profile (of metadata)*data fusionreplication* groups multicast(scarce) resource mgmt*,
allocate*, deallocate*, monitor*,
local, global optimization, load balancing*, negotiation for resources*
schedulingtime, geo-locationrules, constraintsplanning*property listversioning, config
(aka Functional/Compositional View)
speech acts*: ACL* - KQML, FIPA ACL, OAA ICL
planning*• reactive*• goal interactions*• discrete vs continuous*• constraints• iterative, revision• workflow
systemicgrid features
common services
AGENT SYSTEM• single vs. multi-agentAGENT SYSTEM• single vs. multi-agent
ensembles• # of agents*• teams, peers,
contracting,• org. responsibility• roles, capabilities,• mutual beliefs• hierarchy*• conversational
policies*
scalability*
policy*, management• resource dial
survivability
evolvability
reliable*
licensing & cost
QoS*• accuracy• priorities
GRID
time-constrained*
control*, coordination*,multi-agent synchronization• cooperation, competition
adaptation, evolution*via market model, ...
federates
infrastructureprimitives• reflection• serialization• threads• interceptors• proxies• filters• multicast • wrappers
• legacy sys• data sources
ONTOLOGY**• ontolingua, OKBC• metadata representations
• interests, locations, availability, capability, price/cost
• XML and web object models
I*3BADDAICE
IA
EDCS
Quorum
OMGJTFJini
ALP, HLA, IA
Architecture Principle: separation of concernsdeconstructionist view - what can you take away
and still have an agent system
secure*, trust
societies• closed vs. open,
communities of interest
learning• by example• ...
mobility**
heterogeneous*• computing environ. • agent systems• ACLs• content languages• ontologies• policies• services• open world
assumption
autonomousdecentralized*
* = Architecture WG in Pittsburg* = Control WG in Pittsburg* = Interoperability WG in Pittsburgred = Sun Jini green = other DARPA programs
content languages• KIF, FOL, IDL,
RDF
missing• views• MOP
More common services
instrumenting, loggingcachingqueuingrouting, reroutingpedigree, drill downtranslation*...
DDB
Agent Ontology View
Agents - 11 OBJS
AGENT SERVICES
Piggyback agent service on standard widely deployed infrastructure for pervasive agent deployment … agents for the masses.
• WebTrader – Use search engines as yellow pages to locate agent
services. Anyone on the Web can advertise a resource (e.g., agent,
service, data source) that anyone else can discover.
• MBNLI – Use web pages to store semantic grammars. Humans can query
agents across the web using constrained natural language.
• eGents – Use email as agent transport supporting disconnected
operations. Anyone with email can create an agent service that anyone
else can use.
• MsgLog – Provide several message transports and select among them
using policy. Messaging is survivable (robust, secure, scalable).
Agents - 12 OBJS
ProblemProblem ImpactImpact
ApproachApproach
• If grid applications are to be assembled when needed, the parts must be found somewhere and probably not all will come from the local environment.
• How can we find building block resources (e.g., agents, services, channels, components, data sources) when we need them?
• Today, traders (matchmakers) are used for this purpose but these traders generally know only about closed worlds of resources of limited types (e.g., IDL).
• Anyone on the Web can advertise a resource (e.g., agent, service, data source) that anyone else can discover.
• Advertised resources can be located at runtime to dynamically extend the knowledge and/or capabilities of the client, as well as enable intelligent on-the-fly assembly and reconfiguration of distributed systems.
• WebTrader is a matchmaking service that locates XML-based advertisements for resources embedded in web pages indexed by industrial-strength search engines.
• WebTrader supports type-specific matcher algorithms, trader federation, and can access multiple search engines.
WebTrader: Scalable Agent Discovery
OpenAgent
Architecture(SRI)
WebTraderAgent
Ariadne(ISI)
Agent World
Web World
SearchEngine
pageAD
pageAD
page
pageAD
pageAD
pageAD
page
pageAD
pageAD
page
pageAD
GeoCoder WhitePages
Services / Datasources
1
2
3
5
67
AgentGrid 4
WebTrader was used in the NEO TIE to locate evacuees and to find a geocoder.
Agents - 13 OBJS
Web Search Engine(s)
Web Trader Engine
Matching
Query (Client Advertisement)
Indexed by
Locates and returns candidate pages
Trading advertisements maybe distributed across some
part of the Web
4
97
3
10 12
8
6
5
WebTrader
11
14
13
WebTrader matches and returns
candidate advertisements
Web Page
Trader Advertisement2
1
Response
WebTrader Architecture
Agents - 14 OBJS
WebTrader Query Tool
Agents - 15 OBJS
ProblemProblem ImpactImpact
ApproachApproach
• Dynamic military situations will require people to task and query agents using complex commands.
• Unconstrained natural language is still not tractable in many situations.
• Humans can task and query agents using complex but understandable commands in constrained natural language.
• This technology can mix pervasively into all applications, both on the desktop and the Web.
• Thesis: Natural language-enhanced user-to-agent communication will simplify basic human-agent interactions while making it possible for humans to formulate complex agent requests.
• Approach: Agents communicate with people and other agents using restricted languages for stating complex queries and commands
• How: MBNLI extends agents with natural language middleware wrappers, dynamically loads grammars, and uses menu-based natural language to query and task agents. Works over the web with many users, can auto-generate NLI interfaces to DBMS, works with speech, and is on the CoABS grid.
MBNLI: Menu-based Natural Language I/F
Agents - 16 OBJS
MBNLI Example
Agents - 17 OBJS
eGents: Agents communicating via Email
• Thesis: Integration of agent technology with pervasive Web-ORB-Email backplanes is a route to making agent technology open, pervasive and robust.
• eGents are agents which communicate over email. eGents leverages pervasive, robust email infrastructure, inherits support for disconnected operations, message queuing, mobile users, firewalls, filtering, logging, and security. eGents use FIPA or KQML Agent Communication Language (ACL) encoded in XML - no ACL parser needed. Status: Prototype, gridified via proxy and as comm. layer, on wireless Palm. NEO, MIATA, CoAX, JBI TIEs. Spec submitted to FIPA.
ProblemProblem ImpactImpact
ApproachApproach
• Dynamic military situations are often disconnected and asynchronous. Need a scalable way to deliver agent messages to 1000’s of (wireless) platforms.
• Agent systems are often closed and require a lot of specialized agent technology. Email is a common denominator in coalition situations.
• Anyone with email can create an agent service that anyone else can use. New eGent apps can be downloaded to the field as situations change.
• Imagine eGents attached to sensors, actuators, people, equipment, and locations as pervasive observers & actors
In these eGents applications, each evacuees/troops/animals have a Personal Status Monitor, which measures location, vital signs, etc.
The PSM contains an eGent which intermittently communicates to subscribing entities using email protocols.
Liaison
Command Post
Family Member
Medevac
Evacuees/Troops/Wildlife/
Etc.
eGentsInside
Theme:Everything
is alive
Agents - 18 OBJS
eGents Example
Agents - 19 OBJS
eGents ArchitectureeGents interoperating with each other and with an eGent-grid proxy
Machine 1installed on soldier,
evacuee, vehicle, weapon
PSM servereGent
eGentsplatform**
othereGents
Machine 2perhaps installed at
command post
eGentgrid
agentproxy
othereGents
Machine 3perhaps installed at
medevac unit
PSM clienteGent
eGentsplatform
othereGentsGrid
PSM clientgrid agent
Email Server
subscribeinform
subscribe
inform
su
bs
crib
e
info
rm
info
rm
su
bs
crib
e
All eGents can share one Email server or they can each have their own or anything in between
* Java-based** KVM-based - runs on Palm uses J2ME CLDC 1.0 FCS (KVM), that is, Java for devices runs on a "wireless" palm over the CDPD digital cellular network
Might be on machine 2 or anywhere on LAN or on grid-connected LAN
eGentsplatform*
Agents - 20 OBJS
MsgLog: Agent Messaging Service
Policy Mgmt
Co
mp
res
sio
n
En
cry
pti
on
Re
co
ve
ry /
tim
eo
ut
/ R
etr
y
Ad
ap
tiv
e M
es
sa
gin
g
Local Messaging
Other Messagingsockets, JMS, …
Agent
Mail servers(store & forward)
Periodic Connection
Agent (Palm)
FirewalledAgent
Info servers(situation updates/
Logs) OverwhelmedAgent (only get
latest update - not intermediate)
Mask TrafficPatterns
RMI Messaging
White Noise
Email Messaging
NNTP Messaging
Adaptive & Survivable
Agents - 21 OBJS
The Basic Idea
Agents - 22 OBJS
APPLICATIONS
• DARPA CoABS Coalition Agent Experiment• DARPA CoABS-AFRL Joint Battlespace
Infosphere• AFRL Small Unit Operations Communicator
Agents - 23 OBJS
Coalition Agent Experiment (CoAX)
Are the Safari Park elephants in danger?• eGents monitor and transmit positions
of the two elephant herds• menu-based natural language queries
determine the elephants are migrating out of the firestorm area
Elephant herd migrations
over the last 40 months
Current position of herd17.0N/ 34.4E - 2012/09/01 14:20
Theme:Everything is alive
OBJS role in
CoAX TIE
OBJS role in
CoAX TIE
Safari Park
Agents - 24 OBJS
Safari Park Vignette
Agents - 25 OBJS
So elephants were here at beginning of the month. Where are they now?
MBNLI
Agents - 26 OBJS
subscribe
inform
eGents
Agents - 27 OBJS
Agent-based SUO* Communicator
HQ
Platoon-01-Leader
Squad-03-Leader
Ranger-14
Unknown
World
Sensor-03
Sensor-05
Vehicle-02
Develop a reconfigurable handheld computer capability, tailorable to the user role and mission for mission planning and execution, and extensible to new small unit applications.
Complement Radio– Many people can “speak” at once– Auto-create and handle messages– Memory & Listening Aid - Store
information over time– Accuracy of Geo-location references– Support for disconnected opertions– Assured delivery– Stealth– After action analysis
* Small Unit Operations (SUO)
• military, police, NGOs, …,
• leaders, soldiers, medics, …,
• robots, vehicles, weapons, sensors, …
Agents - 28 OBJS
Scenario – Terrorists at the Airport
Soldier TasksSquad 1
– Monitor activity at terminals 1, 2, and 4
– Secure parked aircraft– Receive information on vehicles or
people approaching terminals– Receive information from deployed
sensors in AOI
Squad 3– Secure area around POLs– Receive information on buildings in
area of POLs– Receive information on vehicles or
people approaching area– Receive information from deployed
sensors in AOI
Squads 2 and 4– Secure perimeter of terminal 3– Report any observations of terrorist
behavior– Receive information on vehicles or
people approaching area– Receive information from deployed
sensors in AOI
Command Center(Airport Fire &
Rescue Station)
Squads 2 & 4
Terminal 3
Squad3
POLs
Squad 1
Terminals 1, 2, 4
1. Agents configured to role2. HQ sends maps / grid setup3. Filters distributed to agents4. HQ receives USMTF weather5. Squad 3 moves from CP to
AOI6. Sensors placed 7. Sensor trips & alerts
subscribers8. Ranger resets sensor9. Sensor trips again10. Activity near airport
entrance11. Activity near POL sensors12. Ranger ordered to
investigate13. Ranger sends report
Scenario Actions
Agents - 29 OBJS
The U.S. Army is on a routine peace keeping mission in Sol del Naro, a small country considered friendly to U.S. interests. One challenge to the peace-keeping forces is the frequent harassment by the anti-U.S. forces in neighboring Sumania.
On September 26, 2005, at 10:00 a.m. the Food Distribution and Medical Care Center located in MOUT City is attacked, probably sponsored by Sumanian patriots. The attack has pinned civilians, medical personnel and soldiers in the building, and attempted to damage a support helicopter. The number of killed or wounded is not known.
Scenario – Hostage Rescue at the MOUT
Agents - 30 OBJS
SUO eGents and Ontology
Agents - 31 OBJS
Messaging XML DTD
<?xml version='1.0' encoding='UTF-8'?>
<!ELEMENT MSG (TIME, FROM, TO, CC?, BCC?, SUBJECT, BODY, ATTACHMENTS?, ACK)>
<!ELEMENT TIME (#PCDATA)>
<!ELEMENT FROM (#PCDATA)>
<!ELEMENT TO (#PCDATA)>
<!ELEMENT CC (#PCDATA)>
<!ELEMENT BCC (#PCDATA)>
<!ELEMENT SUBJECT (#PCDATA)> <!-- for the human, not really used by the system -->
<!ELEMENT BODY (TEXTMSG | INFORM | REQUEST | SUBSCRIBE | SUSPEND | RESUME | CANCEL)>
<!ELEMENT ATTACHMENTS (#PCDATA)>
<!ELEMENT ACK (#PCDATA)>
<!ELEMENT TEXTMSG (#PCDATA)> <!-- for the human, others are handled by the RAV02 system -->
<!ELEMENT INFORM (CONTENTS)>
<!ELEMENT REQUEST (CONTENTS)>
<!ELEMENT SUBSCRIBE (SUBSCRIPTIONID, TIMECONSTRAINTS?, DELTA?, CONTENTS)>
<!ELEMENT SUSPEND (SUBSCRIPTIONID)>
<!ELEMENT RESUME (SUBSCRIPTIONID)>
<!ELEMENT CANCEL (SUBSCRIPTIONID)>
<!ELEMENT SUBSCRIPTIONID (#PCDATA)>
<!ELEMENT TIMECONSTRAINTS (TIMEPERIOD?, REFRESHRATE?)>
<!ELEMENT TIMEPERIOD (STARTDTG?, ENDDTG?)>
<!ELEMENT STARTDTG (#PCDATA)>
<!ELEMENT ENDDTG (#PCDATA)>
<!ELEMENT REFRESHRATE (#PCDATA)> <!--in milliseconds -->
Message level
Subscriptions
ACL level
Agents - 32 OBJS
Messaging XML DTD (cont)
<!ELEMENT CONTENTS (STATUS | ACTION | ORDER | METHOD1 | METHOD2 | COMMENT)+>
<!ELEMENT STATUS (#PCDATA)>
<!ELEMENT ACTION (#PCDATA)>
<!ELEMENT ORDER (#PCDATA)>
<!ELEMENT COMMENT (#PCDATA)>
<!ELEMENT METHOD1 (RANGER | UNKNOWN | SENSOR | ADDRBOOK | MAP | CLOCK)>
<!ELEMENT RANGER (RANGERGET | RANGERSET)>
<!ELEMENT RANGERGET (#PCDATA)> <!-- list containing one or more of LOC PULSE BODYTEMP -->
<!ELEMENT RANGERSET (LOC | PULSE | BODYTEMP | AIRTEMP | WINDDIRECTION)*>
<!ELEMENT LOC (#PCDATA)>
<!ELEMENT PULSE (#PCDATA)>
<!ELEMENT BODYTEMP (#PCDATA)>
<!ELEMENT AIRTEMP (#PCDATA)>
<!ELEMENT WINDDIRECTION (#PCDATA)>
<!ELEMENT SENSOR (SENSORGET | SENSORSET)>
<!ELEMENT SENSORGET (#PCDATA)> <!-- list containing one or more of LOC SENSORDIRECTION READING -->
<!ELEMENT SENSORSET (LOC | DIRECTION | SETTING | READING)*>
<!ELEMENT DIRECTION (#PCDATA)>
<!ELEMENT SETTING (#PCDATA)> <!-- set | triggered -->
<!ELEMENT READING (#PCDATA)>
<!ELEMENT ADDRBOOK (ADDRBOOKADD)>
<!ELEMENT ADDRBOOKADD (ADDRENTRY+)>
<!ELEMENT ADDRENTRY (ADDRALIAS, ADDR+)>
<!ELEMENT ADDRALIAS (#PCDATA)>
<!ELEMENT ADDR (#PCDATA)>
…
Kinds of Messages
SpecificMessageTypes
Agents - 33 OBJS
Message Log
• Can be used to author scenarios
• Can be used to run scenarios, providing a common operational picture
• Can be used for after action reporting and analysis
• Records messages via Bcc
• View messages an eGent can send and/or receive
• Select subset of the log to study subset of the eGents e.g., medical, logistics
aka Scenario Authoring Capability
aka Simulation Driver Capability
Agents - 34 OBJS
Under the Hood of SUO Communicator
Sending Agent
ApplyFilters
TriggerEvent
Email Server
Parse MessageApplyFilters
Invoke Method- Resolve Location- Update GUI- …
Receiving Agent
ConstructXML
Resolveaddress
Send Message(email)
Receive Message(email)
Agents - 35 OBJS
Message Filter Example
010
2030
4050
6070
8090
1stQtr
3rdQtr
East
West
North
-<FILTER> <NAME>Near Airport Terminal or Area 7</NAME> <CLASS>LocationFilter</CLASS> <TYPE>USMTF</TYPE> - <CONDITION>
<FIELD>GM_OperExer</FIELD> <STRING>Quick Recovery</STRING>
</CONDITION> <OPERATOR>AND</OPERATOR> <OPERATOR>(</OPERATOR> - <CONDITION> <FIELD>GM_Location</FIELD> <LOCATION>AREANM:AREA 7</LOCATION> <RANGE>SEC:000230N0000530W</RANGE> </CONDITION> <OPERATOR>OR</OPERATOR> - <CONDITION> <FIELD>GM_Location</FIELD> <LOCATION>SEC:351234N12810W</LOCATION> <RANGE>SEC:001000N0010000W</RANGE> </CONDITION> <OPERATOR>)</OPERATOR>-</FILTER>
Type / Class identify messages to apply filter to and Java class with filter-specific “evaluate” method.
Conditions identify message fields to evaluate, value(s) and range criteria.
Operators identify boolean relations between multiple conditions.
Agents - 36 OBJS
REQUEST
INFORM
ACK
RESUME
CANCEL
SUSPEND
INFORM
ACK
Y-JBI sends, eGents receives – eGents sends, Y_JBI receives
SUBSCRIBE
Agent Conversation
Agents - 37 OBJS
Example
Agents - 38 OBJS
Example
Agents - 39 OBJS
Wired, Secure Wireless, or mixed LAN or WAN
You can run one or several ASIV egents on one or many machines.For standalone demos, we use the Apache James email server running on one of the ASIV
platforms. But you can use any email server and/or multiple mix-and-match email servers.
ASIV egent
email server
email server
ASIV egent
ASIV egent
ASIV egent
ASIV egent
any email client
Machine boundaries
processboundaries
LAN or WAN
Scalable Architecture
Distributed Wireless ASIV eGents
Agents - 40 OBJS
Hand Held Trade StudyXybernaut Tallacomm Fujitsu Panasonic
# Requirement / Goal Weight MA-V S Tacter31 S LifeBook P1000 S Toughbook 07 S1 Runs ASIV Applications:
Full Java VMPC Arch w/ 233 MHz min128 MB RAM min
10 + + 20 + + 20 + + 20 + + 20
2 Runs & connects to standard COTS database
10 + + 20 + + 20 + + 20 + + 20
3 Small / Wearable 10 + + 20 + + 20 + + 20 + + 20
4 Field useable display size - 2" x 3" min
10 + + 20 + + 20 + + 20 + + 20
5 Wireless Network for battlefield 10 + + 20 + + 20 + + 20 + + 206 Soldier positioning via GPS 10 + + 20 + + 20 + + 20 + + 20
7 Integral camera 3 - - -6 - - -6 - - -6 - - -6
8 Targeting device - use w/GPS 2 - - -4 + + 4 - - -4 - - -4
Integral / Interface to sensors:9 Soldier health telemetry 3 0 0 0 0 0 0 0 0
10 Weather 1 0 0 0 0 0 0 0 0
11 Soldier motion 3 0 0 0 0 0 0 0 0
12 Soldier resource telemetry 3 0 0 0 0 0 0 0 0
13 Ruggedized 5 + + 10 + + 10 - -5 + + 10
14 Wearable / weight bearing harness 3 + + 6 + + 6 + 3 + + 6
15 Extended operation > 8 hours 3 + 3 + 3 + + 6 0 0
16 Fast initialization (< 5 sec.) 1 - - -2 - - -2 - - -2 - - -2
17 Power saving modes 2 0 0 0 0 + 2 + 2
18 Field-tested - Acceptance 2 0 0 + 2 0 0 0 0
Total Trade Score > 127 137 114 126
Estimated Price: $5832 w/o GPS
around $10K $1338 w/o GPS $6146 w/o GPS
Agents - 41 OBJS
CONCLUSIONS
Agents - 42 OBJS
Contributions
• Strawman agent reference architecture influenced– DARPA CoABS Agent Grid– OMG Agent Architecture **– FIPA Abstract Agent Architecture **
• Agent Grid Services developed for DARPA CoABS Program– WebTrader *– AgentGram *– eGents agent system– Generic XML2Java mapping *
• FIPA adopted– Representing agent communication language messages in XML **– Email message transport **
• SUO artifacts– SUO Communicator requirements– SUO Ontology – coverage issues– SUO Message XML DTD– Explicit representation for scenarios as collections of messages
• Useful for simulation and after action analysis
– SUO Communicator Prototype• Cougaar uses our adaptive, survivable message service
* Patent Application ** Standard
Agents - 43 OBJS
Directions• Architectural modularity - separating the core system, application, and scenario
– Addin for planning– Addin for MBNLI - Semantic web and web object model
• MBNLI I/F descriptor (e.g., grammar) as wrappers for any entity (agent, web page, info source, internet resource, …)• MBNLI wrapper composition so you can talk to collections of heterogeneous entities• Web-enabled MBNLI accessible from any web page – grammars on web pages
• Ontology coverage extensions– Demo realism - through additional message types, image and video exchange– Ontology editor to define and edit eGents, address books, missions, roles, maps, grids, icons, subscriptions, filters, message
types, scenarios (sequences of message instances), data sources, panels and .jars– Mission doctrine coverage– Interoperability with other messaging systems, data sources, C4ISR systems, simulations– Framework for adding new data sources– Interoperability among ASIV Communicators used by different kinds of teams, e.g., rangers and police– Enable end users to extend system by integration of ontology with GUI/eGents
• Semantic extensions– allowing agents to come and go from scenario – enclaves, mobility– Incomplete info - due to missing or out-of-date messaging due to intermittent connections or being too busy to respond– Aggregate periodic field reports
• Borg Collective– P2P XML and SQL query and evaluating distributed queries
• Agent Management– Adaptability – esp. Policy Management Infrastructure for agents– Survivability, security, reliability, scalability, assurance testing– Assuring safety– Basic performance– Garbage collecting servers– Gathering statistics on communications behavior & predicting expected future behavior– Amplify capability of log file to support After Action Review
• Field testing– Can mission planners use the system to create new scenarios quickly– Port to small footprint platform and field test at MOUT– Can ASIV communicator users use system in field exercises– Scalability - automated deployment to new platforms, download eGent apps to the field as situations change -- currently eGents
requires manual installation limiting fast fanout of new eGent applications. - ASIV applet for training
Agents - 44 OBJS
QUESTIONS
Agents - 45 OBJS
Agents - 46 OBJS
BACKUP
Agents - 47 OBJS
Acronyms
• OMG Object Management Group (Agent SIG)• FIPA Foundation for Intelligent Physical Agents• CoABS DARPA Control of Agent-based Systems• CoAX Coalition Agent Experiment• JBI AFRL Joint Battlespace Infosphere• UltraLog DARPA UltraLog Program (Survivable Agents for
Logistics)• ALP DARPA Advanced Logistics Planner • Cougaar DARPA Cognitive Agent Architecture• Msg*Log OBJS Agent Messaging Service• MBNLI Menu-based Natural Language Interface• ACL Agent Communication Language• LAN Local Area Network• WAN Wide Area Network• RPC Remote Procedure Call• Java RMI Java Remote Method Invocation• SMTP Simple Mail Transfer Protocol• POP3 Post Office Protocol• NNTP Network News Transport Protocol• XML Extensible Markup Language• TIE Technology Integration Experiment
Agents - 48 OBJS
Small Unit Operations TIE
• Headquarters in Bosnia gets mole report of enemy shadowing US platoons. [1]
• Rome Y-JBI Outlook agent system received email alerts from info sources it is monitoring.
• Commander zooms map to the affected area and subscribes to platoon-level status reports. [2, 3, 4]
• OBJS eGents representing platoons receive these subscriptions by (wireless) email.
• Feeds from troops are aggregated in platoon level reports which are sent to subscribers, including the commander. [5]
• Platoon level eGents aggregate troop level reports and begin to send back platoon level reports to subscribers, including the commander.
• Map changes to show changing platoon locations.
• As the scenario plays, fuselets notice two platoons are under attack, one via conventional weapons, the other via chemical attack. [6]
• As simulation plays, map changes to show platoons in trouble. This is discovered by Y-JBI fuselets that look for specific patterns in the communication. In this case, one soldier is killed and another wounded in one platoon and another suffers a chemical attack.
Joint Battlespace Infosphere (JBI)
Agents - 49 OBJS
JBI TIE Scenario1
5
4
6
2
3
Agents - 50 OBJS
SimulationControl(World)
HQ
Platoon Leader
Squad Leader
Ranger-14
Sensor-5USMTFproxy
MsgLog
USMTFMessaging
Systemproxy
Other External Data Source
USMTF slash message formatother message format
sends ADVANCECLOCK messagesto step thru demo
- or alternatively -
user can use ASIV egent GUI to create a stream of messages
Bcc log of messages
provides an explicit scenario representation that can be replayed or
analyzed for after action reporting
• ASIV eGents use XML message format; eGents proxies handle foreign message formats• ASIV eGents automatically handle most messages• aliasing allowed in addresses, e.g., TO: All Platoon Leaders Bcc: MsgLog• subscriptions are used to auto-send updates periodically• filters are used to block sending and receiving unwanted messages
Two modes: use GUI point-and-tap to send messages –or– use scenario message log to drive simulation
SUO eGents send messages to each other