Introducing the OMG DDS to the Aerospace Valley

1,993 views

Published on

This presentation provides (1) a tutorial of the OMG DDS standard, (2) an overview of OpenSplice DDS, and (3) concludes with a use case showing how DDS is being used in the next generation European Air-Traffic Control and Management System

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,993
On SlideShare
0
From Embeds
0
Number of Embeds
70
Actions
Shares
0
Downloads
212
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Introducing the OMG DDS to the Aerospace Valley

  1. 1. OpenSplice DDS Delivering Performance, Openness, and Freedom OMG DDS: The Data Distribution Service for Real-Time Systems
  2. 2. Presentation Roadmap •PART I -- The DDS Standard • PART II -- OpenSplice DDS • PART III -- CoFlight Use Case
  3. 3. Motivating Forces The Standard Agenda Architectural Principles Programming Model Future Directions
  4. 4. © 2009, PrismTech. All Rights Reserved The Need for Data Distribution Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
  5. 5. Time Scale © 2009, PrismTech. All Rights Reserved The Need for Data Distribution Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
  6. 6. The Need for Data Distribution Time Scale Geographical Scale Proprietary Information - Distribution without Expressed Written Permission is Prohibited. © 2009, PrismTech. All Rights Reserved
  7. 7. The Need for Data Distribution Time Scale Geographical Scale Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Parallelism Systemic Data Signal Processing Processing Parallel Systems © 2009, PrismTech. All Rights Reserved
  8. 8. The Need for Data Distribution Time Scale Geographical Scale Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Parallelism Determinism Systemic Real-Time Data Signal Information Processing Processing Processing Parallel Systems © 2009, PrismTech. All Rights Reserved
  9. 9. The Need for Data Distribution Time Scale Geographical Scale Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Parallelism Determinism Throughput, Availability Systemic Real-Time Near Real-Time Fault- Data Signal Information Tolerant Information Processing Processing Processing Processing Parallel Systems © 2009, PrismTech. All Rights Reserved
  10. 10. The Need for Data Distribution Time Scale Geographical Scale Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Parallelism Determinism Throughput, Availability Scalability, Persistence, Security Systemic Real-Time Near Real-Time Fault- Data Complex Information Signal Information Tolerant Information Processing Processing Management Processing Processing Parallel Systems Distributed Systems © 2009, PrismTech. All Rights Reserved
  11. 11. The Need for Data Distribution Time Scale Geographical Scale Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Parallelism Determinism Throughput, Availability Scalability, Persistence, Security Systemic Real-Time Near Real-Time Fault- Data Complex Information Signal Information Tolerant Information Processing Processing Management Processing Processing Data Distribution Parallel Systems Distributed Systems © 2009, PrismTech. All Rights Reserved
  12. 12. Data Exchange / Distribution ‣ Network Centric Architectures are emerging as a key trend for next generation military and civil system of systems ‣ Efficient, scalable and QoS-enabled data dissemination is an enabling technology for Network Joint Forces Joint Forces Centric Systems Global Info Grid Global Info Grid Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Adapted from “The Future of AWACS”, by LtCol Joe Chapa The Right Information => To the Right People => At the Right Time © 2009, PrismTech. All Rights Reserved
  13. 13. Motivating Forces The Standard Agenda Architectural Principles Programming Model Future Directions
  14. 14. Addressing Data Distribution Challenges DDS is standard designed to address the data-distribution challenges across The OMG DDS Standard a wide class of Defense and Aerospace Applications ‣ Introduced in 2004 to address the Data Distribution challenges faced by a wide class of Defense and Aerospace Applications Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Key requirement for the standard were its ability to deliver very high performance while seamlessly scaling from embedded to ultra- large-scale deployments ‣ Today recommended by key administration worldwide and widely adopted across several different application domains, such as, Automated Trading, Simulations, SCADA, Telemetry, etc. © 2009, PrismTech. All Rights Reserved
  15. 15. The OMG Data Distribution Service (DDS) DDS v1.2 API Standard ‣ Language Independent, OS and HW architecture Application independent Object/Relational Mapping ‣ DCPS. Standard API for Data-Centric, Topic- Data Local Reconstruction Layer (DLRL) Based, Real-Time Publish/Subscribe Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Content ‣ Ownership Durability DLRL. Standard API for creating Object Views out Subscription of collection of Topics Minimum Profile Data Centric Publish/Subscribe (DCPS) DDSI/RTPS v2.1 Wire Protocol Standard ‣ Standard wire protocol allowing interoperability Real-Time Publish/Subscribe Protocol DDS Interoperability Wire Protocol between different implementations of the DDS standard UDP/IP ‣ Interoperability demonstrated among key DDS vendors in March 2009 © 2009, PrismTech. All Rights Reserved
  16. 16. OMG DDS Recommendations is churning… ! The infrastructure evolution cycle – New -> Emerging -> Standard -> Commodity – Middleware is emerging as Mandated/Recommended by key Administrations OS declines ! …DDS is maturing… ‣ US Navy: Open Architecture focus – OMG – Wire spec Proprietary Information - Distribution without Expressed Written Permission is Prohibited. – Tools ‣ DISR/DISA: Net-centric Systems – Enterprise integration – Multiple products fielded ‣ EuroControl: Air Traffic Control Center Operational – Deployed applications! Interoperability ! …and adoption is on the rise – Navy for VSI ‣ QinetiQ: Recommending DDS – DISR – FCS/SoSCOE – Many significant applications © 2009, PrismTech. All Rights Reserved
  17. 17. OMG DDS Adoptions Adopted by Most Challenging International Programs ‣ US FCS/SOSCOE Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ European Next Generation Flight Data Processor ‣ US ZUMWALT [DDG(1000)] ‣ VTID adopting DDS for the architectural demonstrator © 2009, PrismTech. All Rights Reserved
  18. 18. OMG DDS Applicability Adapted from NSWC-DD Open Architecture Documentation Communication Technologies Standards Web SVCs The DDS is the only technology that spans across Java RTSJ the board. Proprietary Information - Distribution without Expressed Written Permission is Prohibited. JMS It guarantees exceptional real- time behavior, CORBA RT-CORBA while providing unparalleled level OMG Data Distribution Service (DDS) of throughput ! MPI Message Passing Interface Non Real-Time Soft Real-Time Hard Real-Time Extreme Real-Time © 2009, PrismTech. All Rights Reserved
  19. 19. Some DDS Use Cases Defense ‣ Combat Management Systems ‣ Flycatcher system ‣ Unmanned Vehicles (Air + Land) ‣ Tactical Links Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Radar Processing ‣ Submarine Systems ‣ Future Combat Systems ‣ Simulation SCADA/Utilities ‣ Industrial Automation ‣ Power Grids ‣ Rocket Launch Systems © 2009, PrismTech. All Rights Reserved
  20. 20. Some DDS Use Cases Transportation ‣ Air Traffic Management/Control ‣ Metropolitan Traffic Management ‣ Underground Metropolitan Transportation Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Financial Services ‣ Automated Trading Firms ‣ Compliance Systems ‣ Market Data Platforms © 2009, PrismTech. All Rights Reserved
  21. 21. Motivating Forces The Standard Agenda Architectural Principles Programming Model Future Directions
  22. 22. OpenSplice DDS Delivering Performance, Openness, and Freedom Loosely Coupled Technology
  23. 23. Counting the “W’s” of Coupling Request Client Server The “4Ws” of Client/Server Reply ‣ Who+Where: Space Coupling Client/Server ‣ What: Structural Coupling CORBA, COM+, Java RMI, .Net Remoting, Web SVCs ‣ When: Time Coupling Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Subscriber Publisher A Single “W” for DDS Publisher Subscriber ‣ What: Structural Coupling Publisher DDS features dynamic discovery Subscriber DDS and full time decoupling! © 2009, PrismTech. All Rights Reserved
  24. 24. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client © 2009, PrismTech. All Rights Reserved
  25. 25. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client © 2009, PrismTech. All Rights Reserved
  26. 26. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client © 2009, PrismTech. All Rights Reserved
  27. 27. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client © 2009, PrismTech. All Rights Reserved
  28. 28. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment ‣ Inherently One-to-One ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. © 2009, PrismTech. All Rights Reserved
  29. 29. Client Server vs. Publish Subscribe Server Client/Server Client ‣ Tight Coupling (4W) ‣ Complex Deployment ‣ Inherently One-to-One ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. © 2009, PrismTech. All Rights Reserved
  30. 30. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client Subscriber Publisher Subscriber Publisher Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  31. 31. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client Subscriber Publisher DDS Subscriber Publisher Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  32. 32. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client Subscriber Publisher DDS ‣ Loosely Coupled (1W) Subscriber Publisher Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  33. 33. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client Subscriber Publisher DDS ‣ Loosely Coupled (1W) Subscriber Publisher ‣ Plug & Play Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  34. 34. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client Subscriber Publisher DDS ‣ Loosely Coupled (1W) Subscriber Publisher ‣ Plug & Play Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  35. 35. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client Subscriber Publisher DDS ‣ Loosely Coupled (1W) Subscriber Publisher ‣ Plug & Play ‣ Inherently Many-to-Many Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  36. 36. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client Subscriber Publisher DDS ‣ Loosely Coupled (1W) Subscriber Publisher ‣ Plug & Play ‣ Inherently Many-to-Many ‣ Fault Resilient Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  37. 37. Client Server vs. Publish Subscribe Server Client/Server Server Client ‣ Tight Coupling (4W) Client ‣ Complex Deployment Server ‣ Inherently One-to-One Server ‣ Fragile to Fault Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Client Client Subscriber Publisher DDS ‣ Loosely Coupled (1W) Subscriber Publisher ‣ Plug & Play ‣ Inherently Many-to-Many ‣ Fault Resilient Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  38. 38. OpenSplice DDS Delivering Performance, Openness, and Freedom High Performance/Availability Pub/Sub
  39. 39. High Performance Pub/Sub The right data, at the right place, at the right time ‣ Fully distributed, Peer-to-Peer -- All the Time. Communication ‣ No Single Point of Failure Publisher Subscriber ‣ No Single Point of Bottleneck Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Multicast-enabled Brokers Subscriber ‣ High performance and highly Publisher scalable ‣ High availability Publisher ‣hot-swap Subscriber ‣hot-hot architecture © 2009, PrismTech. All Rights Reserved
  40. 40. OpenSplice DDS Delivering Performance, Openness, and Freedom Application Object/Relational Mapping Data Local Reconstruction Layer (DLRL) Data-Centric Pub/Sub Fundamentals Content Ownership Durability Subscription Minimum Profile Data Centric Publish/Subscribe (DCPS) Real-Time Publish/Subscribe Protocol DDS Interoperability Wire Protocol UDP/IP
  41. 41. DDS Topics {Circle, Square, Triangle} Topic ‣ Unit of information exchanged between Publisher and Subscribers. ‣ An association between a unique name, a Proprietary Information - Distribution without Expressed Written Permission is Prohibited. type and a QoS setting {ShapeType} {...} Topic Type. struct ShapeType { ‣ Type describing the data associated with one long x; or more Topics long y; ‣ A Topic type can have a key represented by an long shapesize; string color; arbitrary number of attributes }; ‣ Expressed in IDL #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  42. 42. DDS Topics Circle Proprietary Information - Distribution without Expressed Written Permission is Prohibited. struct ShapeType { long x; long y; long shapesize; Topic QoS string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  43. 43. DDS Topics Triangle Proprietary Information - Distribution without Expressed Written Permission is Prohibited. struct ShapeType { long x; long y; long shapesize; Topic QoS string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  44. 44. DDS Topics Square Proprietary Information - Distribution without Expressed Written Permission is Prohibited. struct ShapeType { long x; long y; long shapesize; Topic QoS string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  45. 45. DDS Topic Instances and Samples Topic Instances ‣ Each key value identifies a unique Topic Instance, ‣ Topic’s instance lifetime can be explicitly managed in DDS Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Topic Samples ‣ The values assumed by a Topic Instance over time are referred as Instance Sample struct ShapeType { long x; long y; long shapesize; string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  46. 46. Topic/Instances/Samples Recap. Topics Instances Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Samples ti tj tnow time © 2009, PrismTech. All Rights Reserved
  47. 47. Content Filtering X0 X1 X0 <= X <= X1 ‣ DDS allows to specify content- filtered Topics for which a a subset of SQL92 is used to express the filter condition Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Y0 ‣ Content filters can be applied on the entire content of the Topic Y0 <= Y <= Y1 Type ‣ Content filters are applied by Y1 DDS each time a new sample is produced/delivered © 2009, PrismTech. All Rights Reserved
  48. 48. Local Queries ‣ Subscribed Topics can be seen locally as “Tables” ‣ A subset of SQL92 can be used for performing queries on X0 multiple topics as well as natural joins ‣ Queries are Circle Topic Proprietary Information - Distribution without Expressed Written Permission is Prohibited. performed under Y0 color x y shapesize Y0 user control and red 57 62 50 provide a result that blue 90 85 50 Y0 <= Y <= Y1 depends on the yellow 30 25 50 current snapshot of SELECT * FROM ShapeType s WHERE s.x > 25 AND s.y < 55 Y1 the system, e.g., samples currently color x y shapesize available yellow 30 25 50 © 2009, PrismTech. All Rights Reserved
  49. 49. OpenSplice DDS Delivering Performance, Openness, and Freedom Application Object/Relational Mapping Data Local Reconstruction Layer (DLRL) Data-Centric Pub/Sub Putting it all together Content Ownership Durability Subscription Minimum Profile Data Centric Publish/Subscribe (DCPS) Real-Time Publish/Subscribe Protocol DDS Interoperability Wire Protocol UDP/IP
  50. 50. Distributed Relational Information Modeling ‣ Topic Keys can be used to identify instances as well as relationships ‣ Relationships can be navigated by relying on a subset of SQL 92 ‣ One-to-many relationships can be captured using foreign keys ‣ Many-to-many relationships need to be modeled using a topics Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Keys can be represented by an arbitrary number of Topic fields TConditioner cID: long temp: float TTempSensor humidity: float tID: long fan_level: long temp: float status: long TRoom humidity: float rID: long rID: long rID: long width: float height: float length: float TFloor fID: long fID: long level: long © 2009, PrismTech. All Rights Reserved open: long
  51. 51. Data-Centric Pub/Sub ‣ Data-Centric Features are built-in and don’t rely on an external DBMS ‣ Providing thus performance, scalability, and availability ‣ Distributed Relational Data Model Subscriber Publisher DBMS ‣ Local Queries B ‣ Continuous Queries / Content Based Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m Subscriptions A F Subscriber ‣ Windows Publisher J D C ‣ Object/Relational Mapping K E ‣ Support for a subset of SQL-92 Publisher Subscriber Perfect Blend of Data-Centric and Real-Time Publish/Subscribe Technologies © 2009, PrismTech. All Rights Reserved
  52. 52. “Visualizing” Data-Centric Pub/Sub Subscriber Publisher B D J D C E K A B A B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m Subscriber D C Publisher A F J J A F D C K A F K E Subscriber Publisher D J D K E E © 2009, PrismTech. All Rights Reserved
  53. 53. Organizing Information ‣ All DDS communication is Domain Partition happens within a Domain ‣ Domain can divided into Publisher Subscriber Partitions Proprietary Information - Distribution without Expressed Written Permission is Prohibited. B ‣ Topics are published and m subscribed across on or A F Subscriber more Partitions Publisher J D C K E Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  54. 54. OpenSplice DDS Delivering Performance, Openness, and Freedom Application Ownership Object/Relational Mapping Data Local Reconstruction Layer (DLRL) Durability Content Object-Oriented Pub/Sub Subscription Minimum Profile Data Centric Publish/Subscribe (DCPS) Real-Time Publish/Subscribe Protocol DDS Interoperability Wire Protocol UDP/IP
  55. 55. Object/Relational Mapping TempSensor temp: float humidity: float ‣ Automatically bridges the getTemp() getHumidity() * Room Floor 1 width: float level: int Object/Relational Impedance height: float length: float * open: int 1 climate: int Conditioner Mismatch temp: float humidity: float 1 climate: int set_climate(); set_status() set_climate() * ‣ Arbitrary object setTemp() get_level() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. setHumidity() setFanLevel() reconstructions start() stop() ‣ Automatic Relationships pause(): Management TConditioner cID: int TTempSernsor ‣ Inheritance temp: float tID: int humidity: float temp: float fan_level: int TRoom humidity: float ‣ Local Operations status: int rID: int rID: int width: float height: float rID: int ‣ Local/Distributed State length: float fID: int TFloor fID: int level: int open: int © 2009, PrismTech. All Rights Reserved
  56. 56. Object/Relational Mapping Unleashing the power of Objects... Object Oriented Canvas OO Relational handle: Handle ‣ Middleware can automatically Flight RadarTrack manage the generation and FlightView call_sign: string x: float image: string route: list association between the refresh_rate: int * origin: string y: float * z: float * 1 Object-Oriented Model and the visible: bool dest: string radar_id: string Relational Model uid: GUID aircraft: string operationOne() display() operationX() operationTwo() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. operationY() FlightViewTopic FlightViewAssociation FlightTopic Relational call_sign: string image: string call_sign: string route: list RadarTrackTopic refresh_rate: int uid: GUID origin: string x: float visible: bool handle: Handle dest: string y: float uid: GUID aircraft: string z: float radar_id: string radar_id: string Relational OO ‣ The Relational Model can be mapped to an Object Oriented model ‣ The mapping is under control of the architect © 2009, PrismTech. All Rights Reserved
  57. 57. Multiple Object/Relational Mappings Canvas handle: Handle DLRL Flight RadarTrack FlightView call_sign: string x: float image: string route: list y: float refresh_rate: int * * origin: string 1 * z: float visible: bool dest: string radar_id: string uid: GUID aircraft: string operationOne() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. display() operationX() operationTwo() operationY() FlightViewTopic FlightViewAssociation FlightTopic DCPS call_sign: string image: string call_sign: string route: list RadarTrackTopic refresh_rate: int uid: GUID origin: string x: float visible: bool handle: Handle dest: string y: float uid: GUID aircraft: string z: float radar_id: string radar_id: string Multiple Mappings ‣ Different Object/Relatioal Mappings (ORM) can be used for different subsystems ‣ The state is shared across all the local reconstruction (ORMs) © 2009, PrismTech. All Rights Reserved
  58. 58. Multiple Object/Relational Mappings Canvas handle: Handle DLRL Flight RadarTrack FlightView call_sign: string x: float image: string route: list y: float refresh_rate: int * * origin: string 1 * z: float visible: bool dest: string radar_id: string uid: GUID aircraft: string operationOne() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. display() operationX() operationTwo() operationY() FlightViewTopic FlightViewAssociation FlightTopic DCPS call_sign: string image: string call_sign: string route: list RadarTrackTopic refresh_rate: int uid: GUID origin: string x: float visible: bool handle: Handle dest: string y: float uid: GUID aircraft: string z: float radar_id: string radar_id: string Multiple Mappings ‣ Different Object/Relatioal Mappings (ORM) can be used for different subsystems ‣ The state is shared across all the local reconstruction (ORMs) © 2009, PrismTech. All Rights Reserved
  59. 59. Multiple Object/Relational Mappings Canvas FastFlightView image: string handle: Handle DLRL DLRL refresh_rate: int visible: bool Flight uid: GUID RadarTrack FlightView call_sign: string x: float x: float image: string route: list y: float y: float refresh_rate: int * * origin: string 1 * z: float z: float visible: bool dest: string call_sign: string radar_id: string uid: GUID aircraft: string display() operationOne() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. display() operationX() operationTwo() operationY() FlightViewTopic FlightViewAssociation FlightTopic DCPS call_sign: string image: string call_sign: string route: list RadarTrackTopic refresh_rate: int uid: GUID origin: string x: float visible: bool handle: Handle dest: string y: float uid: GUID aircraft: string z: float radar_id: string radar_id: string Multiple Mappings ‣ Different Object/Relatioal Mappings (ORM) can be used for different subsystems ‣ The state is shared across all the local reconstruction (ORMs) © 2009, PrismTech. All Rights Reserved
  60. 60. Multiple Object/Relational Mappings Canvas FastFlightView image: string handle: Handle DLRL DLRL refresh_rate: int visible: bool Flight uid: GUID RadarTrack FlightView call_sign: string x: float x: float image: string route: list y: float y: float refresh_rate: int * * origin: string 1 * z: float z: float visible: bool dest: string call_sign: string radar_id: string uid: GUID aircraft: string display() operationOne() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. display() operationX() operationTwo() operationY() FlightViewTopic FlightViewAssociation FlightTopic DCPS call_sign: string image: string call_sign: string route: list RadarTrackTopic refresh_rate: int uid: GUID origin: string x: float visible: bool handle: Handle dest: string y: float uid: GUID aircraft: string z: float radar_id: string radar_id: string Multiple Mappings ‣ Different Object/Relatioal Mappings (ORM) can be used for different subsystems ‣ The state is shared across all the local reconstruction (ORMs) © 2009, PrismTech. All Rights Reserved
  61. 61. An Example High-End 3D Visualization Primary Radar RadarTrack x: float y: float z: float radar_id: string operationOne() operationTwo() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. FastFlightView RadarTrackTopic x: float image: string y: float refresh_rate: int FlightViewTopic image: string z: float radar_id: string visible: bool refresh_rate: int visible: bool uid: GUID uid: GUID x: float y: float RadarTrackTopic x: float z: float y: float z: float call_sign: string radar_id: string display() RadarTrackTopic x: float y: float FlightTopic call_sign: string z: float route: list radar_id: string origin: string dest: string aircraft: string radar_id: string Flight call_sign: string route: list RadarTrack origin: string RadarTrackList dest: string aircraft: string operationX() operationY() Flight Data Processor © 2009, PrismTech. All Rights Reserved
  62. 62. An Example High-End 3D Visualization Primary Radar RadarTrack x: float y: float z: float radar_id: string operationOne() operationTwo() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. FastFlightView RadarTrackTopic x: float image: string y: float refresh_rate: int FlightViewTopic image: string z: float radar_id: string visible: bool refresh_rate: int visible: bool uid: GUID uid: GUID x: float y: float RadarTrackTopic x: float z: float y: float z: float call_sign: string radar_id: string display() RadarTrackTopic x: float y: float FlightTopic call_sign: string z: float route: list radar_id: string origin: string dest: string aircraft: string radar_id: string Flight call_sign: string route: list RadarTrack origin: string RadarTrackList dest: string aircraft: string operationX() operationY() Flight Data Processor © 2009, PrismTech. All Rights Reserved
  63. 63. An Example High-End 3D Visualization Primary Radar RadarTrack x: float y: float z: float radar_id: string operationOne() operationTwo() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. FastFlightView RadarTrackTopic x: float image: string y: float refresh_rate: int FlightViewTopic image: string z: float radar_id: string visible: bool refresh_rate: int visible: bool uid: GUID uid: GUID x: float y: float RadarTrackTopic x: float z: float y: float z: float call_sign: string radar_id: string display() RadarTrackTopic x: float y: float FlightTopic call_sign: string z: float route: list radar_id: string origin: string dest: string aircraft: string radar_id: string Flight call_sign: string route: list RadarTrack origin: string RadarTrackList dest: string aircraft: string operationX() operationY() Flight Data Processor © 2009, PrismTech. All Rights Reserved
  64. 64. An Example High-End 3D Visualization Primary Radar RadarTrack x: float y: float z: float radar_id: string operationOne() operationTwo() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. FastFlightView RadarTrackTopic x: float image: string y: float refresh_rate: int FlightViewTopic image: string z: float radar_id: string visible: bool refresh_rate: int visible: bool uid: GUID uid: GUID x: float y: float RadarTrackTopic x: float z: float y: float z: float call_sign: string radar_id: string display() RadarTrackTopic x: float y: float FlightTopic call_sign: string z: float route: list radar_id: string origin: string dest: string aircraft: string radar_id: string Flight call_sign: string route: list RadarTrack origin: string RadarTrackList dest: string aircraft: string operationX() operationY() Flight Data Processor © 2009, PrismTech. All Rights Reserved
  65. 65. An Example High-End 3D Visualization Primary Radar RadarTrack x: float y: float z: float radar_id: string operationOne() operationTwo() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. FastFlightView RadarTrackTopic x: float image: string y: float z: float refresh_rate: int FlightViewTopic image: string radar_id: string visible: bool refresh_rate: int visible: bool uid: GUID uid: GUID x: float y: float RadarTrackTopic x: float z: float y: float z: float call_sign: string radar_id: string display() RadarTrackTopic x: float y: float FlightTopic call_sign: string z: float route: list radar_id: string origin: string dest: string aircraft: string radar_id: string Flight call_sign: string route: list RadarTrack origin: string RadarTrackList dest: string aircraft: string operationX() operationY() Flight Data Processor © 2009, PrismTech. All Rights Reserved
  66. 66. An Example High-End 3D Visualization Primary Radar RadarTrack x: float y: float z: float radar_id: string operationOne() operationTwo() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. FastFlightView RadarTrackTopic x: float image: string y: float z: float refresh_rate: int FlightViewTopic image: string radar_id: string visible: bool refresh_rate: int visible: bool uid: GUID uid: GUID x: float y: float RadarTrackTopic x: float z: float y: float z: float call_sign: string radar_id: string display() RadarTrackTopic x: float y: float FlightTopic call_sign: string z: float route: list radar_id: string origin: string dest: string aircraft: string radar_id: string Flight call_sign: string route: list RadarTrack origin: string RadarTrackList dest: string aircraft: string operationX() operationY() Flight Data Processor © 2009, PrismTech. All Rights Reserved

×