Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting,...

50
Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Transcript of Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting,...

Page 1: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 1 OBJS

Multi-Agent Systems - Architecture

Craig ThompsonObject Services and Consulting, Inc. (OBJS)

Page 2: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 2 OBJS

OUTLINE

• Vision • Agent Reference Architecture• Agent Services • Applications• Contributions & Directions

Page 3: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 3 OBJS

I see a tank!

Needfuel!

observations &recommendations

orders & subscriptions

Anythreats?

VISION – EVERYTHING IS ALIVE

Page 4: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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)

Page 5: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 6: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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;

Page 7: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 8: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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?

Page 9: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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.

Page 10: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 11: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 12: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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.

Page 13: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 14: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 14 OBJS

WebTrader Query Tool

Page 15: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 16: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 16 OBJS

MBNLI Example

Page 17: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 18: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 18 OBJS

eGents Example

Page 19: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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*

Page 20: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 21: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 21 OBJS

The Basic Idea

Page 22: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 22 OBJS

APPLICATIONS

• DARPA CoABS Coalition Agent Experiment• DARPA CoABS-AFRL Joint Battlespace

Infosphere• AFRL Small Unit Operations Communicator

Page 23: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 24: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 24 OBJS

Safari Park Vignette

Page 25: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 25 OBJS

So elephants were here at beginning of the month. Where are they now?

MBNLI

Page 26: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 26 OBJS

subscribe

inform

eGents

Page 27: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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, …

Page 28: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 29: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 30: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 30 OBJS

SUO eGents and Ontology

Page 31: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 32: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 33: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 34: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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)

Page 35: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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.

Page 36: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 36 OBJS

REQUEST

INFORM

ACK

RESUME

CANCEL

SUSPEND

INFORM

ACK

Y-JBI sends, eGents receives – eGents sends, Y_JBI receives

SUBSCRIBE

Agent Conversation

Page 37: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 37 OBJS

Example

Page 38: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 38 OBJS

Example

Page 39: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (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

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

Page 40: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 41: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 41 OBJS

CONCLUSIONS

Page 42: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 43: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 44: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 44 OBJS

QUESTIONS

Page 45: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 45 OBJS

Page 46: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 46 OBJS

BACKUP

Page 47: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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

Page 48: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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)

Page 49: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

Agents - 49 OBJS

JBI TIE Scenario1

5

4

6

2

3

Page 50: Agents - 1 OBJS Multi-Agent Systems - Architecture Craig Thompson Object Services and Consulting, Inc. (OBJS)

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