+ All Categories
Home > Documents > Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies [email protected].

Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies [email protected].

Date post: 12-Jan-2016
Category:
Upload: sherilyn-stanley
View: 213 times
Download: 0 times
Share this document with a friend
36
Cougaar Cougaar A Robust Configurable A Robust Configurable Multi-Agent Multi-Agent Platform Platform Todd Wright Todd Wright BBN Technologies BBN Technologies [email protected] [email protected]
Transcript
Page 1: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

CougaarCougaar

A Robust Configurable A Robust Configurable Multi-Agent PlatformMulti-Agent Platform

Todd WrightTodd WrightBBN TechnologiesBBN [email protected]@bbn.com

Page 2: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Aerospace MAS RequirementsAerospace MAS Requirements

• Aerospace operations are complexAerospace operations are complex– Distributed, heterogeneous applicationsDistributed, heterogeneous applications– Unreliable, slow networksUnreliable, slow networks– Dynamic conditions that require autonomous Dynamic conditions that require autonomous

behavior (agents)behavior (agents)– Must be robust to both hardware and software Must be robust to both hardware and software

failuresfailures– Must be secureMust be secure

• A configurable, robust, and scalable A configurable, robust, and scalable Multi-Agent System (MAS) framework is Multi-Agent System (MAS) framework is required…required…

Space

Ground Control

Rovers

Page 3: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Similar UltraLog MAS RequirementsSimilar UltraLog MAS Requirements

• The DARPA UltraLog Program The DARPA UltraLog Program faced similar challengesfaced similar challenges– Build a scalable, robust, secure agent Build a scalable, robust, secure agent

framework (Cougaar)framework (Cougaar)– Support autonomous, large-scale Support autonomous, large-scale

military logistics planning & executionmilitary logistics planning & execution– Research and assess overall system Research and assess overall system

survivabilitysurvivability

• Many of the architecture capabilies Many of the architecture capabilies developed in Cougaar could also developed in Cougaar could also support Aerospace applications!support Aerospace applications!

Cougaar-based Logistics Application

Page 4: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

The UltraLog ProgramThe UltraLog Program

• DARPA effort to research DARPA effort to research survivable agentssurvivable agents– Build and extend a generic, highly capable agent Build and extend a generic, highly capable agent

framework (more on this later in this talk…)framework (more on this later in this talk…)– Support the UltraLog logistics applicationSupport the UltraLog logistics application

• Prototype application is military logisticsPrototype application is military logistics– Real algorithms and organizationsReal algorithms and organizations– Plan, transport, and execute 180 day deploymentPlan, transport, and execute 180 day deployment– US Army FCS program scenarioUS Army FCS program scenario– Resulting log plan has 250K+ individual elements Resulting log plan has 250K+ individual elements

representing demand & transport for 34K+ entities representing demand & transport for 34K+ entities of 200+ types.of 200+ types.

Page 5: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

UltraLog AssessmentUltraLog Assessment

• Large-scale configurationLarge-scale configuration– 1092+ agents1092+ agents– 80+ hosts80+ hosts– 9+ LANs9+ LANs

• Assess system survivabilityAssess system survivability– Kill agents, kill hosts, degrade or Kill agents, kill hosts, degrade or

cut network links, security cut network links, security attacks, last-minute planning attacks, last-minute planning workload changes…workload changes…

• Annual testing cycleAnnual testing cycle– Engineering testing, Security red Engineering testing, Security red

team, Functional assessment, …team, Functional assessment, …– 100’s of tests100’s of tests

2000 2001 2002 2003 StressFAIL OK OK PASS Wartime loads1FAIL FAIL OK OK Wartime loads2FAIL FAIL OK PASS Wartime loads3FAIL FAIL OK OK ThrashingFAIL OK OK OK Scaling of nodes and agentsFAIL FAIL OK OK Scaling logistics problemOK PASS PASS PASS Fraudulent, untrusted code FAIL PASS PASS PASS Untrusted communicationsFAIL PASS PASS PASS Insecure / dangerous codeFAIL FAIL OK PASS Corruption of persisted stateFAIL OK OK OK Unauthorized processingOK OK OK PASS Unexpected plugin behaviorOK PASS PASS PASS Component masqueradeFAIL OK OK PASS Compromised agents1FAIL OK OK PASS Compromised agents2FAIL OK OK OK IntrusionFAIL FAIL OK OK Compromised communicationsFAIL FAIL OK OK SnoopingOK PASS PASS PASS Message interceptFAIL OK PASS PASS Processing failure1FAIL OK OK PASS Processing failure2FAIL OK PASS PASS Network failure1FAIL OK PASS PASS Network failure2FAIL OK OK PASS Processing contentionFAIL OK OK PASS DOS attack

