nasa technology speedes parallel nss design motion and sensors jeff steinman & jim kilgore...

23
NASA Technology NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

Upload: theodora-west

Post on 05-Jan-2016

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES

Parallel NSS DesignMotion and SensorsParallel NSS DesignMotion and Sensors

Jeff Steinman & Jim Kilgore

Metron Incorporated

July 30, 1998

Page 2: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES TopicsTopics

• Parallel NSS Project Background

• SPEEDES Status

• Demo Scenario Description

• Parallel NSS Software Design

Page 3: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Historical Time-LineHistorical Time-Line

NRLNRL JNTFJNTF

MetronMetron

SPEEDESSPEEDES

Time WarpTime Warp

PADSPADS

BreathingBreathingTimeTime

BucketsBuckets

InteractiveInteractiveSupportSupport

AirAirDefenseDefense

BMDOBMDOJNTFJNTF

Lazy CancellationLazy Cancellationwith Toleranceswith Tolerances

&&IncrementalIncrementalState SavingState Saving

JPLJPLJNTFJNTFLANLLANLNRLNRLDemoDemo

EventEventHorizonHorizon(PADS)(PADS)

BreathingBreathingTimeTimeWarpWarp

ProximityProximityDetectionDetection

(Best Paper PADS)(Best Paper PADS)

GVTGVTWithWithFlowFlow

ControlControl

NSSNSSHLA-IntegrationHLA-Integration

FrameworkFramework

ParallelParallelIMPORTIMPORT

WargameWargame20002000

& TISA& TISA

ProcessProcessModelModelMacrosMacros

SPEEDESSPEEDESVersion 0.4Version 0.4

AerospaceAerospace MITREMITRE NorthropNorthropAEgis ResearchAEgis Research

DartmouthDartmouthMCNCMCNC

LANLLANL

OriginalSimOriginalSim

SISSIS

NRaDNRaD

MetronMetronDistributionDistribution

HPCMO-CHSSIHPCMO-CHSSIParallel NSSParallel NSS

ObjectObjectProxiesProxies JSIMSJSIMS

19901990 19911991 19921992 19931993 19941994 19951995 19961996 19971997 19981998

Page 4: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Parallel NSS DevelopmentParallel NSS Development

• Phase 1 (May 1996 - December 1997)– Develop infrastructure on top of SPEEDES needed to parallelize NSS

• Object Proxies (distributed objects technology)– Library of motion types with coordinate system transformations

• Data Distribution Management (scalability)

• Configuration management of SPEEDES software

• Delivery mechanism (Multiplatform build system)

– Adopted by mainstream DoD simulation projects• Wargame 2000, JSIMS, etc…

– Formation of configuration management group to coordinate future enhancements

• Design targeted to support HLA (automatic integration and/or SPEEDES-based RTI)

• Phase 2 (January 1997 - December 1998)– Porting/developing models for Parallel NSS (alpha testing)

– MPI version of the SPEEDES Communications Library

• Phase 3 (January 1998 - September 1999)– Refining models for Parallel NSS (beta testing)

Page 5: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Portability IssuesPortability Issues

• Standardized communications library interface– Encapsulates optimizations for different hardware architectures

– High-speed shared memory support uses standard UNIX system calls and is seamlessly integrated with network communications between machines

– Message Passing Interface (MPI) communications library supports massively parallel distributed memory machines

– Other protocols can be supported (ATM, Myranet, RMP, etc.)

– Automatic & efficient data marshaling between heterogeneous machines

• Supported machines, operating systems, & compilers– Machines

• PC, Workstations, Origin 2000, Convex Exemplar, Paragon, Cray J90, Cray T3E, etc...

– Operating Systems• Linux, Windows NT, IRIX, Solaris, HPUX, etc...

– C++ Compilers (note, can also integrate with ADA and FORTRAN)• Apex, Native compilers, Centerline, gcc, Visual Age C++, etc...

Page 6: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Architecture Functional Components

Architecture Functional Components

SPEEDESCommunications

Library

SPEEDESCommunications

Library

Host User CommunicationsInterface for External Modules

Host User CommunicationsInterface for External Modules

SPEEDES Event-Processing Engine(Event List Management, State-Saving, Rollbacks, Message Handling)

SPEEDES Event-Processing Engine(Event List Management, State-Saving, Rollbacks, Message Handling)

SequentialTime

Management

SequentialTime

Management

FixedTime

Buckets

FixedTime

Buckets

BreathingTime

Buckets

BreathingTime

Buckets

TimeWarp

TimeWarp

BreathingTimeWarp

BreathingTimeWarp

Extended Interfaces & HLA Management Services(Controllers, Event Handlers, Hierarchical Grids, Object Proxies, Precomputations, Dynamic Attributes)

Extended Interfaces & HLA Management Services(Controllers, Event Handlers, Hierarchical Grids, Object Proxies, Precomputations, Dynamic Attributes)

HLA Run-Time InfrastructureExternal Interfaces

HLA Run-Time InfrastructureExternal Interfaces

NSS andWargame 2000

NSS andWargame 2000

ParallelIMPORT

ParallelIMPORT

HLA-IntegrationFramework

HLA-IntegrationFrameworkHLA FederateHLA FederateFuture

Simulation

FutureSimulation

SequentialNSS

SequentialNSS

Page 7: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES SPEEDES & HLASPEEDES & HLA

• SPEEDES Approach provides HLA-like services through middleware layer of services– Supports automatic integration with any RTI transparently

– Functionality inside dotted line (see figure below) can evolve into a fully-functional RTI (e.g., HLA version 1.3 interface)

• Support for HLA on high-performance computers

• Full support for time management DDM

• Novel concept: Federates outside of SPEEDES can interact with a SPEEDES-based simulation through HLA interfaces

SPEEDES Provides HLA-Like Services Internally SPEEDES Provides HLA-Like Services Internally

Services

SPEEDES Parallel Simulation EngineSPEEDES Parallel Simulation Engine

ApplicationApplication

Services

ApplicationApplication

Services

ApplicationApplication

Services

ApplicationApplication

Page 8: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES SPEEDES Constructs Used In Parallel NSS

SPEEDES Constructs Used In Parallel NSS

• Object managers and simulation objects– Represent state of simulated entities (distributed to processing nodes)

• Events– Time-tagged computations that can change the state of a simulation object

and/or schedule new events for the future• Can be methods on simulation objects or event objects

• Object Proxies– Represent objects on remote machines

• Represents public interface to entities on remote nodes

• Supports external systems through the Object Proxy State Manager

• Key to providing HLA and DIS integration

• Library of dynamic attributes (i.e., time-based equations) such as motion

• Components & Event Handlers– Encapsulates models and their controlling mechanisms

– Interrupt driven style

Page 9: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES SPEEDES Constructs Used In Parallel NSS

SPEEDES Constructs Used In Parallel NSS

• Parallel IMPORT Process Model Constructs– ScheduleProcess(…) interface for starting up a process

– A process is a re-entrant event• WAIT - passes fixed amount of time

• WAIT_FOR ...- waits for a semaphore to be set (can time out)– Logical Semaphore

– Integer Semaphore

– Float Semaphore

– Counter Semaphore

• TELL - asynchronously starts up a process (looks like a method call)

• ASK - allows objects to communicate through method calls– Blocking style programming interface for returning arguments in method call

– Guaranteed no deadlocks (underlying mechanism is still discrete-event)

Page 10: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES ScenarioScenario

• Four Ships moving along great circle trajectories using scripted motion between way-points– Described in Ship.par file

– Each ship has its own start time

– Velocity between way-points scripted• Ship_0: Honolulu, Tokyo, Singapore, Honolulu

• Ship_1: Honolulu, Singapore, Tokyo, Honolulu

• Ship_2: Norfolk, AtlWayPt1, Havana, AtlWayPt2, Norfolk

