Blue Bear Systems ResearchBlue Bear Systems ResearchHardware Architectures for Distributed Hardware Architectures for Distributed
AgentsAgents
Dr Simon WillcoxDr Simon Willcox
2424thth Soar Workshop Soar Workshop99thth – 11 – 11thth June 2004 June 2004
Building 32, Twinwoods Business Park, Clapham, Bedfordshire MK41 6AEBuilding 32, Twinwoods Business Park, Clapham, Bedfordshire MK41 6AETel: 01234 212001 Email: [email protected]: 01234 212001 Email: [email protected]
www.bluebearsystems.comwww.bluebearsystems.com
Blue Bear Systems ResearchBlue Bear Systems Research
Presentation OverviewPresentation Overview
ObjectivesObjectives Clustering Approaches for Multi-Agent Clustering Approaches for Multi-Agent
SystemsSystems Agent HardwareAgent Hardware Agent Communication FrameworkAgent Communication Framework Prototype Soar ImplementationPrototype Soar Implementation Example ProblemExample Problem
Blue Bear Systems ResearchBlue Bear Systems Research
ObjectivesObjectives
InvestigateInvestigate Multi-agent processing solutionsMulti-agent processing solutions Multi-agent communicationsMulti-agent communications
Provide pragmatic solutions featuringProvide pragmatic solutions featuring Distributed agent processingDistributed agent processing Small hardware footprintSmall hardware footprint Automatic load balancingAutomatic load balancing Fault toleranceFault tolerance Inter-agent communication between diverse agentsInter-agent communication between diverse agents
Blue Bear Systems ResearchBlue Bear Systems Research
Clustering Approaches for Multi-Clustering Approaches for Multi-Agent SystemsAgent Systems
Clustering maps naturally to multi-agent Clustering maps naturally to multi-agent processingprocessing
Two approaches consideredTwo approaches considered BeowulfBeowulf
Designer controls parallelismDesigner controls parallelism Libraries such as PVM and MPI provide communications and Libraries such as PVM and MPI provide communications and
parallelismparallelism OpenMosixOpenMosix
Single-system image approachSingle-system image approach Provides load balancing, process migration, fault tolerance, Provides load balancing, process migration, fault tolerance,
reconfigurationreconfiguration Parallelism transparent to designer (almost)Parallelism transparent to designer (almost)
Blue Bear Systems ResearchBlue Bear Systems Research
Agent HardwareAgent Hardware
Autonomous mobile applications limit Autonomous mobile applications limit space, power, etc.space, power, etc.
Two technologies under investigationTwo technologies under investigation Field Programmable Gate Arrays (FPGA)Field Programmable Gate Arrays (FPGA)
Provide flexibility of software within parallel, high Provide flexibility of software within parallel, high speed hardwarespeed hardware
Use as agents studied by University of KentUse as agents studied by University of Kent Miniature clustersMiniature clusters
Miniature Beowulf/OpenMosix SystemMiniature Beowulf/OpenMosix System
Blue Bear Systems ResearchBlue Bear Systems Research
Miniature ClustersMiniature Clusters
Power of embedded Power of embedded processors increasingprocessors increasing
Feasible to build a Feasible to build a miniaturised cluster miniaturised cluster based on COTS based on COTS componentscomponents
Systems such as Systems such as XBoard and Gumstix XBoard and Gumstix provide A complete provide A complete systemsystem
Blue Bear Systems ResearchBlue Bear Systems Research
Agent Communication Framework Agent Communication Framework #1 #1
Agent communication between disparate Agent communication between disparate agent difficultagent difficult
Agent Communication Languages (ACL) Agent Communication Languages (ACL) developed to address thisdeveloped to address this Wrap internal representation of information in a Wrap internal representation of information in a
agent neutral formagent neutral form Little support currently within SoarLittle support currently within Soar Developed communication framework and ACL Developed communication framework and ACL
wrapper for Soarwrapper for Soar
Blue Bear Systems ResearchBlue Bear Systems Research
Agent Communication Framework Agent Communication Framework #2#2
MarshallerMarshaller
OtherAgent
Agent Wrapper
JavaAgent
Agent Wrapper
SoarAgent
Agent Wrapper
RemoteObject
(CORBA)
Agent Wrapper
Other Marshallers
EmbeddedScript
Agent Wrapper
Blue Bear Systems ResearchBlue Bear Systems Research
Prototype Soar Prototype Soar ImplementationImplementation
Multi-agent SoarMulti-agent Soar Send and receive complete substructures of Send and receive complete substructures of
working memory to other agentsworking memory to other agents Locate agents in the external environment Locate agents in the external environment
that are available for communicationsthat are available for communications Consistent philosophy in the use of the Soar Consistent philosophy in the use of the Soar
i/o link structuresi/o link structures
Blue Bear Systems ResearchBlue Bear Systems Research
Soar Agent Communication #1Soar Agent Communication #1
ReceivingReceiving
I6
I8
^input-link
I9
^agents
T1
B1^bill
^tom
I6
I8
^input-link
I9
^agents
T1
B1^bill
^tom
S2
^sensor
^position
^finished
6
true
Blue Bear Systems ResearchBlue Bear Systems Research
Soar Agent Communication #2Soar Agent Communication #2
TransmittingTransmitting Similar to receivingSimilar to receiving New ^agents attribute under output linkNew ^agents attribute under output link Agent adds the names of the agents it Agent adds the names of the agents it
wishes to communicate to below thiswishes to communicate to below this
Blue Bear Systems ResearchBlue Bear Systems Research
Example ProblemExample Problem
Road search applicationRoad search application Generate a plan for Generate a plan for
searching a network of searching a network of roads with a finite roads with a finite number of search assets number of search assets (UAVs)(UAVs)
Input:Input: position and direction of position and direction of
target ground vehicletarget ground vehicle Output:Output:
guidance commands to guidance commands to search assetssearch assets
Blue Bear Systems ResearchBlue Bear Systems Research
Algorithm Architecture #1Algorithm Architecture #1
Original algorithm was a single soar agentOriginal algorithm was a single soar agent Large and complexLarge and complex UnverifiableUnverifiable
Current algorithmCurrent algorithm Uses work in agent hardware architectures to Uses work in agent hardware architectures to
produce distributed solutionproduce distributed solution Agents written in verifiable soar as defined by Agents written in verifiable soar as defined by
MalvernMalvern Partitions problem into a number of simple Partitions problem into a number of simple
communicating agentscommunicating agents Each agent individually verifiable?Each agent individually verifiable?
Blue Bear Systems ResearchBlue Bear Systems Research
Algorithm Architecture #2Algorithm Architecture #2
Soar Search Agent
Search Agent
Manager
Search Planner
Asset
Manager
Soar Search Agent
Soar Search Agent
Road
Database
Blue Bear Systems ResearchBlue Bear Systems Research
Soar Search AgentSoar Search Agent
Single agent is relatively Single agent is relatively simple written in verifiable simple written in verifiable soarsoar
Agent knows how to perform Agent knows how to perform a single taska single task From an initial position and From an initial position and
direction, define search path direction, define search path until next junctionuntil next junction
At a junction, start more At a junction, start more search agents with the search agents with the junction as their initial junction as their initial positionposition
Builds up road network Builds up road network ‘recursively’‘recursively’
Blue Bear Systems ResearchBlue Bear Systems Research
Other Agents/Processes #1Other Agents/Processes #1
Search agent managerSearch agent manager Maintains search agent processesMaintains search agent processes Monitors load balancing and fault conditionsMonitors load balancing and fault conditions
Search plannerSearch planner Receives search segments from search Receives search segments from search
agentsagents Gradually builds up a complete mapGradually builds up a complete map
Blue Bear Systems ResearchBlue Bear Systems Research
Other Agents/Processes #2Other Agents/Processes #2
Asset managerAsset manager Receives connected road segments from search Receives connected road segments from search
plannerplanner Allocates roads to the search assetsAllocates roads to the search assets
Asset controllerAsset controller On-board the UAVOn-board the UAV Maintains list of roads to search as series of Maintains list of roads to search as series of
waypointswaypoints Two modes:Two modes:
Loiter if no new roads to searchLoiter if no new roads to search Search roads via waypoint following Search roads via waypoint following
Blue Bear Systems ResearchBlue Bear Systems Research
Demonstration OverviewDemonstration Overview
Heterogeneous network of Heterogeneous network of PCs for search agents and PCs for search agents and other processesother processes
Search assets are two 6DOF Search assets are two 6DOF UAV simulationsUAV simulations Real timeReal time 3D visualisation of UAV and 3D visualisation of UAV and
terrainterrain