Security

Robustness

Scalability

Assessed capability improvement each year

Note that UltraLog is just one Cougaar-based application…

Page 6: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

The Cougaar ArchitectureThe Cougaar Architecture

• UltraLog was built on top of the UltraLog was built on top of the Cougaar architectureCougaar architecture

• Cougaar is Cougaar is – 100% Java agent architecture 100% Java agent architecture – Open sourced (BSD-style license)Open sourced (BSD-style license)– Around 400K lines of codeAround 400K lines of code

• Cougaar was designed to Cougaar was designed to support applications that aresupport applications that are– data intensive, data intensive, – inherently distributed, inherently distributed, – emphasize scalability & emphasize scalability &

configurabilityconfigurability

Developed under DARPA funding

Cougaar is Open-Source (BSD-style license)

http://www.cougaar.org

Node

AgentAgent

PluginPlugin

BinderBinderBinder

Plugin

Message Transport Service

Agent

Blackboard

Binder

Servlet I nterface

YP/ WP Directory Services

Community Services

Node

AgentAgent

PluginPlugin

BinderBinderBinder

Plugin

Message Transport Service

Agent

Blackboard

Binder

Servlet I nterface

YP/ WP Directory Services

Community Services

Page 7: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Cougaar Architecture InnovationsCougaar Architecture Innovations

• Reusable Component frameworkReusable Component framework– Components advertise and obtain local Components advertise and obtain local

services from their peer componentsservices from their peer components– Binders can block or modify service requests Binders can block or modify service requests

(for security or aspects)(for security or aspects)– AllAll agent capabilities are pluggable agent capabilities are pluggable

components and services (message components and services (message transport, naming, logging, etc)transport, naming, logging, etc)

• Two levels of agent interactionsTwo levels of agent interactions– Intra-agent publish/subscribe for tightly-Intra-agent publish/subscribe for tightly-

coupled interactions between an agents coupled interactions between an agents components (“plugins”)components (“plugins”)

– Inter-agent message passing for scalable, Inter-agent message passing for scalable, loosely-coupled interactionsloosely-coupled interactions

• Domain modeling supportDomain modeling support– Prototype/delegation data modelPrototype/delegation data model– Capability-based representationsCapability-based representations

Benefit to future Aerospace Applications:

Component-based design simplifies application

development.

Aerospace developers can add new services and/or

replace core services

Cougaar features scalable communication patterns

Developers can define custom Aerospace domains to simplify

modeling tasks

Page 8: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Additional Architecture FeaturesAdditional Architecture Features

• Replicated Replicated White PagesWhite Pages naming service naming service (DNS-style) and (DNS-style) and Yellow PagesYellow Pages directory directory service (UDDI)service (UDDI)

• Message Transport ServiceMessage Transport Service (MTS) (MTS)– Guaranteed in-order asynchronous message Guaranteed in-order asynchronous message

deliverydelivery– Pluggable protocols (RMI, CORBA, ..)Pluggable protocols (RMI, CORBA, ..)– Integrated QoS-adaptation, aspect-based Integrated QoS-adaptation, aspect-based

metrics servicesmetrics services

• Web ServicesWeb Services support (SOAP, WSDL, ..) support (SOAP, WSDL, ..)

• Embedded Embedded HTTP ServletHTTP Servlet support support

• Agent mobilityAgent mobility support support

• Dynamic agent Dynamic agent Service DiscoveryService Discovery

Includes naming services

Agent load balancing

Capability-based agent discovery & relationships

Built-in Web Services and HTTP support

Includes message transport.

Developers can extend or replace the MTS if desired.

Benefit to future Aerospace Applications:

Page 9: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Adaptive Defense LayersAdaptive Defense Layers

• RobustnessRobustness services: services:– Restart manager detects agent/host death, Restart manager detects agent/host death,

restarts, moves agents. Self-robust using leader restarts, moves agents. Self-robust using leader election.election.