• Ship_3: Norfolk, AtlWayPt2, Havana, AtlWayPt1, Norfolk

– Each ship has 2-3 radar sensors (50 km, 100 km, 200 km ranges)

• 100 Randomly moving objects across the globe– Described in RanMot.par file

– 500 km range sensor

– Altitudes can change

– Mach-1 velocity

Page 11: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES

SimObjSimObj

S_HLAS_HLA

S_ENTITYS_ENTITY

S_MOVING_ENTITYS_MOVING_ENTITY S_FIXED_ENTITYS_FIXED_ENTITY

S_ShipS_Ship S_RanMotS_RanMot

Inheritance for Simulated Entities

Inheritance for Simulated Entities

Page 12: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES

S_HLA and Object Proxies

S_HLA and Object Proxies

S_HLAS_HLA

Object ProxyObject ProxyRemote Object ProxyRemote Object Proxy

ListList

Publication Class ListPublication Class List

Remote Object HandleRemote Object HandleDistribution ListDistribution List

*

PublishPublish

UnPublishUnPublish

SubscribeSubscribe

UnSubscribeUnSubscribe

AddAddSubscriberSubscriber

RemoveRemoveSubscriberSubscriber

DeliverDeliverProxyProxy

PointerPointer

UndeliverUndeliverProxyProxy

PointerPointerTouchTouchProxyProxy

ScheduleScheduleUpdateUpdate

Page 13: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Object Proxy Input File (Objects.par)

Object Proxy Input File (Objects.par)

// This is the object proxy file for Parallel NSS

// base class for everybodyENTITY { define logical Alive define list SensorList}

// All moving entities inherit from thisMOVING_ENTITY { reference INHERIT ENTITY define float Vmax define dynamic_position Position}

// All fixed entities inherit from thisFIXED_ENTITY { reference INHERIT ENTITY define position Position}

Ship { reference INHERIT MOVING_ENTITY reference SUBSCRIBE ENTITY}

RanMot { reference INHERIT MOVING_ENTITY reference SUBSCRIBE ENTITY}

// Sensor List Elements go in the Entity// SensorListSENSOR_LIST_ELEMENT { define list DetectedObjects}

// Object Ids go in Sensor List ElementsOBJECT_ID { define int ObjectId define string ObjectName}

Page 14: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES

Composition of EntitiesComposition of Entities

Motion ComponentMotion ComponentListList

Weapon ComponentWeapon ComponentListList

Sensor ComponentSensor ComponentListList

Platform ComponentPlatform ComponentListList

Track CorrelationTrack CorrelationComponent ListComponent List

Command & ControlCommand & ControlComponent ListComponent List

CommunicationsCommunicationsComponent ListComponent List

S_ENTITYS_ENTITY

Page 15: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES

Radar ComponentRadar Component

COMPONENTCOMPONENT

Sensor ComponentSensor Component

Radar ComponentRadar Component

RadarRadarReflectReflect

AttributesAttributes

RadarRadarUpdateUpdate

AttributesAttributes

RadarRadarDiscoverDiscoverObjectObject

RadarRadarPrecomputationPrecomputation

ProcessProcess

RadarRadarScanScan

ProcessProcess

*

Detectable Proxy ListDetectable Proxy List

Remote ProxyRemote ProxyCounter SemaphoreCounter Semaphore

Radar ModelRadar Model

Sensor ModelSensor Model

Remote ProxyRemote ProxySemaphore ListSemaphore List

Page 16: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Radar Precomputation Process

Radar Precomputation Process

• Precomputation determines when remote proxy enters and exits a radar’s field of view– One precomputation process per remote discovered object proxy for each

radar component• “Discover Object” event handler initiates the process (can provide filtering)

– Adds/removes the remote proxy to the radar’s Detectable Proxy List in logical time

• Uses maximum velocity to provide first level filtering

– Coordinates the sensor’s detectable proxy counter semaphore which is used by the radar scan process to go to sleep when there are no remote proxies within range

