2 4 00

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Parallel and Distributed Simulation: 

Parallel and Distributed Simulation Data Distribution I

Outline: 

Outline Fundamental concepts Name space Description expressions Interest expressions Example: HLA Declaration Management Class-based filtering

Background: 

Background Basic question: When a simulator generates information (e.g., state updates) that may be of interest to other simulators, who should receive the message? SIMNET, DIS (initially) Broadcast Receiver based Filtering Not scalable: CPU, communication bottleneck

Data Distribution: 

Data Distribution Goal: route data produced by one simulator to those simulators that are interested in receiving it (and ideally, not to simulators that are not interested in receiving it) This implies there is Some way for a simulator to specify what data it is interested in receiving (interest expressions) Some way to describe the data that is produced (description expressions) A common language (vocabulary) to specify description and interest expressions (name space)

Example: 

Example Federate 1 Federate 2 Federate 3 Run Time Infrastructure (RTI) Name space: position, tank, aircraft

Analogy: Internet Newsgroups: 

Analogy: Internet Newsgroups Description expression name of newsgroup to which the message is posted pancake recipes posted to “comp.cooking” Interest expression set of newsgroups a user is subscribed to subscribe to “comp.cooking” and “comp.simulation” Name space newsgroup names

Name Space: 

Name Space “Vocabulary” used to create Data description expressions Interest expressions Set of tuples (V1, V2, … VN) where Vi is a basic type or another tuple Example: (class, location) Class: enumerated type <tank, aircraft, ship> Location: tuple (int: X-coordinate, int: Y-coordinate), where 0 < X < 1000 and 0 < Y < 1000 Values in name space: (tank,(30,200)); (aircraft,(10,20)) Values of the tuple space may correspond to Actual data in message (e.g., values of object attributes), or New construct defined just for the purposes of routing data (HLA: routing space regions; newsgroup name) May include static properties of objects (e.g., class names, attribute names) or dynamic properties (attribute values)

Interest & Description Expressions: 

Interest & Description Expressions Interest expression: subset of name space Interested in all aircraft (aircraft, (X, Y)) for any X and any Y Interested in tanks that are “close by” (tank, (X, Y)) where 10 < X < 20, and 130 < Y < 150 Description expression: subset of the name space (tank, (15, 135)) (aircraft, (X, Y)) where 35 < X < 38 and 98 < Y < 100 Data routing A simulator receives a message if the message’s description expression overlaps with the simulator’s interest expressions

Data Distribution Concepts: 

Data Distribution Concepts

Static vs. Dynamic Data Distribution: 

Static vs. Dynamic Data Distribution Static Data Distribution Name space only includes static properties that do not change during the execution Example: Declaration Management in the HLA Class-based data distribution Subscribe to the position attribute of all objects of class tank Dynamic Data Distribution Name space includes dynamic quantities that may change during the execution Example: Data Distribution Management in the HLA Routing spaces Subscribe to position attribute of tank objects in my sector of the play area

Outline: 

Outline Fundamental concepts Name space Description expressions Interest expressions Example: HLA Declaration Management Class-based filtering

Class-Based Data Distribution: 

Class-Based Data Distribution Declaration Management services in the HLA Federation Object Model (FOM) defines an object class hierarchy describing all data exchanged among federates Object classes Attributes Description expressions and interest expressions specify points in the object class hierarchy

Class Hierarchy Example: 

Class Hierarchy Example Each class inherits attributes from parent class Name space: <class, attribute> <Vehicle,position>, <Aircraft,position>, <Aircraft,altitude>, <Tank,position>, <Tank,turret>, <B-17,position>, <B-17,altitude>, <B17,bombs>, <Spitfire,position>, <Spitfire,altitude>, <Spitfire, bullets>

Description Expressions: 

Description Expressions Update Attribute Values service sends a message Description expression: an attribute of an object instance Single <class attribute> point in the name space Examples: <Spitfire, position> or <Aircraft, altitude>

Interest Expressions: 

Interest Expressions Subscribe Object Class Attributes [class, attribute(s)] Interest expression: Subtree rooted at subscription point Subscribe (Aircraft, altitude): receive updates to position attribute of Aircraft, B-17, Spitfire objects <Aircraft,altitude>, <B-17 Bomber, altitude>, <Spitfire, altitude> In all cases, message appears as an update to an aircraft object

Extensibility: 

Extensibility New subclasses can be added without requiring modification to subscribers at higher levels in the class hierarchy Aircraft position altitude B-17 Bomber position altitude bombs Spitfire position altitude bullets Vehicle position Tank position turret AWACS position altitude camera resolution

Alternate Approach: 

Alternate Approach Interest expression: single point in tree <Aircraft, altitude> Description expression: Path up tree to point where the attribute is defined Update (Spitfire, altitude): <Spitfire,altitude>, <Aircraft,altitude>

Summary: 

Summary Data distribution mechanisms are needed to avoid broadcast communication Fundamental concepts Name space Interest expressions specify information simulator wants to receive Description expression describes data contained within the message RTI must “match” interest expressions and data description expressions to route data