– Persistence of agent state, plus dynamic inter-Persistence of agent state, plus dynamic inter-agent reconciliation to recover from lost stateagent reconciliation to recover from lost state

• SecuritySecurity services: services:– Encryption, policy-based authorization, service Encryption, policy-based authorization, service

proxiesproxies

– Built to expect system compromiseBuilt to expect system compromise

• Application-level QoS awareness and Application-level QoS awareness and adaptationadaptation

Includes advanced security support

Includes robust persistence and restart

management layers

Benefit to future Aerospace Applications:

Supports application-level

survivability behaviors

Page 10: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

ConclusionsConclusions

• Cougaar has many features that would Cougaar has many features that would benefit Aerospace application developers:benefit Aerospace application developers:– Component-based, reusable infrastructureComponent-based, reusable infrastructure– Robust and secure core servicesRobust and secure core services– Flexibility to support future Aerospace Flexibility to support future Aerospace

applications!applications!

Learn more, download, and contribute at

http://www.cougaar.org

Page 11: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

BackupBackup

Page 12: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Cougaar Design GoalsCougaar Design Goals

• The Cougaar agent architecture was built for The Cougaar agent architecture was built for such applicationssuch applications– Data intensive, large-scale, naturally distributed, Data intensive, large-scale, naturally distributed,

and time-sensitive problems.and time-sensitive problems.– Application deployment must be secure, built to Application deployment must be secure, built to

expect component failure, and provide user expect component failure, and provide user visibilityvisibility

– It must also support agent mobility, state It must also support agent mobility, state persistencepersistence

– Highly modular and configurable designHighly modular and configurable design

Page 13: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Cougaar Application SpaceCougaar Application Space• Complex, Data intensive, Large-scale ApplicationsComplex, Data intensive, Large-scale Applications

– No system-imposed scalability constraints allowedNo system-imposed scalability constraints allowed

• DistributedDistributed– Too complex for single platformToo complex for single platform– Naturally broken up for domain reasonsNaturally broken up for domain reasons

• Local to dataLocal to data• Local security requirementsLocal security requirements• Bandwidth limitationsBandwidth limitations

• Efficiency requiredEfficiency required– support parallelism & distributed operationssupport parallelism & distributed operations

• User visibility into operations essentialUser visibility into operations essential– Occasional human feedback useful, but not part of critical loopOccasional human feedback useful, but not part of critical loop

• Secure – Protect & RespondSecure – Protect & Respond• Component failure expectedComponent failure expected

– Degrade gracefully in case of failureDegrade gracefully in case of failure– Continuously availableContinuously available

• Must support Must support – run-time mobility & Persistencerun-time mobility & Persistence– Modularity & Code re-use or replacementModularity & Code re-use or replacement

Page 14: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

UltraLog Survivability UltraLog Survivability RequirementsRequirements

• Stress, System Function and Degradation are Stress, System Function and Degradation are Quantitative in NatureQuantitative in Nature

• Three categories of stressThree categories of stress– Loss (total or partial) of hardware capabilities (CPU, BW, Loss (total or partial) of hardware capabilities (CPU, BW,

Memory, Disk)Memory, Disk)– Significant increases in legitimate work to performSignificant increases in legitimate work to perform– Attempts to circumvent system integrity (confidentiality, Attempts to circumvent system integrity (confidentiality,

authentication, authorization)authentication, authorization)Survivability: Extent to which system function

is maintained under stress

Program Goal (per original program description) : System will incur no greater than a

20% capabilities loss and a 30% performance loss under conditions of 45% information infrastructure loss,

wartime loads, and directed information warfare

Page 15: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Prototype Application MOPsPrototype Application MOPsUltraLog

Survivability

MOE 1Planning andReplanning

0.71

MOP 3-1-1Time to computeplan or replan

0.80

MOP 3-1-3Time to present

0.20MOE 2Confidentiality &

Accountability0.29

MOP 2-1Memory data

available0.16

MOP 2-5User actions

recorded0.04

Capability0.58

MOE 3Performance

0.42

MOP 1-2Correctness of

Plan0.39

MOP 3-1-2reserved

MOP 1-1Completeness of

Plan0.41

MOP 1-3Completeness for

presentation0.10

MOP 2-2Disk data available

0.16

MOP 2-3Transmission data

available0.31

MOP 1-4Correctness for

presentation0.10