• Avoids polling by the radar scan process

– Is interrupted when motion changes• The entity’s own motion

• The remote entity’s motion

Page 17: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Radar Scan ProcessRadar Scan Process

• Forms detections– Uses constant scan time for radar

– Goes to sleep when there are no detectable entities

– Passes truth into the Radar Model and receives statistically smeared detections

– Will pass detections to track fusion components to determine perceived targets (will use a two-stage Kalman Filter to track position)

Page 18: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Parallel NSS Radar Sensor Model

Parallel NSS Radar Sensor Model

• Parameterized Radar Model– Maximum Range & Sigma Range

– Sigma Range Rate

– Sigma Angle

– Future enhancements• Line of sight calculation

• Use of radar equation for returned signal power

• Generation of false detections

• Ground clutter returns

• Forms Detections– Range with Gaussian error statistics

– Range Rate with Gaussian error statistics

– Directional Vector with symmetrical Gaussian angular error statistics

Page 19: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES DetectionsDetections

• DETECTION base class– Generic detection types

• Supports multiple types of sensors & trackers

– Encapsulates truth data (Radar Scan Process)• Target and sensor positions and velocities

• Target Id

• Time of detection

– Generic reusability through virtual functions

• RADAR DETECTION– Encapsulates truth data (Radar Scan Process)

• Radar cross section

– Encapsulates perception data (RadarModel)• Range, Range

• Range rate, Range rate

• Directional vector from sensor to target, Angle

RADAR DETECTIONRADAR DETECTION

DETECTIONDETECTION

Page 20: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES

COMPONENTCOMPONENT

Motion ComponentMotion Component

Scripted MotionScripted MotionComponentComponent

Scripted Motion Component

Scripted Motion Component

ChangeChangeScriptedScriptedMotionMotion

Dynamic PositionDynamic PositionAttributeAttribute

Constant MotionConstant Motion Great Circle MotionGreat Circle Motion

Page 21: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES MotionMotion

• Dynamic position attribute (managed by Motion Component) is mapped into each entity’s Object Proxy– Motion described using time-bounded motion-type segments

• {ConstPosition(-∞,t0), GreatCircle(t0, t1), GreatCircle(t1,t2), …, ConstPosition(tn, ∞)}

• SPEEDES provides library of motion types with coordinate system transformations

– Constant positions “cap” end points of motion

– Great circle equations of motion• Constant velocity even when changing altitude

• Ships move between locations specified in Locations.par file

• Random Motion objects are used to test scalability for large numbers of objects

• Humans can change motion of any object during execution

– Dynamic position attribute is automatically delivered to remote objects when motion is changed

Page 22: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Interactive CapabilitiesInteractive Capabilities

• Pause/resume– Can stop GVT from advancing

– Can set up initial pauses if needed

• Named queries– Entities can be queried for information while the simulation is executing

• Change Scripted Motion Command– Entities can be redirected to move to named locations

• Object Proxy State Manager– Sends the changes made to object proxies inside SPEEDES to the outside

world with logically correct time management

Page 23: NASA Technology SPEEDES Parallel NSS Design Motion and Sensors Jeff Steinman & Jim Kilgore Metron Incorporated July 30, 1998

NASA TechnologyNASA TechnologyNASA TechnologyNASA Technology

SPEEDESSPEEDES Next StepsNext Steps

• Integration of other NSS models– Weapon systems, communications, command & control

• Parallel NSS will support other SPEEDES applications– Parallel NSS uses all of the SPEEDES constructs as they were designed to

be used• Parallel NSS software demonstrates interfaces

• Code walk-through for Wargame 2000 & JSIMS

• Graphical map interface– Will be based on the Object Proxy State Manager

– Can be done generically to support all DoD SPEEDES applications

– Would like to develop a complete analysis package for SPEEDES• Currently not funded, but all SPEEDES users will want this tool

• Parallel NSS currently achieving good speedup