Agents - 1
OBJS
Multi-Agent Systems - Architecture
Craig Thompson Object Services and Consulting, Inc. (OBJS)
Multi-Agent Systems - Architecture Craig Thompson Object Services - - PowerPoint PPT Presentation
Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS) OBJS Agents - 1 OUTLINE Vision Agent Reference Architecture Agent Services Applications Contributions & Directions OBJS Agents
Agents - 1
OBJS
Craig Thompson Object Services and Consulting, Inc. (OBJS)
Agents - 2
OBJS
Agents - 3
OBJS
Agents - 4
OBJS
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
– 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
– identify
and what parts are still needed.
Agents - 5
OBJS Adaptive Adaptive
to uncertainty and change
Agents are goal directed and act on their
tasks on your behalf Agents coordinate and negotiate to achieve common goals Agents move to where they are needed Autonomous Autonomous
proactive
Mobile Mobile Interoperate Interoperate Agents interoperate with humans, other, legacy systems, and information sources Agents dynamically adapt to and learn about their environment Cooperative Cooperative
self-organizing delegation social personality social personality
Intelligent Agents Information Agents
Agents - 6
OBJS
intelligent manner
intelligence
principles and/or mechanisms, e.g., objects that use an ACL to communicate, objects that make use of a planner, …
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
at run-time. Reduce the 60% of time in command and control systems spent manipulating stovepipes; incrementally replace stovepipes.
information and capability they need. Enable teams led by humans and staffed by agents.
added to the system. Add capability modularly. Stable, scaleable, evolvable, reliable, secure, survivable, ...
computation is not restricted to machine or organization boundaries.
Agents - 7
OBJS
* = Architecture WG in Pittsburg
Agents - 8
OBJS
Agents - 9
OBJS
– Agent API via Agent Communication Language (ACL)
– Agent Services
– User Interface(s) – optional – GUI, natural language, … – Security services – Directory services – Distributed communications – asynchronous, intermittent – Platform & comm. – host abstract machine, environment
– 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
capability
motivation, forgetting
distribution messaging svcs* agent life cycle* - start, stop, checkpoint, name service** event monitoring leasing, compensation catalog services*, registry/repository* register*,
publish*, subscribe* trading*, matchmaking, advertising*, negotiating*, brokering*, yellow pages* security** authenticate* encrypt access control lists* firewall* CIA model agent suspects transactions persistence* query, profile (of metadata)* data fusion replication* groups multicast (scarce) resource mgmt*, allocate*, deallocate*, monitor*, local, global optimization, load balancing*, negotiation for resources* scheduling time, geo-location rules, constraints planning* property list versioning, config
(aka Functional/Compositional View)
speech acts*: ACL* - KQML, FIPA ACL, OAA ICL planning*
systemic grid features common services AGENT SYSTEM
ensembles
contracting,
policies* scalability* policy*, management
survivability evolvability reliable* licensing & cost QoS*
GRID time-constrained* control*, coordination*, multi-agent synchronization
adaptation, evolution* via market model, ... federates infrastructure primitives
ONTOLOGY**
availability, capability, price/cost
I*3 BADD AICE IA EDCS Quorum OMG JTF Jini ALP, HLA, IA Architecture Principle: separation of concerns deconstructionist view - what can you take away and still have an agent system secure*, trust societies
communities of interest learning
mobility** heterogeneous*
assumption autonomous decentralized* * = Architecture WG in Pittsburg * = Control WG in Pittsburg * = Interoperability WG in Pittsburg red = Sun Jini green = other DARPA programs content languages
RDF missing
More common services instrumenting, logging caching queuing routing, rerouting pedigree, drill down translation* ... DDB
Agents - 11
OBJS
Piggyback agent service on standard widely deployed infrastructure for pervasive agent deployment … agents for the masses.
Anyone on the Web can advertise a resource (e.g., agent, service, data source) that anyone else can discover.
across the web using constrained natural language.
Anyone with email can create an agent service that anyone else can use.
Messaging is survivable (robust, secure, scalable).
Agents - 12
OBJS
the parts must be found somewhere and probably not all will come from the local environment.
agents, services, channels, components, data sources) when we need them?
purpose but these traders generally know only about closed worlds of resources of limited types (e.g., IDL).
(e.g., agent, service, data source) that anyone else can discover.
dynamically extend the knowledge and/or capabilities of the client, as well as enable intelligent on-the-fly assembly and reconfiguration
XML-based advertisements for resources embedded in web pages indexed by industrial-strength search engines.
trader federation, and can access multiple search engines.
Open Agent Architecture (SRI) WebTrader Agent Ariadne (ISI)
Agent World Web World
Search Engine
page
AD
page
AD
page page
AD
page
AD
page
AD
page page
AD
page
AD
page page
AD GeoCoder White Pages
Services / Datasources
1 2 3 5 6 7
Agent Grid
4
WebTrader was used in the NEO TIE to locate evacuees and to find a geocoder.
Agents - 13
OBJS
Indexed by Locates and returns candidate pages Trading advertisements may be distributed across some part of the Web 4 9 7 3 10 12 8 6 5
11 14 13 WebTrader matches and returns candidate advertisements
2 1
Agents - 14
OBJS
Agents - 15
OBJS
and query agents using complex commands.
many situations.
complex but understandable commands in constrained natural language.
applications, both on the desktop and the Web.
communication will simplify basic human-agent interactions while making it possible for humans to formulate complex agent requests.
complex queries and commands
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.
Agents - 16
OBJS
Agents - 17
OBJS
Web-ORB-Email backplanes is a route to making agent technology open, pervasive and robust.
eGents leverages pervasive, robust email infrastructure, inherits support for disconnected operations, message queuing, mobile users, firewalls, filtering, logging, and
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.
and asynchronous. Need a scalable way to deliver agent messages to 1000’s of (wireless) platforms.
specialized agent technology. Email is a common denominator in coalition situations.
that anyone else can use. New eGent apps can be downloaded to the field as situations change.
people, equipment, and locations as pervasive
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. eGents Inside
Theme: Everything is alive
Agents - 18
OBJS
Agents - 19
OBJS
Machine 1 installed on soldier, evacuee, vehicle, weapon
PSM server eGent eGents platform**
eGents
Machine 2 perhaps installed at command post
eGent grid agent proxy
eGents
Machine 3 perhaps installed at medevac unit
PSM client eGent eGents platform
eGents Grid PSM client grid agent Email Server
All eGents can share one Email server or they can each have their own
* 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
eGents platform*
Agents - 20
OBJS
Policy Mgmt Compression Encryption Recovery / timeout / Retry Adaptive Messaging
Local Messaging Other Messaging sockets, JMS, …
Agent Mail servers (store & forward)
Periodic Connection Agent (Palm) Firewalled Agent
Info servers (situation updates/ Logs)
Overwhelmed Agent (only get latest update - not intermediate)
Mask Traffic Patterns
RMI Messaging White Noise Email Messaging NNTP Messaging
Agents - 21
OBJS
Agents - 22
OBJS
Agents - 23
OBJS
Are the Safari Park elephants in danger?
determine the elephants are migrating
Elephant herd migrations
Current position of herd 17.0N/ 34.4E - 2012/09/01 14:20
Theme: Everythin g is alive
Safari Park
Agents - 24
OBJS
Agents - 25
OBJS So elephants were here at beginning
Where are they now?
Agents - 26
OBJS
Agents - 27
OBJS
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
– Accuracy of Geo-location references – Support for disconnected opertions – Assured delivery – Stealth – After action analysis * Small Unit Operations (SUO)
Agents - 28
OBJS
Soldier Tasks
Squad 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 role 2. HQ sends maps / grid setup 3. Filters distributed to agents 4. HQ receives USMTF weather 5. Squad 3 moves from CP to AOI 6. Sensors placed 7. Sensor trips & alerts subscribers 8. Ranger resets sensor 9. Sensor trips again
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.
Agents - 30
OBJS
Agents - 31
OBJS
<?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
<!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)> …
Agents - 33
OBJS
scenarios
scenarios, providing a common operational picture
action reporting and analysis
Bcc
eGent can send and/or receive
log to study subset of the eGents e.g., medical, logistics
aka Scenario Authoring Capability aka Simulation Driver Capability
Agents - 34
OBJS
Sending Agent Apply Filters Trigger Event Email Server Parse Message Apply Filters Invoke Method
Receiving Agent Construct XML Resolve address Send Message (email) Receive Message (email)
Agents - 35
OBJS
<NAME>Near Airport Terminal or Area 7</NAME> <CLASS>LocationFilter</CLASS> <TYPE>USMTF</TYPE>
<FIELD>GM_OperExer</FIELD> <STRING>Quick Recovery</STRING> </CONDITION> <OPERATOR>AND</OPERATOR> <OPERATOR>(</OPERATOR>
<FIELD>GM_Location</FIELD> <LOCATION>AREANM:AREA 7</LOCATION> <RANGE>SEC:000230N0000530W</RANGE> </CONDITION> <OPERATOR>OR</OPERATOR>
<FIELD>GM_Location</FIELD> <LOCATION>SEC:351234N12810W</LOCATION> <RANGE>SEC:001000N0010000W</RANGE> </CONDITION> <OPERATOR>)</OPERATOR>
Agents - 36
OBJS
Y-JBI sends, eGents receives – eGents sends, Y_JBI receives
Agents - 37
OBJS
Agents - 38
OBJS
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
ASIV egent email server email server ASIV egent ASIV egent ASIV egent ASIV egent any email client
Machine boundaries process boundaries LAN or WAN
Agents - 40
OBJS
Xybernaut Tallacomm Fujitsu Panasonic # Requirement / Goal Weight MA-V S Tacter31 S LifeBook P1000 S Toughbook 07 S 1 Runs ASIV Applications: Full Java VM PC Arch w/ 233 MHz min 128 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
+ +
20 6 Soldier positioning via GPS 10
+ +
20
+ +
20
+ +
20
+ +
20 7 Integral camera 3
8 Targeting device - use w/GPS 2
+ +
4
Integral / Interface to sensors: 9 Soldier health telemetry 3 10 Weather 1 11 Soldier motion 3 12 Soldier resource telemetry 3 13 Ruggedized 5
+ +
10
+ +
10
+ +
10 14 Wearable / weight bearing harness 3
+ +
6
+ +
6
+
3
+ +
6 15 Extended operation > 8 hours 3
+
3
+
3
+ +
6 16 Fast initialization (< 5 sec.) 1
17 Power saving modes 2
+
2
+
2 18 Field-tested - Acceptance 2
+
2
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
Agents - 42
OBJS
– DARPA CoABS Agent Grid – OMG Agent Architecture ** – FIPA Abstract Agent Architecture **
– WebTrader * – AgentGram * – eGents agent system – Generic XML2Java mapping *
– Representing agent communication language messages in XML ** – Email message transport **
– SUO Communicator requirements – SUO Ontology – coverage issues – SUO Message XML DTD – Explicit representation for scenarios as collections of messages
– SUO Communicator Prototype
* Patent Application ** Standard
Agents - 43
OBJS
– Addin for planning – Addin for MBNLI - Semantic web and web object model
– 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
– 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
– P2P XML and SQL query and evaluating distributed queries
– 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
– 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
Agents - 45
OBJS
Agents - 46
OBJS
Object Management Group (Agent SIG)
Foundation for Intelligent Physical Agents
DARPA Control of Agent-based Systems
Coalition Agent Experiment
AFRL Joint Battlespace Infosphere
DARPA UltraLog Program (Survivable Agents for Logistics)
DARPA Advanced Logistics Planner
DARPA Cognitive Agent Architecture
OBJS Agent Messaging Service
Menu-based Natural Language Interface
Agent Communication Language
Local Area Network
Wide Area Network
Remote Procedure Call
Java Remote Method Invocation
Simple Mail Transfer Protocol
Post Office Protocol
Network News Transport Protocol
Extensible Markup Language
Technology Integration Experiment
Agents - 47
OBJS
level status reports. [2, 3, 4]
to subscribers, including the commander. [5]
reports to subscribers, including the commander.
via conventional weapons, the other via chemical attack. [6]
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.
Agents - 48
OBJS
Agents - 49
OBJS
Simulation Control (World) HQ Platoon Leader Squad Leader Ranger-14 Sensor-5 USMTF proxy MsgLog USMTF Messaging System proxy Other External Data Source
USMTF slash message format
sends ADVANCE CLOCK messages to step thru demo
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
Two modes: use GUI point-and-tap to send messages –or– use scenario message log to drive simulation