MOP 1-1-1Transport

0.64

MOP 1-1-2Supply

0.36

MOP 1-1-1-1Near Term

0.85

MOP 1-1-1-2Far Term

0.15

MOP 1-2-1Transport

0.55

MOP 1-2-1-1Near Term

0.85

MOP 1-2-1-2Far Term

0.15

MOP 1-2-2Supply

0.45

MOP 1-3-1Transport

0.64

MOP 1-3-1-1Near Term

0.85

MOP 1-3-1-2Far Term

0.15

MOP 1-3-2Supply0.36

MOP 1-4-1Transport

0.55

MOP 1-4-1-1Near Term

0.85

MOP 1-4-1-2Far Term

0.15

MOP 1-4-2Supply

0.45

SwingWeights

November 03

MOP 2-4User actions

counter to policy0.21

MOP 2-6User violations

recorded0.12

•Measure Performance

•Weight Measures

•Compute Overall Survivability Score

Page 16: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Cougaar HistoryCougaar History

• Supported for past 8 years by US Defense Supported for past 8 years by US Defense Advanced Research Projects Agents (DARPA)Advanced Research Projects Agents (DARPA)– ALP programALP program– Current UltraLog programCurrent UltraLog program

• Large collaboration of academia & industryLarge collaboration of academia & industry• Building & executing detailed military logistics Building & executing detailed military logistics

plan for 180-day deployment under heavy stressplan for 180-day deployment under heavy stress– 45% infrastructure loss45% infrastructure loss

• Current test platform runs around 1200 medium-Current test platform runs around 1200 medium-weight agents across nearly 100 machinesweight agents across nearly 100 machines

Page 17: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Cougaar OverviewCougaar Overview

• Cougaar is layered applicationsCougaar is layered applications– System of systems (Log, Naming, Directory, Robustness, Security, System of systems (Log, Naming, Directory, Robustness, Security,

Community)Community)– Shared infrastructureShared infrastructure

• Flexible component modelFlexible component model– Allows dynamic loadingAllows dynamic loading– ““Binder” proxies to mediate component interaction with servicesBinder” proxies to mediate component interaction with services

• Multi-tiered interaction modelMulti-tiered interaction model– Intra-agent via local publish-and-subscribe blackboardIntra-agent via local publish-and-subscribe blackboard– Inter-agent via asynchronous message passingInter-agent via asynchronous message passing

• Flexible data modelFlexible data model– Scalable – handle large volumes of dataScalable – handle large volumes of data– Characterize entities by attributes: Don’t look for ducks, look for birds that live Characterize entities by attributes: Don’t look for ducks, look for birds that live

on water, fly, and say “quack”on water, fly, and say “quack”

• Dynamically discovered agent relationshipsDynamically discovered agent relationships– Hierarchical service discoveryHierarchical service discovery

• Communities for security monitoring and relationship discoveryCommunities for security monitoring and relationship discovery– Similar to notion of “holons”Similar to notion of “holons”

Page 18: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Component ModelComponent Model

• Cougaar Component Model loads and Cougaar Component Model loads and manages software manages software componentscomponents• Components interact through interfacesComponents interact through interfacescalled called ServicesServices• CCM patterned off of JavaBeans, without the Swing CCM patterned off of JavaBeans, without the Swing

dependenciesdependencies• CCM addsCCM adds

– Strong service isolation & encapsulation modelStrong service isolation & encapsulation model– BindersBinders to wrap any component and audit, authorize or modify to wrap any component and audit, authorize or modify

service interactionsservice interactions• Binders may nestBinders may nest• Binders are themselves components, subject to the same restrictionsBinders are themselves components, subject to the same restrictions

• Components are dynamically loaded and connected at start timeComponents are dynamically loaded and connected at start time• Provides highly customizable and flexible application constructionProvides highly customizable and flexible application construction

Node

AgentAgent

PluginPlugin

BinderBinderBinder

Plugin

Message Transport Service

Agent

Blackboard

Binder

Servlet I nterface

YP/ WP Directory Services

Community Services

Node

AgentAgent

PluginPlugin

BinderBinderBinder

Plugin

Message Transport Service

Agent

Blackboard

Binder

Servlet I nterface

YP/ WP Directory Services

Community Services

Page 19: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Cougaar component modelCougaar component model

Node

AgentAgent

PluginPlugin

