outline
play

Outline Fundamental concepts Name space Description expressions - PDF document

Outline Fundamental concepts Name space Description expressions Parallel and Distributed Interest expressions Simulation Static Data Distribution: HLA Declaration Management Class-based filtering PDES: Distributed Virtual


  1. Outline  Fundamental concepts » Name space » Description expressions Parallel and Distributed » Interest expressions Simulation  Static Data Distribution: HLA Declaration Management » Class-based filtering PDES: Distributed Virtual Environments Static Data Distribution 2 Maria Hybinette, UGA Maria Hybinette, UGA Background Communication Primitives  Basic question: When a simulator generates  Unicast information (e.g., state updates) that may be of » One sender, message received by one destination interest to other simulators, who should receive the  Broadcast message? » One sender, message received by all destinations  Example: moving vehicles in a virtual environment  Multicast » Moving vehicle sends � update � messages indicating new » One sender, message received by multiple (but not position necessarily all) destinations » Each vehicle that can � see � the moving vehicle should » Operations (analagous to newsgroups) receive a message – Join group » How does the sender/RTI know which other federates should – Leave group receive the message? – Send message to group – Data distribution is essentially a message routing problem » Can be implemented by unicast, or network multicast » Best effort vs. reliable multicast 3 4 Maria Hybinette, UGA Maria Hybinette, UGA Data Distribution in SIMNET and DIS Data Distribution  Question: Who receives each message that is sent? Goal: route data produced by one simulator to those simulators that are interested in receiving it (and  Approach: ideally, not to simulators that are not interested in » Broadcast each message, receiver responsible for filtering receiving it) (deleting) unneeded messages  Problem: This implies there is » O(N 2 ) messages with N federates; can use large amount of communication bandwidth  Some way for a simulator to specify what data it is  Time spent receiving and filtering unwanted message interested in receiving (interest expressions) becomes a bottleneck  Some way to describe the data that is produced (description expressions)  A common language (vocabulary) to specify description and interest expressions (name space) 5 6 Maria Hybinette, UGA Maria Hybinette, UGA

  2. Example Analogy: Internet Newsgroups  Description expression interest expressions ! I � m interested in " I � m interested in " » Name of newsgroup to which the message is posted the position of aircraft " the position of tanks " » Class announcements posted to � uga.csci.class.csci8220 �  Interest expression description ! Federate 1 " Federate 2 " Federate 3 " expression ! » Set of newsgroups a user is subscribed to position update " » Subscribe to � uga.csci.class.csci8220 � and for a tank object " � uga.csci.class.csci8220 �  Name space Run Time Infrastructure (RTI) " » Set of all newsgroup names Name space : position, tank, aircraft " 7 8 Maria Hybinette, UGA Maria Hybinette, UGA Name Space Interest & Description Expressions  � Vocabulary � used to create  Interest expression: subset of name space » Data description expressions » Interested in all aircraft » Interest expressions – (aircraft, (X, Y)) for any X and any Y  A name space is a set of tuples (V 1 , V 2 , … V N ) where V i is a basic » Interested in tanks that are � close by � type or another tuple – (tank, (X, Y)) where 10 < X < 20, and 130 < Y < 150 » Example: (class, location)  Description expression: subset of the name space – Class: enumerated type <tank, aircraft, ship> – Location: tuple (int: X-coordinate, int: Y-coordinate), where 0 < X < 1000 and » (tank, (15, 135)) 0 < Y < 1000 » (aircraft, (36, 99)) » Values in name space: (tank,(30,200)); (aircraft,(10,20)) » Values of the tuple space may correspond to  Data routing – State variables of simulation (e.g., values of object attributes), or » A simulator receives a message if the message � s description – New construct defined just for the purposes of routing data (HLA: routing expression overlaps with the simulator � s interest space regions; newsgroup name) expressions  May include static properties of objects (e.g., class names, attribute names) or dynamic properties (attribute values) 9 10 Maria Hybinette, UGA Maria Hybinette, UGA Data Distribution Concepts Static vs. Dynamic Data Distribution  Static Data Distribution Name space " » Name space only includes static properties that do not change (all possible tuple values) " during the execution » Example: Declaration Management in the HLA – Class-based data distribution – Filter based on data types – � Give me updates to the position attribute of all objects of class tank � » Cannot filter based on dynamically computed quantities – Cannot say: � Give me updates to tank objects that are close to me �  Dynamic Data Distribution » Name space includes dynamic quantities that may change during the execution » Value-based data distribution – � Give me updates to tank objects that are close to me � Interest expressions, Simulator 1 " » Example: Data Distribution Management in the HLA The message is routed to " Simulator 2, but not to " – Routing spaces Interest expressions, Simulator 2 " Simulator 1. " – Subscribe to position attribute of tank objects that are in my sector of Description expression for a message " the battlefield 11 12 Maria Hybinette, UGA Maria Hybinette, UGA

  3. RTI Software Outline  RTI Interface to the application (federate)  Fundamental concepts » Name space » Name space Federate " » Interest expressions » Description expressions Interest " Description " » Description expressions » Interest expressions Expressions " Expressions "  Network primitives  Static Data Distribution: HLA Declaration Management RTI " » Unicast » Class-based filtering Network " » Multicase Primitives " » Broadcast Network "  RTI design issues » What should the federate interface look like? » How is the interface mapped to the underlying communication mechanisms 13 14 Maria Hybinette, UGA Maria Hybinette, UGA Class-Based Data Distribution Class Hierarchy Example Vehicle ! Inherited attribute "  Declaration Management services in the HLA • position "  Federation Object Model (FOM) defines an object Aircraft ! class hierarchy describing all data exchanged among Tank ! • position " federates • position " • altitude " • turret " » Object classes » Attributes B-17 Bomber ! Spitfire !  Description expressions and interest expressions • position " • position " specify points in the object class hierarchy • altitude " • altitude " • bombs " • bullets "  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> 15 16 Maria Hybinette, UGA Maria Hybinette, UGA Description Expressions Interest Expressions Vehicle ! Vehicle ! • position " • position " Aircraft ! Tank ! Aircraft ! Tank ! • position " • position " • position " • position " • altitude " • turret " • altitude " • turret " B-17 Bomber ! Spitfire ! B-17 Bomber ! Spitfire ! • position " • position " • position " • position " • altitude " • altitude " • altitude " • altitude " • bombs " • bullets " • bombs " • bullets "  Subscribe Object Class Attributes [class, attribute(s)]  Interest expression: Subtree rooted at subscription point  Update Attribute Values service sends a message » Subscribe (Aircraft, altitude): receive updates to altitude attribute of  Description expression: an attribute of an object instance Aircraft, B-17, Spitfire objects » Single <class attribute> point in the name space » <Aircraft,altitude>, <B-17 Bomber, altitude>, <Spitfire, altitude> » Examples: <Spitfire, position> or <Aircraft, altitude> » In all cases, message appears as an update to an aircraft object 17 18 Maria Hybinette, UGA Maria Hybinette, UGA

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend