Upload
bomezzz-enterprises
View
225
Download
0
Embed Size (px)
Citation preview
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 1/18
Modeling & Simulation
Data Distribution I
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 2/18
Outline
• Fundamental concepts
– Name space
– Description expressions
– Interest expressions
• Example: HLA Declaration Management – Class-based filtering
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 3/18
Background• Basic question: When a simulator generates
information (e.g., state updates) that may be ofinterest to other simulators, who should receivethe message?
• SIMNET, DIS (initially)
– Broadcast
– Receiver based Filtering
– Not scalable: CPU, communication bottleneck
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 4/18
Data DistributionGoal: route data produced by one simulator to those
simulators that are interested in receiving it (andideally, not to simulators that are not interested inreceiving it)
This implies there is
• Some way for a simulator to specify what data it isinterested in receiving (interest expressions)
• Some way to describe the data that is produced(description expressions)
• A common language (vocabulary) to specifydescription and interest expressions (name space)
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 5/18
Example
Federate 1 Federate 2 Federate 3
Run Time Infrastructure (RTI)
I’m interested inthe position of aircraft
I’m interested inthe position of tanks
interest expressions
position update
for a tank object
description
expression
Name space: position, tank, aircraft
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 6/18
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
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 7/18
Name Space
• “Vocabulary” used to create
– Data description expressions
– Interest expressions
• Set of tuples (V1, V2, … VN) where Vi is a basic type oranother tuple
– Example: (class, location)• Class: enumerated type <tank, aircraft, ship>
• Location: tuple (int: X-coordinate, int: Y-coordinate), where 0 < X < 1000and 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: routingspace regions; newsgroup name)
• May include static properties of objects (e.g., class names,attribute names) or dynamic properties (attribute values)
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 8/18
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 namespace
– (tank, (15, 135))
– (aircraft, (X, Y)) where 35 < X < 38 and 98 < Y < 100• Data routing
– A simulator receives a message if the message’sdescription expression overlaps with the simulator’s
interest expressions
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 9/18
Name space
(all possible tuple values)
Data Distribution Concepts
Interest expressions, Simulator 1
Interest expressions, Simulator 2
Description expression for a message
The message is routed toSimulator 2, but not toSimulator 1.
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 10/18
Static vs. Dynamic Data Distribution• Static Data Distribution
– Name space only includes static properties that do notchange 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 maychange during the execution
– Example: Data Distribution Management in the HLA• Routing spaces
• Subscribe to position attribute of tank objects in my sector ofthe play area
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 11/18
Outline
• Fundamental concepts
– Name space
– Description expressions
– Interest expressions
• Example: HLA Declaration Management – Class-based filtering
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 12/18
Class-Based Data Distribution
• Declaration Management services in the HLA
• Federation Object Model (FOM) defines an objectclass hierarchy describing all data exchangedamong federates
– Object classes – Attributes
• Description expressions and interest expressionsspecify points in the object class hierarchy
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 13/18
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>
Aircraft• position • altitude
B-17 Bomber• position• altitude • bombs
Spitfire• position• altitude• bullets
Vehicle• position
Tank• position • turret
Inherited attribute
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 14/18
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>
Aircraft• position• altitude
B-17 Bomber• position• altitude• bombs
Spitfire• position • altitude• bullets
Vehicle• position
Tank• position• turret
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 15/18
Interest Expressions
• Subscribe Object Class Attributes [class, attribute(s)]• Interest expression: Subtree rooted at subscription point
– Subscribe (Aircraft, altitude): receive updates to position attribute ofAircraft, B-17, Spitfire objects
– <Aircraft,altitude>, <B-17 Bomber, altitude>, <Spitfire, altitude> – In all cases, message appears as an update to an aircraft object
Aircraft• position• altitude
B-17 Bomber• position• altitude • bombs
Spitfire• position• altitude • bullets
Vehicle• position
Tank• position• turret
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 16/18
Extensibility
New subclasses can be added without requiring modification tosubscribers 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
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 17/18
Alternate Approach
• Interest expression: single point in tree – <Aircraft, altitude>
• Description expression: Path up tree to point where theattribute is defined
– Update (Spitfire, altitude): <Spitfire,altitude>, <Aircraft,altitude>
Aircraft• position• altitude
B-17 Bomber• position• altitude• bombs
Spitfire• position• altitude • bullets
Vehicle• position
Tank• position• turret
8/3/2019 M S 08 Data Distribution I
http://slidepdf.com/reader/full/m-s-08-data-distribution-i 18/18
Summary
• Data distribution mechanisms are needed to
avoid broadcast communication• Fundamental concepts
– Name space
– Interest expressions specify information simulatorwants to receive
– Description expression describes data contained withinthe message
• RTI must “match” interest expressions and datadescription expressions to route data