BinderBinderBinder

Plugin

Message Transport Service

Agent

Blackboard

Binder

Servlet I nterface

YP/ WP Directory Services

Community Services

Node

AgentAgent

PluginPlugin

BinderBinderBinder

Plugin

Message Transport Service

Agent

Blackboard

Binder

Servlet I nterface

YP/ WP Directory Services

Community Services

Cougaar component framework supports many nested components and services

Page 20: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Building Cougaar ApplicationsBuilding Cougaar Applications

• Example: Our prototype application models the military Example: Our prototype application models the military logistics supply chain.logistics supply chain.– Each Agent represents a military organizationEach Agent represents a military organization

• AgentsAgents contain re-usable software units called “ contain re-usable software units called “pluginsplugins””– IE an “Inventory Manager” or “Demand Generator”IE an “Inventory Manager” or “Demand Generator”– Plugins interact via publish & subscribe to local Plugins interact via publish & subscribe to local BlackboardBlackboard– Plugins in this “Planning” Domain create Tasks that are Plugins in this “Planning” Domain create Tasks that are

Allocated to physical assets (eg this Truck will move you) or Allocated to physical assets (eg this Truck will move you) or other Agentsother Agents

– This Task Allocation results in a Message sent to the remote This Task Allocation results in a Message sent to the remote AgentAgent

• Each agent plans & executes its piece of the supply Each agent plans & executes its piece of the supply chainchain– Together they produce and execute an Together they produce and execute an emergentemergent plan, plan,

represented across the represented across the distributeddistributed logical blackboard logical blackboard

Page 21: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

FIXME: Summary of other piecesFIXME: Summary of other pieces

• Plugins communicate via publish/subscribe semantics over a blackboard.Plugins communicate via publish/subscribe semantics over a blackboard.• Blackboard is not distributedBlackboard is not distributed

– Logically connectedLogically connected– Remote blackboards never directly viewableRemote blackboards never directly viewable

• Domain-specific Domain-specific LogicProvidersLogicProviders translate local Blackboard objects into inter-agent translate local Blackboard objects into inter-agent messagesmessages

• The Cougaar Message Transport Service is an adaptive componentized JVM-level service The Cougaar Message Transport Service is an adaptive componentized JVM-level service – RMI, CORBA, HTTP and UDP supportedRMI, CORBA, HTTP and UDP supported– Aspects may control message handling including security and protocol selectionAspects may control message handling including security and protocol selection– Guaranteed in-order delivery in case of transient communication failuresGuaranteed in-order delivery in case of transient communication failures

• Cougaar provides a distributed White Pages (WP) service for locating Agents by nameCougaar provides a distributed White Pages (WP) service for locating Agents by name– Modeled off of DNSModeled off of DNS– Focus on rapidly changing namesFocus on rapidly changing names– Supports replicated and hierarchical servers & namesSupports replicated and hierarchical servers & names– An entirely in-band application leveraging other componentsAn entirely in-band application leveraging other components

• The Cougaar Yellow Pages (YP) provides attribute-based queries for agents (or The Cougaar Yellow Pages (YP) provides attribute-based queries for agents (or communities)communities)

– In-band Cougaar applicationIn-band Cougaar application– Implements complete UDDI service through Cougaar Message TransportImplements complete UDDI service through Cougaar Message Transport– External UDDI servers possibleExternal UDDI servers possible– Hierarchical servers supported & encouraged for scalabilityHierarchical servers supported & encouraged for scalability

• FIXME: Communities, SD?FIXME: Communities, SD?

Page 22: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Building ApplicationsBuilding Applications

• Build on Infrastructure supportBuild on Infrastructure support• Supply a Supply a DomainDomain (object language) (object language)

– Planning suppliedPlanning supplied

• Build custom Build custom PluginsPlugins for pieces of application for pieces of application logiclogic

• Lay out Network of Agents (modeling Lay out Network of Agents (modeling organizations for exampleorganizations for example

• Build a Build a SocietySociety configuration configuration• Tool suite for support available (see Tool suite for support available (see

http://cougaar.org)http://cougaar.org)

Page 23: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Library of Adaptive ServicesLibrary of Adaptive Services

• Adaptive RobustnessAdaptive Robustness– No single points of failure (SPOFs)No single points of failure (SPOFs)– Automated recovery from resource lossAutomated recovery from resource loss

• Planned or unplanned agent and machine lossPlanned or unplanned agent and machine loss• Proactive response to perceived threatProactive response to perceived threat• Lost network component (temporary or permanent)Lost network component (temporary or permanent)

– Resource managementResource management• Load balancingLoad balancing• Load sheddingLoad shedding

• Adaptive SecurityAdaptive Security– Application software integrity: Application software integrity:

• Signed jars, Java security mgrSigned jars, Java security mgr

– Data integrity: Data integrity: • Signed and encrypted messages Signed and encrypted messages • Signed and encrypted data filesSigned and encrypted data files

– Access control: Access control: • Maintain an identity and certificates for “Principles” Maintain an identity and certificates for “Principles” • Policy-based access control of servlets, messages, and blackboard objectsPolicy-based access control of servlets, messages, and blackboard objects

Page 24: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Comparing MASComparing MAS

• Lots of systems out there – over 100Lots of systems out there – over 100• Many only short-term research projectsMany only short-term research projects• We compared Cougaar with JADE, Grasshopper, and AgletsWe compared Cougaar with JADE, Grasshopper, and Aglets• Key differencesKey differences

– Performance: Cougaar optimizes thread usage, asynchronous operationsPerformance: Cougaar optimizes thread usage, asynchronous operations– Plugins allow more complex custom agents, perhaps steeper learning Plugins allow more complex custom agents, perhaps steeper learning

curvecurve– Built in servlet engine for customizable low-impact GUIsBuilt in servlet engine for customizable low-impact GUIs– No agent standards emphasis, but future focus on web services, No agent standards emphasis, but future focus on web services,

pluggable message transport leaves ACL a possibilitypluggable message transport leaves ACL a possibility

• ConclusionsConclusions– JADE suited for simple applications requiring FIPA complianceJADE suited for simple applications requiring FIPA compliance

• Ideal for low-volume agent interactions requiring cross-platform interoperabilityIdeal for low-volume agent interactions requiring cross-platform interoperability

– Grasshopper and Aglets share JADE’s tool support & ease for simple Grasshopper and Aglets share JADE’s tool support & ease for simple applicationsapplications

– Cougaar is best suited to developers with custom needs, or complex, Cougaar is best suited to developers with custom needs, or complex, large-scale, secure, robust applicationslarge-scale, secure, robust applications

Page 25: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Comparison to Other Agent PlatformsComparison to Other Agent Platforms

Agent Agent interaction interaction StandardsStandards

SupportSupport MessagingMessaging SecuritySecurity GUIsGUIs

JADEJADE FIPAFIPA Open-source Open-source (’03)(’03)

FIPA ACL, FIPA ACL, pluggablepluggable

SSL, proxy SSL, proxy agentsagents

Debug Debug GUIs for GUIs for agent agent messagesmessages

GrasshopperGrasshopper FIPA & FIPA & MASIFMASIF

Free for non-Free for non-commercial, commercial, latest ‘02latest ‘02

FIPA, MASIF, FIPA, MASIF, alternate alternate protocolsprotocols

SSL, Java SSL, Java Security Security ManagerManager

SeveralSeveral

CougaarCougaar Custom Custom messaging, messaging, arbitraryarbitrary interactions interactions possiblepossible

ActiveActive open open source source (March ’05)(March ’05)

Java Java serialization, serialization, customizablecustomizable, aspect , aspect control, control, scalablescalable

PluggablePluggable. . ExtensiveExtensive: : SSL, Java SSL, Java Security Security Manager, Manager, roles, etc.roles, etc.

Agents Agents host HTTP host HTTP servletsservlets. . Many such Many such GUIs GUIs providedprovided

Page 26: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Message Transport SystemMessage Transport System

• The Cougaar MTS is an adaptive JVM-level The Cougaar MTS is an adaptive JVM-level service handling inter-agent communicationsservice handling inter-agent communications

• It is componentized and provides many advanced It is componentized and provides many advanced featuresfeatures– RMI, CORBA, HTTP and UDP supportedRMI, CORBA, HTTP and UDP supported– Aspects may control message handling including Aspects may control message handling including

security and protocol selectionsecurity and protocol selection

• Guaranteed in-order delivery in case of transient Guaranteed in-order delivery in case of transient communication failurescommunication failures

• Extensive servlets for visibilityExtensive servlets for visibility• UltraLog components adaptively select alternate UltraLog components adaptively select alternate

protocols, such as SSL for security or SMTP for protocols, such as SSL for security or SMTP for disconnected operationsdisconnected operations

Page 27: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

BlackboardBlackboard

• Plugins communicate via publish/subscribe semantics over a Plugins communicate via publish/subscribe semantics over a blackboard.blackboard.

• Blackboard is not distributedBlackboard is not distributed– Logically connectedLogically connected– Remote blackboards never directly viewableRemote blackboards never directly viewable

• Modifications are transaction controlled using a membership Modifications are transaction controlled using a membership modelmodel– Add/Remove/Modify events are transaction controlledAdd/Remove/Modify events are transaction controlled– Changes to objects on the blackboard are immediateChanges to objects on the blackboard are immediate

• LogicProvidersLogicProviders translate local Blackboard changes into inter- translate local Blackboard changes into inter-agent Messages as necessary according to Domain-specific agent Messages as necessary according to Domain-specific rulesrules– For instance, the Planning Domain has LogicProviders that take a For instance, the Planning Domain has LogicProviders that take a

Task allocated to an Asset that represents a different agent, and Task allocated to an Asset that represents a different agent, and sends a Message containing that Task to the other Agent.sends a Message containing that Task to the other Agent.

– Developer add LogicProviders to custom DomainsDeveloper add LogicProviders to custom Domains

Page 28: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

PluginsPlugins

• PluginsPlugins add specific business logic to add specific business logic to an agentan agent

• The emergent behavior of the agent The emergent behavior of the agent comes from the interactions of its comes from the interactions of its pluginsplugins

• Plugins are conceptually independent Plugins are conceptually independent from the agent they are infrom the agent they are in– They form an agent-like network that is They form an agent-like network that is

data-driven within the agentdata-driven within the agent

Page 29: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

JADEJADE

• Highly popularHighly popular• FIPA-compliantFIPA-compliant• Actively maintained & supportedActively maintained & supported• Latest OSS release December, 2003Latest OSS release December, 2003• Inter-agent messages in ACL or XML formatInter-agent messages in ACL or XML format• Pluggable transport protocols includePluggable transport protocols include

– RMIRMI– IIOPIIOP– HTTPHTTP

• Utility classes support handling FIPA / ACL messagesUtility classes support handling FIPA / ACL messages• Security provided by SSL and socket-based proxy Security provided by SSL and socket-based proxy

agentsagents• GUIs provided for debuggingGUIs provided for debugging

Page 30: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

GrasshopperGrasshopper

• Favored in many surveysFavored in many surveys• Latest release July 2002Latest release July 2002• Free for non-commercial useFree for non-commercial use• Supports FIPA and MASIF standardsSupports FIPA and MASIF standards

– Including ACL messagesIncluding ACL messages

• Messaging supports both synchronous and Messaging supports both synchronous and asynchronous messagingasynchronous messaging– Multicast and alternate protocols also supportedMulticast and alternate protocols also supported

• Security: Security: – SSL and X.509 certificates supportedSSL and X.509 certificates supported– Java security manager protects intra-host resourcesJava security manager protects intra-host resources

• Several development and debug GUIs providedSeveral development and debug GUIs provided

Page 31: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

AgletsAglets

• One of the first Java agent platformsOne of the first Java agent platforms• Main development ended 1998Main development ended 1998• OSS maintenance provided patch release in 2002OSS maintenance provided patch release in 2002• MASIF compliantMASIF compliant• Custom message format based on Java Custom message format based on Java

serializationserialization• SecuritySecurity

– Custom design using roles, proxies, Java security Custom design using roles, proxies, Java security managermanager

• Tahiti GUI for runtime debuggingTahiti GUI for runtime debugging• Ample documentation including a bookAmple documentation including a book

Page 32: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Coordinator PlugIn ArchitectureCoordinator PlugIn Architecture

Management Agentor

Node Agent

Defense Coordinator

Blackboard

TechSpecTechSpec

TechSpecTechSpecDefense

TechSpecDefense 1Diagnosis

Defense 1Plugin

Defense iPlugin

Defense 1StateDefense

DiagnosisDefense Condition

Defense 1ConditionDefense

OpMode

DiagnosisBelievability

Plugin

DefenseCost/Benefit

Plugin

DefenseSelection

Plugin

TimedDiagnosisCollection

Plugin

TechSpecManagerPlugin

DefenseActivation

Plugin

DefensePolicyPlugin

DefenseMonitoring

Plugin

ModelFeedback

Plugin

CoordinatorManagerPlugin

DiagnosesBelievability

CostBenefit

DefensePolicy

SelectedDefenses

ControlTokens

ThreatModel

Node Agentor

Management Agent

Defense Coordinator

Blackboard

TechSpecTechSpec

TechSpecTechSpecDefense

TechSpecDefense 1Diagnosis

Defense 1Plugin

Defense iPlugin

CurrentActionDefense

DiagnosisCurrentAction

AllowedActionsAllowed

Actions

DiagnosisBelievability

Plugin

DefenseCost/Benefit

Plugin

DefenseSelection

Plugin

TimedDiagnosisCollection

Plugin

TechSpecManagerPlugin

DefenseActivation

Plugin

DefensePolicyPlugin

DefenseMonitoring

Plugin

ModelFeedback

Plugin

CoordinatorManagerPlugin

DiagnosesBelievability

CostBenefit

DefensePolicy

SelectedDefenses

ControlTokens

ThreatModel

ActionOfferActon

Offer

Page 33: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Cougaar in ComparisonCougaar in Comparison

• Agent platform focusing on scalability and modularityAgent platform focusing on scalability and modularity• Active maintenance and supportActive maintenance and support

– Latest OSS release 11.2, July 2004Latest OSS release 11.2, July 2004– Developers conference July, 2004Developers conference July, 2004

• Message transport supports pluggable link protocolsMessage transport supports pluggable link protocols– RMI, IIOP, SMTP, and UDPRMI, IIOP, SMTP, and UDP

• Not compliant with agent standardsNot compliant with agent standards• Messages encoded using Java object serializationMessages encoded using Java object serialization• SecuritySecurity

– Pluggable and highly flexiblePluggable and highly flexible– Features SSL, X.509 certificates, and role-based authenticationFeatures SSL, X.509 certificates, and role-based authentication

• Custom GUIs supported using Agent-hosted HTTP-based Custom GUIs supported using Agent-hosted HTTP-based servletsservlets– Many debug servlets providedMany debug servlets provided

Page 34: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.
Page 35: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Cougaar UsageCougaar Usage

• US Army’s next generation Future Combat Systems includes US Army’s next generation Future Combat Systems includes Cougaar as a central design point in its Logistics Decision Support Cougaar as a central design point in its Logistics Decision Support System. See System. See http://cougaar.org/http://cougaar.org/docmandocman/?group_id=17/?group_id=17

• DARPA DASADA project built an Assured Assembly Infrastructure DARPA DASADA project built an Assured Assembly Infrastructure Toolkit for using service discovery to dynamically reconfigure and Toolkit for using service discovery to dynamically reconfigure and execute disparate architecturesexecute disparate architectures– See See http://aai.bbn.comhttp://aai.bbn.com

• US Army Communications and Electronics Command is using US Army Communications and Electronics Command is using Cougaar to build a military maneuver decision support systemCougaar to build a military maneuver decision support system

• Several commercial ventures use Cougaar as an integrating Several commercial ventures use Cougaar as an integrating architecturearchitecture– Cougaar Software: Cougaar Software: http://cougaarsoftware.comhttp://cougaarsoftware.com– Engenia (Engenia (http://engenia.comhttp://engenia.com) provides IT management support) provides IT management support– IntePoint uses Cougaar for modeling critical infrastructure such as IntePoint uses Cougaar for modeling critical infrastructure such as

electrical gridselectrical grids

• Others have used CougaarME (Cougaar on small devices), ie the Others have used CougaarME (Cougaar on small devices), ie the DARPA RobiNet project for wireless ad-hoc networked robotsDARPA RobiNet project for wireless ad-hoc networked robots

Page 36: Cougaar A Robust Configurable Multi-Agent Platform Todd Wright BBN Technologies twright@bbn.com.

Future DirectionsFuture Directions

• Upgraded CougaarMEUpgraded CougaarME

• Web Services – see Web Services – see http://cougaar.org/projects/cws/http://cougaar.org/projects/cws/

• More support for alternate intra-agent More support for alternate intra-agent servicesservices

• Improved multicastImproved multicast


Recommended