SlideShare a Scribd company logo
1 of 162
Download to read offline
OpenSplice DDS
                                                 Delivering Performance, Openness, and Freedom



       Angelo Corsaro, Ph.D.
Product Strategy & Marketing Manager


                                        OMG DDS Tutorial - Part I
     OMG RTESS and DDS SIG Co-Chair
         angelo.corsaro@prismtech.com
Motivating Forces
         The Standard
Agenda

         Architectural Principles
         Programming Model
         Concluding Remarks
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
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
    Centric Systems             Joint Forces
                                 Joint Forces
                              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
Motivating Forces
         The Standard
Agenda

         Architectural Principles
         Programming Model
         Concluding Remarks
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
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




                                            © 2009, PrismTech. All Rights Reserved
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
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
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
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
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
Motivating Forces
         The Standard
Agenda

         Architectural Principles
         Programming Model
         Concluding Remarks
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                     Loosely Coupled
                          Technology
Counting the “W’s” of Coupling
                        Request
       Client                             Server                                                The “4Ws” of Client/Server
                         Reply                                                                  ‣ Who+Where: Space Coupling
                                                                                                ‣ What: Structural Coupling
                   Client/Server                                                                ‣ When: Time Coupling
      CORBA, COM+, Java RMI, .Net Remoting, Web SVCs




                                                                                                                                  Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                           Subscriber
Publisher




                                                                Subscriber                        A Single “W” for DDS
Publisher                                                                                         ‣ What: Structural Coupling
                                                                Subscriber



Publisher
                             DDS                        Subscriber                               DDS features dynamic discovery
                                                                                                    and full time decoupling!

                                                       © 2009, PrismTech. All Rights Reserved
DDS vs. Client-Server
                  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
Counting the “W’s” of Coupling
                              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
‣ Loosely Coupled (1W)                          Publisher
‣ Plug & Play
‣ Inherently Many-to-Many                                                                                          Subscriber

‣ Fault Resilient
                                                  Publisher
                                                                                                              Subscriber

                                                © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




       High Performance/Availability
                         Pub/Sub
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
OpenSplice DDS
Delivering Performance, Openness, and Freedom


                  Application




 Ownership
                      Object/Relational Mapping

               Data Local Reconstruction Layer (DLRL)


                     Durability
                                          Content
                                                        Data-Centric
                                                            Pub/Sub
                                        Subscription

                 Minimum Profile

      Data Centric Publish/Subscribe (DCPS)


       Real-Time Publish/Subscribe Protocol

         DDS Interoperability Wire Protocol


                      UDP/IP
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
“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
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
Topics and Data-Centric Pub/Sub
‣ Topics. Unit of information exchanged between
  Publisher and Subscribers.                                                                      Topic

‣ Data Types. Type associated to a Topic must be
  a structured type expressed in IDL                                                                             struct TempSensor {
                                                                                                                    long tID;
                                                                                              Topic Type            float temp;
‣ Topic Instances. Key values in a datatype




                                                                                                                                                               Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                                    float humidity;
  uniquely identify a Topic Instance (like rows in                                                               };
  table)                                                                                                         #pragma keylist TempSensor tID

                                                                                                                         TempSensor
‣ Content Awareness. SQL Expressions can be                                                                                 tID       temp      humidity

  used to do content-aware subscriptions,                                                         Instances
                                                                                                                            1          21         62
                                                                                                                            2          27         78
  queries, joins, and correlate topic instances                                                                             3         25.5        72.3

                               y
                          idit                           idit
                                                             y                                   ity                              SELECT * FROM TempSensor t
                       um          Samples                                                   mid
                     h                                 um                                 hu
                           62                        h
                                                          65                                   63                                 WHERE t.temp > 25
                 p                                                              p
             tem                             tem
                                                 p                          tem
                21                                                             22
      tID                                       23               tID                                                        tID       temp      humidity
                                     tID
         1                                                          1
                                        1                                                                                    2         27         78
                                                                                                                             3        25.5        72.3
    t1                              t2                           t3                          Time
                                                                        © 2009, PrismTech. All Rights Reserved
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

               TempSensor                  Room
                                                                                     Floor
            tID: int                rID: int                                 fID: int
            temp: float              width: float                              level: int
            humidity: float          height: float                             open: int
            rID: int                length: float
                                    fID: int



                                    © 2009, PrismTech. All Rights Reserved
Data Centric Publish/Subscribe
                  Publishers                                                                                     Subscribers
    TempSensor                                                                                                TempSensor
            tID          temp       humidity                                                                    tID            temp         humidity
            1             18             60                                                                      1              18            60
                                                                                                                 2              22            75
                                                                                                                 3              21            71




                                                                                                                                                           Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                struct TempSensor {
TempSensor                                         int tID;
                                                   float temp;                                                  TempSensor
    tID            temp         humidity
                                                   float humidity;                                                       tID         temp       humidity
    2               22            75            };
                                                                                                                         2            22             75
                                                #pragma keylist TempSensor tID
                                                                                                                         3            21             71

                                                                                                               SELECT * FROM TempSensor t
                                                                                                               WHERE s.temp > 20
                                                                                             s.t
  TempSensor                                                                                    ID
                                                                                                     ==
     tID            temp         humidity
                                               Fully Distributed Global                                   1    TempSensor
        3            21             71               Data Space                                                  tID            temp         humidity
                                                                                                                     1           18             60




                                                    © 2009, PrismTech. All Rights Reserved
Data Centric Publish/Subscribe
                  Publishers                                                                                     Subscribers
    TempSensor                                                                                                TempSensor
            tID          temp       humidity                                                                    tID         temp         humidity
            1             21             62                                                                      1           21            62
                                                                                                                 2           22            75
                                                                                                                 3           21            71




                                                                                                                                                       Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                struct TempSensor {
TempSensor                                         int tID;
                                                   float temp;                                                  TempSensor
    tID            temp         humidity
                                                   float humidity;
    2               22            75                                                                                  tID         temp      humidity
                                                };
                                                #pragma keylist TempSensor tID                                        1            21            62
                                                                                                                      2            22            75
                                                                                                                      3            21            71

                                                                                                                SELECT * FROM TempSensor t
                                                                                             s.t                WHERE s.temp > 20
  TempSensor                                                                                    ID
                                                                                                     ==
     tID            temp         humidity
                                               Fully Distributed Global                                   1
                                                                                                              TempSensor
        3            21             71               Data Space
                                                                                                                tID         temp         humidity
                                                                                                                 1           21             62




                                                    © 2009, PrismTech. All Rights Reserved
Processing Content & Structure                                                                                          Complex Event Processing...


‣ Local Queries                                                                           DDS provides some of the most useful features
                                                                                           found in Complex Event Processing platforms!
‣ Continuous Queries (Content-based Subscriptions)
‣ Topics Joins & Projections
‣ Events windows (via History QoS)




                                                                                                                                                            Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
tID   temp       humidity                                                                                                  S1
3     21.5          72.3
      tID    temp          humidity                                                                               {iID = 1}
      2       20              78
                    tID      temp     humidity
                    1         21        62
                                                                                                                                  S2
             P                                                                                                                {temp > 21 | humidity > 75}



                                                                                                                                S3
                                                                                                            { temp <16 }

                                                 © 2009, PrismTech. All Rights Reserved
Processing Content & Structure                                                                                 Complex Event Processing...


‣ Local Queries                                                              DDS provides some of the most useful features
                                                                              found in Complex Event Processing platforms!
‣ Continuous Queries (Content-based Subscriptions)
‣ Topics Joins & Projections
‣ Events windows (via History QoS)




                                                                                                                                                             Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                                 tID         temp          humidity
                                                                                                                   1            21           62


                                                                                                              S1
                                                                                                     {iID = 1}              tID      temp         humidity
                                                                                                                            2         20              78
                                                                                                                            3        21.5             72.3

                                                                                                                        S2
       P                                                                                                         {temp > 21 | humidity > 75}



                                                                                                                       S3
                                                                                               { temp <16 }

                                    © 2009, PrismTech. All Rights Reserved
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
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
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
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
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
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
An Example
   High-End 3D Visualization                                   Primary Radar

                                                                                                                                            Secondary Radar

                                           RadarTrack
                                        x: float
                                        y: float
                                        z: float
                                        radar_id: string                                                                   RadarTrack
                                        operationOne()                                                                  x: float
                                        operationTwo()                                                                  y: float




                                                                                                                                                                         Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                                        z: float
                                                                                                                        radar_id: string
                                                                                                                        operationOne()
                                                                                                                        operationTwo()

          FastFlightView                                          RadarTrackTopic           RadarTrackTopic
                                                                  x: float                   x: float
         image: string                                            y: float                   y: float
         refresh_rate: int      FlightViewTopic
                               image: string
                                                                  z: float
                                                                  radar_id: string
                                                                                            z: float
                                                                                            radar_id: string
         visible: bool         refresh_rate: int                                                               RadarTrackTopic
                               visible: bool                                                                   x: float
         uid: GUID             uid: GUID                                                                       y: float
         x: float                                                                                               z: float
                                                                                                               radar_id: string
         y: float
                                                                                                     RadarTrackTopic
         z: float                                                                                     x: float
         call_sign: string     RadarTrackTopic                                                       y: float
                               x: float                                                               z: float
         display()             y: float                                                               radar_id: string
                               z: float                                      FlightTopic
                                                                        call_sign: string
                               radar_id: string                         route: list
                                                                        origin: string
                                                                                                                                                            RadarTrack
                                                                        dest: string                                      Flight
                                                                        aircraft: string                            call_sign: string
                                                                        radar_id: string
                                                                                                                    route: list
                                                                                                                    origin: string         RadarTrackList
                                                                                                                    dest: string
                                                                                                                    aircraft: string                        RadarTrack
                                                                                                                    operationX()
                                                                                                                    operationY()

                                                                          Automatically Manage                           Flight Data Processor
                                                                                  Relationships



                                                           © 2009, PrismTech. All Rights Reserved
Custom Filter Example
   High-End 3D Visualization                                                  Primary Radar

                                                                                                                                                         Secondary Radar

                                                          RadarTrack
                                                       x: float
                                                       y: float
                                                       z: float
                                                       radar_id: string                                                                  RadarTrack
                                                       operationOne()                                                                 x: float
                                                       operationTwo()                                                                 y: float




                                                                                                                                                                                          Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                                                      z: float
                                                                                                                                      radar_id: string
                                                                                                                                      operationOne()
                                                                                                                                      operationTwo()

          FastFlightView                                                         RadarTrackTopic           RadarTrackTopic
                                                                                 x: float                   x: float
         image: string                                                           y: float                   y: float
         refresh_rate: int                     FlightViewTopic                   z: float                   z: float

                                                                                                                                                                          SQL Filter
                                              image: string                      radar_id: string          radar_id: string
         visible: bool                        refresh_rate: int                                                                  RadarTrackTopic
         uid: GUID                            visible: bool
                                              uid: GUID
                                                                                                                                 x: float
                                                                                                                                 y: float
                                                                                                                                                                          Custom Filter
         x: float                                                                                                                 z: float
                                                                                                                                 radar_id: string
         y: float
         z: float                                                                                                         RadarTrackTopic
                                                                                                                         x: float
         call_sign: string                                                                                               y: float
                                              RadarTrackTopic                                                            z: float
         display()                            x: float                                                                    radar_id: string
                                              y: float                                      FlightTopic
                                                                                       call_sign: string
                                              z: float
                                                                                       route: list
                                              radar_id: string                         origin: string                                                                        RadarTrack
                                                                                                                                         Flight
                                                                                       dest: string
                                                                                       aircraft: string                            call_sign: string
         Filter based on Region-of-interest                                            radar_id: string                            route: list
                                                                                                                                   origin: string        RadarTrackList
                                                                                                                                   dest: string
              SQL Filter                                                                                                           aircraft: string                          RadarTrack
              Custom Filter                                                                                                        operationX()
                                                                                                                                   operationY()

                                                                                         Automatically Manage                           Flight Data Processor
                                                                                                 Relationships



                                                                          © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                          ...Putting it all
                               Together
DCPS Application

                                                                                      Application
‣ The application works directly at the
 DCPS level                                                     TConditioner
                                                              cID: int
                                                              temp: float
                                                                                                               TTempSensor
                                                                                                             tID: int
                                                                                                             temp: float




                                                                                                                                         Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                              humidity: float                TRoom            humidity: float

‣ When using OO Programming
                                                              fan_level: int          rID: int               rID: int
                                                              status: int             width: float
                                                              rID: int                height: float

 Languages the Object/Relational                                                      length: float
                                                                                      fID: int
                                                                                                                   TFloor
                                                                                                             fID: int
                                                                                                             level: int

 Impedance Mismatch has to be                                                                                open: int



 manually dealt                                                                                               Content




                                                                                                                              DDS v1.2
                                                                   Ownership             Durability
                                                                                                            Subscription

                                                                                      Minimum Profile

                                                                            Data Centric Publish/Subscribe (DCPS)




                                          © 2009, PrismTech. All Rights Reserved
DLRL Application
                                                                                                     Application

                                                                                TempSensor
                                                                            temp: float



‣ The DLRL Layer is used to
                                                                            humidity: float
                                                                            getTemp()
                                                                            getHumidity()        *               Room                       Floor
                                                                                                         width: float              level: int
                                                                                                       1
                                                                                                         height: float             open: int
                                                                                                                                1 climate: int

 provide a Language Integrated
                                                                                 Conditioner             length: float
                                                                                                                          *
                                                                            temp: float                   climate: int             set_status()
                                                                            humidity: float            1 set_climate();            set_climate()
                                                                            fan_level: int      *        set_temp()               get_level()
                                                                                                         set_humidity()

 access to DDS data
                                                                            status: int
                                                                            setTemp()
                                                                            setHumidity()
                                                                            setFanLevel()




                                                                                                                                                               Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                            start()
                                                                            stop()



‣ The Designer has great freedom
                                                                            pause():




                                                                                                                                                    DDS v1.2
                                                                                               Object/Relational Mapping
 in deciding how Objects have to                                                   Data Local Reconstruction Layer (DLRL)

 map to Topics                                                                TConditioner
                                                                            cID: int
                                                                                                                                TTempSensor
                                                                                                                              tID: int
                                                                            temp: float                                        temp: float
                                                                            humidity: float                 TRoom              humidity: float


‣ Different Object Reconstruction
                                                                            fan_level: int           rID: int                 rID: int
                                                                            status: int              width: float
                                                                            rID: int                 height: float
                                                                                                     length: float                   TFloor

 can be created for different                                                                        fID: int                 fID: int
                                                                                                                              level: int
                                                                                                                              open: int


 applications                                                                                                                    Content




                                                                                                                                                    DDS v1.2
                                                                            Ownership                   Durability
                                                                                                                               Subscription

                                                                                                     Minimum Profile

                                                                                    Data Centric Publish/Subscribe (DCPS)


                                   © 2009, PrismTech. All Rights Reserved
Generic DDS Application
                                                                                                                     Application
                                                                                                  TempSensor
                                                                                              temp: float
                                                                                              humidity: float
                                                                                              getTemp()
                                                                                              getHumidity()      *               Room                         Floor
                                                                                                                         width: float                level: int
                                                                                                                       1



‣ In the most general case, different
                                                                                                                         height: float               open: int
                                                                                                   Conditioner           length: float             1 climate: int
                                                                                                                                            *
                                                                                              temp: float                 climate: int               set_status()
                                                                                              humidity: float           1 set_climate();             set_climate()
                                                                                              fan_level: int     *       set_temp()                 get_level()
                                                                                                                         set_humidity()

 portion of the application might rely on
                                                                                              status: int
                                                                                              setTemp()
                                                                                              setHumidity()
                                                                                              setFanLevel()
                                                                                              start()




                                                                                                                                                                          Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
 DLRL or DCPS depending on their                                                              stop()
                                                                                              pause():




 specific needs                                                             Application
                                                                                                            Object/Relational Mapping

                                                                                                 Data Local Reconstruction Layer (DLRL)


‣ DCPS access might be required for
                                                                               TConditioner                                        TTempSensor
                                                                             cID: int                                            tID: int
                                                                             temp: float                                          temp: float
                                                                             humidity: float             TRoom                    humidity: float

 accessing and tuning some specific                                          fan_level: int
                                                                             status: int
                                                                             rID: int
                                                                                                  rID: int
                                                                                                  width: float
                                                                                                  height: float
                                                                                                                                 rID: int


                                                                                                  length: float                         TFloor

 QoS                                                                                              fID: int                       fID: int
                                                                                                                                 level: int
                                                                                                                                 open: int


                                                                                                                                       Content




                                                                                                                                                               DDS v1.2
                                                                              Ownership                 Durability
                                                                                                                                     Subscription

                                                                                                   Minimum Profile

                                                                                       Data Centric Publish/Subscribe (DCPS)




                                   © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                          QoS-Enabled
                             Pub/Sub
Communicating with Topics, Partitions and Domains


                                                              Topic
                                                               Topic
                                                                Topic
                                                                     Samples
                                                                      Samples
                Instances                                              Samples
                 Instances
                  Instances
                                          121 62
                                              1
                                            21 62
                                                    1 22 62
                                                      1 22 62
                                                                1 23 63
                                                                 1 23 63
   DataReader
   DataReader
                                           1 21 62
                                         2 20 61
                                                        1 22 62
                                                   2 19 60
                                                                  1 23 63
    DataReader                                                                             DataWriter




                                                                                                          Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                          2 20 61    2 19 60
     DataReader
      DataReader                           2 20 61     2 19 60                             DataWriter
                                                                                            DataWriter
       DataReader                        3 25 70
                                          3 25 70
                                                   3 25 71
                                                       25
                                                     3 25 71
                                                         25
                                                                3 25 74
                                                                 3 25 74
                                                                          3 26 77
                                                                           3 26 77
                                                                            3 26 77
                                                                                             DataWriter
                    struct TempSensor {    3 25 70     3 25 71
                                                          25      3 25 74
                       int tID;
                       float temp;
                       float humidity;
                    };
                    #pragma keylist TempSensor tID




                                                  © 2009, PrismTech. All Rights Reserved
Communicating with Topics, Partitions and Domains


                                                                            Topic
                                                                             Topic
                                                                              Topic
                                                                                   Samples
                                                                                    Samples
                              Instances                                              Samples
                               Instances
                                Instances
                                                        121 62
                                                            1
                                                          21 62
                                                                  1 22 62
                                                                    1 22 62
                                                                              1 23 63
                                                                               1 23 63
               DataReader
               DataReader
                                                         1 21 62
                                                       2 20 61
                                                                      1 22 62
                                                                 2 19 60
                                                                                1 23 63
                DataReader                                                                                DataWriter




                                                                                                                         Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                        2 20 61    2 19 60
                 DataReader
                  DataReader                             2 20 61     2 19 60                              DataWriter
                                                                                                           DataWriter
                   DataReader                          3 25 70
                                                        3 25 70
                                                                 3 25 71
                                                                     25
                                                                   3 25 71
                                                                       25
                                                                              3 25 74
                                                                               3 25 74
                                                                                        3 26 77
                                                                                         3 26 77
                                                                                          3 26 77
                                                                                                            DataWriter
                                  struct TempSensor {    3 25 70     3 25 71
                                                                        25      3 25 74
                                     int tID;
                                     float temp;
Arrows                            };
                                     float humidity;

show                              #pragma keylist TempSensor tID

structural
relationship
s, not data-         Subscriber                                                                          Publisher
flows                                                                    Partition




                                                                © 2009, PrismTech. All Rights Reserved
Communicating with Topics, Partitions and Domains


                                                                            Topic
                                                                             Topic
                                                                              Topic
                                                                                   Samples
                                                                                    Samples
                              Instances                                              Samples
                               Instances
                                Instances
                                                        121 62
                                                            1
                                                          21 62
                                                                  1 22 62
                                                                    1 22 62
                                                                              1 23 63
                                                                               1 23 63
               DataReader
               DataReader
                                                         1 21 62
                                                       2 20 61
                                                                      1 22 62
                                                                 2 19 60
                                                                                1 23 63
                DataReader                                                                                DataWriter




                                                                                                                         Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                        2 20 61    2 19 60
                 DataReader
                  DataReader                             2 20 61     2 19 60                              DataWriter
                                                                                                           DataWriter
                   DataReader                          3 25 70
                                                        3 25 70
                                                                 3 25 71
                                                                     25
                                                                   3 25 71
                                                                       25
                                                                              3 25 74
                                                                               3 25 74
                                                                                        3 26 77
                                                                                         3 26 77
                                                                                          3 26 77
                                                                                                            DataWriter
                                  struct TempSensor {    3 25 70     3 25 71
                                                                        25      3 25 74
                                     int tID;
                                     float temp;
Arrows                            };
                                     float humidity;

show                              #pragma keylist TempSensor tID

structural
relationship
s, not data-         Subscriber                                                                          Publisher
flows                                                                    Partition

                                                                Domain Participant

                                                                         Domain
                                                                © 2009, PrismTech. All Rights Reserved
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I

More Related Content

What's hot

OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsOMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsAngelo Corsaro
 
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best PracticesOracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best PracticesBobby Curtis
 
Neo4j Presentation
Neo4j PresentationNeo4j Presentation
Neo4j PresentationMax De Marzi
 
An overview of Neo4j Internals
An overview of Neo4j InternalsAn overview of Neo4j Internals
An overview of Neo4j InternalsTobias Lindaaker
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part IIAngelo Corsaro
 
Top 10 Cypher Tuning Tips & Tricks
Top 10 Cypher Tuning Tips & TricksTop 10 Cypher Tuning Tips & Tricks
Top 10 Cypher Tuning Tips & TricksNeo4j
 
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートOracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートオラクルエンジニア通信
 
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Kamalesh Ramasamy
 
Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insightsKirill Loifman
 
Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentationjexp
 
Hive 3 - a new horizon
Hive 3 - a new horizonHive 3 - a new horizon
Hive 3 - a new horizonThejas Nair
 
オラクルのHPC/GPUソリューションご紹介(2021/08版)
オラクルのHPC/GPUソリューションご紹介(2021/08版)オラクルのHPC/GPUソリューションご紹介(2021/08版)
オラクルのHPC/GPUソリューションご紹介(2021/08版)オラクルエンジニア通信
 
Introduction to Cypher
Introduction to Cypher Introduction to Cypher
Introduction to Cypher Neo4j
 
Brochure industrial-ethernet-switches-english
Brochure industrial-ethernet-switches-englishBrochure industrial-ethernet-switches-english
Brochure industrial-ethernet-switches-englishFranco Soto
 
Distributed SQL Databases Deconstructed
Distributed SQL Databases DeconstructedDistributed SQL Databases Deconstructed
Distributed SQL Databases DeconstructedYugabyte
 

What's hot (20)

OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsOMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time Systems
 
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best PracticesOracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best Practices
 
From Data Warehouse to Lakehouse
From Data Warehouse to LakehouseFrom Data Warehouse to Lakehouse
From Data Warehouse to Lakehouse
 
Neo4j Presentation
Neo4j PresentationNeo4j Presentation
Neo4j Presentation
 
Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
An overview of Neo4j Internals
An overview of Neo4j InternalsAn overview of Neo4j Internals
An overview of Neo4j Internals
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part II
 
Top 10 Cypher Tuning Tips & Tricks
Top 10 Cypher Tuning Tips & TricksTop 10 Cypher Tuning Tips & Tricks
Top 10 Cypher Tuning Tips & Tricks
 
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートOracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
 
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
Oracle zdm Migrate Amazon RDS Oracle to Oracle Autonomous 2021 Kamalesh Ramas...
 
Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insights
 
Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentation
 
Hive 3 - a new horizon
Hive 3 - a new horizonHive 3 - a new horizon
Hive 3 - a new horizon
 
オラクルのHPC/GPUソリューションご紹介(2021/08版)
オラクルのHPC/GPUソリューションご紹介(2021/08版)オラクルのHPC/GPUソリューションご紹介(2021/08版)
オラクルのHPC/GPUソリューションご紹介(2021/08版)
 
Introduction to Cypher
Introduction to Cypher Introduction to Cypher
Introduction to Cypher
 
Brochure industrial-ethernet-switches-english
Brochure industrial-ethernet-switches-englishBrochure industrial-ethernet-switches-english
Brochure industrial-ethernet-switches-english
 
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
 
Distributed SQL Databases Deconstructed
Distributed SQL Databases DeconstructedDistributed SQL Databases Deconstructed
Distributed SQL Databases Deconstructed
 
DDS Security
DDS SecurityDDS Security
DDS Security
 
DDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data LinksDDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data Links
 

Viewers also liked

Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)Gerardo Pardo-Castellote
 
CR4YR collaboration.Aug 2013, Oct Prince Rupert
CR4YR collaboration.Aug 2013, Oct Prince Rupert CR4YR collaboration.Aug 2013, Oct Prince Rupert
CR4YR collaboration.Aug 2013, Oct Prince Rupert Faye Brownlie
 
Carols Presentation53
Carols  Presentation53Carols  Presentation53
Carols Presentation53guest576d5
 
SharePoint + Silverlight - new BFF's by Wictor Wilén
SharePoint + Silverlight - new BFF's by Wictor WilénSharePoint + Silverlight - new BFF's by Wictor Wilén
SharePoint + Silverlight - new BFF's by Wictor WilénWictor Wilén
 
GPA 1035: introduction
GPA 1035: introductionGPA 1035: introduction
GPA 1035: introductionoiwan
 
How Do You Measure The Power Of Words
How Do You Measure The Power Of WordsHow Do You Measure The Power Of Words
How Do You Measure The Power Of WordsPrashant Gandhi
 
Rupert.Reading.Jan 2015
Rupert.Reading.Jan 2015 Rupert.Reading.Jan 2015
Rupert.Reading.Jan 2015 Faye Brownlie
 
Rupert. 1st sessions.nov
Rupert. 1st sessions.novRupert. 1st sessions.nov
Rupert. 1st sessions.novFaye Brownlie
 
DDS Web Programming with dscript
DDS Web Programming with dscriptDDS Web Programming with dscript
DDS Web Programming with dscriptAngelo Corsaro
 
Belinda Love Photography
Belinda Love PhotographyBelinda Love Photography
Belinda Love PhotographyBelinda Love
 
Archydro
ArchydroArchydro
Archydroabkhiz
 
Don’t let Your Website Spread Malware – a New Approach to Web App Security
Don’t let Your Website Spread Malware – a New Approach to Web App SecurityDon’t let Your Website Spread Malware – a New Approach to Web App Security
Don’t let Your Website Spread Malware – a New Approach to Web App SecuritySasha Nunke
 

Viewers also liked (20)

Sph 107 Ch 15
Sph 107 Ch 15Sph 107 Ch 15
Sph 107 Ch 15
 
Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)
 
Embrace Change
Embrace ChangeEmbrace Change
Embrace Change
 
SPH 107 Ch 5
SPH 107 Ch 5SPH 107 Ch 5
SPH 107 Ch 5
 
Pintura 2 Eso
Pintura 2 EsoPintura 2 Eso
Pintura 2 Eso
 
CR4YR collaboration.Aug 2013, Oct Prince Rupert
CR4YR collaboration.Aug 2013, Oct Prince Rupert CR4YR collaboration.Aug 2013, Oct Prince Rupert
CR4YR collaboration.Aug 2013, Oct Prince Rupert
 
Carols Presentation53
Carols  Presentation53Carols  Presentation53
Carols Presentation53
 
SharePoint + Silverlight - new BFF's by Wictor Wilén
SharePoint + Silverlight - new BFF's by Wictor WilénSharePoint + Silverlight - new BFF's by Wictor Wilén
SharePoint + Silverlight - new BFF's by Wictor Wilén
 
GPA 1035: introduction
GPA 1035: introductionGPA 1035: introduction
GPA 1035: introduction
 
How Do You Measure The Power Of Words
How Do You Measure The Power Of WordsHow Do You Measure The Power Of Words
How Do You Measure The Power Of Words
 
Rupert.Reading.Jan 2015
Rupert.Reading.Jan 2015 Rupert.Reading.Jan 2015
Rupert.Reading.Jan 2015
 
ikp213-unifikasi
ikp213-unifikasiikp213-unifikasi
ikp213-unifikasi
 
Rupert. 1st sessions.nov
Rupert. 1st sessions.novRupert. 1st sessions.nov
Rupert. 1st sessions.nov
 
DDS Web Programming with dscript
DDS Web Programming with dscriptDDS Web Programming with dscript
DDS Web Programming with dscript
 
Belinda Love Photography
Belinda Love PhotographyBelinda Love Photography
Belinda Love Photography
 
Mcm ottobre 11
Mcm ottobre 11Mcm ottobre 11
Mcm ottobre 11
 
Archydro
ArchydroArchydro
Archydro
 
Trail Of Tears
Trail Of TearsTrail Of Tears
Trail Of Tears
 
Don’t let Your Website Spread Malware – a New Approach to Web App Security
Don’t let Your Website Spread Malware – a New Approach to Web App SecurityDon’t let Your Website Spread Malware – a New Approach to Web App Security
Don’t let Your Website Spread Malware – a New Approach to Web App Security
 
Carbonara coding
Carbonara codingCarbonara coding
Carbonara coding
 

Similar to OMG DDS Tutorial - Part I

10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDSAngelo Corsaro
 
DDS in SCADA, Utilities, Smart Grid and Smart Cities
DDS in SCADA, Utilities, Smart Grid and Smart CitiesDDS in SCADA, Utilities, Smart Grid and Smart Cities
DDS in SCADA, Utilities, Smart Grid and Smart CitiesAngelo Corsaro
 
Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Angelo Corsaro
 
A Gentle Introduction to OpenSplice DDS
A Gentle Introduction to OpenSplice DDSA Gentle Introduction to OpenSplice DDS
A Gentle Introduction to OpenSplice DDSAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
High Performance Distributed Computing with DDS and Scala
High Performance Distributed Computing with DDS and ScalaHigh Performance Distributed Computing with DDS and Scala
High Performance Distributed Computing with DDS and ScalaAngelo Corsaro
 
Introducing the OMG DDS to the Aerospace Valley
Introducing the OMG DDS to the Aerospace Valley Introducing the OMG DDS to the Aerospace Valley
Introducing the OMG DDS to the Aerospace Valley Angelo Corsaro
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaAngelo Corsaro
 
OMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle InteroperabilityOMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle InteroperabilityGerardo Pardo-Castellote
 
RTI Data-Distribution Service (DDS) Master Class - 2010
RTI Data-Distribution Service (DDS) Master Class - 2010RTI Data-Distribution Service (DDS) Master Class - 2010
RTI Data-Distribution Service (DDS) Master Class - 2010Gerardo Pardo-Castellote
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSSupreet Oberoi
 
Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsAngelo Corsaro
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeSumant Tambe
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeReal-Time Innovations (RTI)
 
Data Center In Healthcare Presentation 02 12
Data Center In Healthcare Presentation 02 12Data Center In Healthcare Presentation 02 12
Data Center In Healthcare Presentation 02 12todmoore
 
Network automation seminar
Network automation seminarNetwork automation seminar
Network automation seminarpatmisasi
 
Gef 2012 InduSoft Presentation
Gef 2012  InduSoft PresentationGef 2012  InduSoft Presentation
Gef 2012 InduSoft PresentationAVEVA
 
Building and Deploying OpenSplice DDS Based Cloud Messaging
Building and Deploying OpenSplice DDS Based Cloud Messaging Building and Deploying OpenSplice DDS Based Cloud Messaging
Building and Deploying OpenSplice DDS Based Cloud Messaging Angelo Corsaro
 

Similar to OMG DDS Tutorial - Part I (20)

10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
DDS in SCADA, Utilities, Smart Grid and Smart Cities
DDS in SCADA, Utilities, Smart Grid and Smart CitiesDDS in SCADA, Utilities, Smart Grid and Smart Cities
DDS in SCADA, Utilities, Smart Grid and Smart Cities
 
Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.
 
A Gentle Introduction to OpenSplice DDS
A Gentle Introduction to OpenSplice DDSA Gentle Introduction to OpenSplice DDS
A Gentle Introduction to OpenSplice DDS
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
High Performance Distributed Computing with DDS and Scala
High Performance Distributed Computing with DDS and ScalaHigh Performance Distributed Computing with DDS and Scala
High Performance Distributed Computing with DDS and Scala
 
Introducing the OMG DDS to the Aerospace Valley
Introducing the OMG DDS to the Aerospace Valley Introducing the OMG DDS to the Aerospace Valley
Introducing the OMG DDS to the Aerospace Valley
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and Scala
 
OMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle InteroperabilityOMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle Interoperability
 
RTI Data-Distribution Service (DDS) Master Class - 2010
RTI Data-Distribution Service (DDS) Master Class - 2010RTI Data-Distribution Service (DDS) Master Class - 2010
RTI Data-Distribution Service (DDS) Master Class - 2010
 
The Network Enabled EOC
The Network Enabled EOCThe Network Enabled EOC
The Network Enabled EOC
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDS
 
Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS Applications
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
The Promise of Interoperability
The Promise of InteroperabilityThe Promise of Interoperability
The Promise of Interoperability
 
Data Center In Healthcare Presentation 02 12
Data Center In Healthcare Presentation 02 12Data Center In Healthcare Presentation 02 12
Data Center In Healthcare Presentation 02 12
 
Network automation seminar
Network automation seminarNetwork automation seminar
Network automation seminar
 
Gef 2012 InduSoft Presentation
Gef 2012  InduSoft PresentationGef 2012  InduSoft Presentation
Gef 2012 InduSoft Presentation
 
Building and Deploying OpenSplice DDS Based Cloud Messaging
Building and Deploying OpenSplice DDS Based Cloud Messaging Building and Deploying OpenSplice DDS Based Cloud Messaging
Building and Deploying OpenSplice DDS Based Cloud Messaging
 

More from Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 

More from Angelo Corsaro (20)

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 

Recently uploaded

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

OMG DDS Tutorial - Part I

  • 1. OpenSplice DDS Delivering Performance, Openness, and Freedom Angelo Corsaro, Ph.D. Product Strategy & Marketing Manager OMG DDS Tutorial - Part I OMG RTESS and DDS SIG Co-Chair angelo.corsaro@prismtech.com
  • 2. Motivating Forces The Standard Agenda Architectural Principles Programming Model Concluding Remarks
  • 3. 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
  • 4. 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 Centric Systems Joint Forces Joint Forces 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
  • 5. Motivating Forces The Standard Agenda Architectural Principles Programming Model Concluding Remarks
  • 6. 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
  • 7. 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 © 2009, PrismTech. All Rights Reserved
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. Motivating Forces The Standard Agenda Architectural Principles Programming Model Concluding Remarks
  • 14. OpenSplice DDS Delivering Performance, Openness, and Freedom Loosely Coupled Technology
  • 15. Counting the “W’s” of Coupling Request Client Server The “4Ws” of Client/Server Reply ‣ Who+Where: Space Coupling ‣ What: Structural Coupling Client/Server ‣ When: Time Coupling CORBA, COM+, Java RMI, .Net Remoting, Web SVCs Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Subscriber Publisher Subscriber A Single “W” for DDS Publisher ‣ What: Structural Coupling Subscriber Publisher DDS Subscriber DDS features dynamic discovery and full time decoupling! © 2009, PrismTech. All Rights Reserved
  • 16. DDS vs. Client-Server 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
  • 17. Counting the “W’s” of Coupling 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 ‣ Loosely Coupled (1W) Publisher ‣ Plug & Play ‣ Inherently Many-to-Many Subscriber ‣ Fault Resilient Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  • 18. OpenSplice DDS Delivering Performance, Openness, and Freedom High Performance/Availability Pub/Sub
  • 19. 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
  • 20. OpenSplice DDS Delivering Performance, Openness, and Freedom Application Ownership Object/Relational Mapping Data Local Reconstruction Layer (DLRL) Durability Content Data-Centric Pub/Sub Subscription Minimum Profile Data Centric Publish/Subscribe (DCPS) Real-Time Publish/Subscribe Protocol DDS Interoperability Wire Protocol UDP/IP
  • 21. 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
  • 22. “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
  • 23. 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
  • 24. Topics and Data-Centric Pub/Sub ‣ Topics. Unit of information exchanged between Publisher and Subscribers. Topic ‣ Data Types. Type associated to a Topic must be a structured type expressed in IDL struct TempSensor { long tID; Topic Type float temp; ‣ Topic Instances. Key values in a datatype Proprietary Information - Distribution without Expressed Written Permission is Prohibited. float humidity; uniquely identify a Topic Instance (like rows in }; table) #pragma keylist TempSensor tID TempSensor ‣ Content Awareness. SQL Expressions can be tID temp humidity used to do content-aware subscriptions, Instances 1 21 62 2 27 78 queries, joins, and correlate topic instances 3 25.5 72.3 y idit idit y ity SELECT * FROM TempSensor t um Samples mid h um hu 62 h 65 63 WHERE t.temp > 25 p p tem tem p tem 21 22 tID 23 tID tID temp humidity tID 1 1 1 2 27 78 3 25.5 72.3 t1 t2 t3 Time © 2009, PrismTech. All Rights Reserved
  • 25. 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 TempSensor Room Floor tID: int rID: int fID: int temp: float width: float level: int humidity: float height: float open: int rID: int length: float fID: int © 2009, PrismTech. All Rights Reserved
  • 26. Data Centric Publish/Subscribe Publishers Subscribers TempSensor TempSensor tID temp humidity tID temp humidity 1 18 60 1 18 60 2 22 75 3 21 71 Proprietary Information - Distribution without Expressed Written Permission is Prohibited. struct TempSensor { TempSensor int tID; float temp; TempSensor tID temp humidity float humidity; tID temp humidity 2 22 75 }; 2 22 75 #pragma keylist TempSensor tID 3 21 71 SELECT * FROM TempSensor t WHERE s.temp > 20 s.t TempSensor ID == tID temp humidity Fully Distributed Global 1 TempSensor 3 21 71 Data Space tID temp humidity 1 18 60 © 2009, PrismTech. All Rights Reserved
  • 27. Data Centric Publish/Subscribe Publishers Subscribers TempSensor TempSensor tID temp humidity tID temp humidity 1 21 62 1 21 62 2 22 75 3 21 71 Proprietary Information - Distribution without Expressed Written Permission is Prohibited. struct TempSensor { TempSensor int tID; float temp; TempSensor tID temp humidity float humidity; 2 22 75 tID temp humidity }; #pragma keylist TempSensor tID 1 21 62 2 22 75 3 21 71 SELECT * FROM TempSensor t s.t WHERE s.temp > 20 TempSensor ID == tID temp humidity Fully Distributed Global 1 TempSensor 3 21 71 Data Space tID temp humidity 1 21 62 © 2009, PrismTech. All Rights Reserved
  • 28. Processing Content & Structure Complex Event Processing... ‣ Local Queries DDS provides some of the most useful features found in Complex Event Processing platforms! ‣ Continuous Queries (Content-based Subscriptions) ‣ Topics Joins & Projections ‣ Events windows (via History QoS) Proprietary Information - Distribution without Expressed Written Permission is Prohibited. tID temp humidity S1 3 21.5 72.3 tID temp humidity {iID = 1} 2 20 78 tID temp humidity 1 21 62 S2 P {temp > 21 | humidity > 75} S3 { temp <16 } © 2009, PrismTech. All Rights Reserved
  • 29. Processing Content & Structure Complex Event Processing... ‣ Local Queries DDS provides some of the most useful features found in Complex Event Processing platforms! ‣ Continuous Queries (Content-based Subscriptions) ‣ Topics Joins & Projections ‣ Events windows (via History QoS) Proprietary Information - Distribution without Expressed Written Permission is Prohibited. tID temp humidity 1 21 62 S1 {iID = 1} tID temp humidity 2 20 78 3 21.5 72.3 S2 P {temp > 21 | humidity > 75} S3 { temp <16 } © 2009, PrismTech. All Rights Reserved
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. An Example High-End 3D Visualization Primary Radar Secondary Radar RadarTrack x: float y: float z: float radar_id: string RadarTrack operationOne() x: float operationTwo() y: float Proprietary Information - Distribution without Expressed Written Permission is Prohibited. z: float radar_id: string operationOne() operationTwo() FastFlightView RadarTrackTopic RadarTrackTopic x: float x: float image: string y: float y: float refresh_rate: int FlightViewTopic image: string z: float radar_id: string z: float radar_id: string visible: bool refresh_rate: int RadarTrackTopic visible: bool x: float uid: GUID uid: GUID y: float x: float z: float radar_id: string y: float RadarTrackTopic z: float x: float call_sign: string RadarTrackTopic y: float x: float z: float display() y: float radar_id: string z: float FlightTopic call_sign: string radar_id: string route: list origin: string RadarTrack dest: string Flight aircraft: string call_sign: string radar_id: string route: list origin: string RadarTrackList dest: string aircraft: string RadarTrack operationX() operationY() Automatically Manage Flight Data Processor Relationships © 2009, PrismTech. All Rights Reserved
  • 37. Custom Filter Example High-End 3D Visualization Primary Radar Secondary Radar RadarTrack x: float y: float z: float radar_id: string RadarTrack operationOne() x: float operationTwo() y: float Proprietary Information - Distribution without Expressed Written Permission is Prohibited. z: float radar_id: string operationOne() operationTwo() FastFlightView RadarTrackTopic RadarTrackTopic x: float x: float image: string y: float y: float refresh_rate: int FlightViewTopic z: float z: float SQL Filter image: string radar_id: string radar_id: string visible: bool refresh_rate: int RadarTrackTopic uid: GUID visible: bool uid: GUID x: float y: float Custom Filter x: float z: float radar_id: string y: float z: float RadarTrackTopic x: float call_sign: string y: float RadarTrackTopic z: float display() x: float radar_id: string y: float FlightTopic call_sign: string z: float route: list radar_id: string origin: string RadarTrack Flight dest: string aircraft: string call_sign: string Filter based on Region-of-interest radar_id: string route: list origin: string RadarTrackList dest: string SQL Filter aircraft: string RadarTrack Custom Filter operationX() operationY() Automatically Manage Flight Data Processor Relationships © 2009, PrismTech. All Rights Reserved
  • 38. OpenSplice DDS Delivering Performance, Openness, and Freedom ...Putting it all Together
  • 39. DCPS Application Application ‣ The application works directly at the DCPS level TConditioner cID: int temp: float TTempSensor tID: int temp: float Proprietary Information - Distribution without Expressed Written Permission is Prohibited. humidity: float TRoom humidity: float ‣ When using OO Programming fan_level: int rID: int rID: int status: int width: float rID: int height: float Languages the Object/Relational length: float fID: int TFloor fID: int level: int Impedance Mismatch has to be open: int manually dealt Content DDS v1.2 Ownership Durability Subscription Minimum Profile Data Centric Publish/Subscribe (DCPS) © 2009, PrismTech. All Rights Reserved
  • 40. DLRL Application Application TempSensor temp: float ‣ The DLRL Layer is used to humidity: float getTemp() getHumidity() * Room Floor width: float level: int 1 height: float open: int 1 climate: int provide a Language Integrated Conditioner length: float * temp: float climate: int set_status() humidity: float 1 set_climate(); set_climate() fan_level: int * set_temp() get_level() set_humidity() access to DDS data status: int setTemp() setHumidity() setFanLevel() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. start() stop() ‣ The Designer has great freedom pause(): DDS v1.2 Object/Relational Mapping in deciding how Objects have to Data Local Reconstruction Layer (DLRL) map to Topics TConditioner cID: int TTempSensor tID: int temp: float temp: float humidity: float TRoom humidity: float ‣ Different Object Reconstruction fan_level: int rID: int rID: int status: int width: float rID: int height: float length: float TFloor can be created for different fID: int fID: int level: int open: int applications Content DDS v1.2 Ownership Durability Subscription Minimum Profile Data Centric Publish/Subscribe (DCPS) © 2009, PrismTech. All Rights Reserved
  • 41. Generic DDS Application Application TempSensor temp: float humidity: float getTemp() getHumidity() * Room Floor width: float level: int 1 ‣ In the most general case, different height: float open: int Conditioner length: float 1 climate: int * temp: float climate: int set_status() humidity: float 1 set_climate(); set_climate() fan_level: int * set_temp() get_level() set_humidity() portion of the application might rely on status: int setTemp() setHumidity() setFanLevel() start() Proprietary Information - Distribution without Expressed Written Permission is Prohibited. DLRL or DCPS depending on their stop() pause(): specific needs Application Object/Relational Mapping Data Local Reconstruction Layer (DLRL) ‣ DCPS access might be required for TConditioner TTempSensor cID: int tID: int temp: float temp: float humidity: float TRoom humidity: float accessing and tuning some specific fan_level: int status: int rID: int rID: int width: float height: float rID: int length: float TFloor QoS fID: int fID: int level: int open: int Content DDS v1.2 Ownership Durability Subscription Minimum Profile Data Centric Publish/Subscribe (DCPS) © 2009, PrismTech. All Rights Reserved
  • 42. OpenSplice DDS Delivering Performance, Openness, and Freedom QoS-Enabled Pub/Sub
  • 43. Communicating with Topics, Partitions and Domains Topic Topic Topic Samples Samples Instances Samples Instances Instances 121 62 1 21 62 1 22 62 1 22 62 1 23 63 1 23 63 DataReader DataReader 1 21 62 2 20 61 1 22 62 2 19 60 1 23 63 DataReader DataWriter Proprietary Information - Distribution without Expressed Written Permission is Prohibited. 2 20 61 2 19 60 DataReader DataReader 2 20 61 2 19 60 DataWriter DataWriter DataReader 3 25 70 3 25 70 3 25 71 25 3 25 71 25 3 25 74 3 25 74 3 26 77 3 26 77 3 26 77 DataWriter struct TempSensor { 3 25 70 3 25 71 25 3 25 74 int tID; float temp; float humidity; }; #pragma keylist TempSensor tID © 2009, PrismTech. All Rights Reserved
  • 44. Communicating with Topics, Partitions and Domains Topic Topic Topic Samples Samples Instances Samples Instances Instances 121 62 1 21 62 1 22 62 1 22 62 1 23 63 1 23 63 DataReader DataReader 1 21 62 2 20 61 1 22 62 2 19 60 1 23 63 DataReader DataWriter Proprietary Information - Distribution without Expressed Written Permission is Prohibited. 2 20 61 2 19 60 DataReader DataReader 2 20 61 2 19 60 DataWriter DataWriter DataReader 3 25 70 3 25 70 3 25 71 25 3 25 71 25 3 25 74 3 25 74 3 26 77 3 26 77 3 26 77 DataWriter struct TempSensor { 3 25 70 3 25 71 25 3 25 74 int tID; float temp; Arrows }; float humidity; show #pragma keylist TempSensor tID structural relationship s, not data- Subscriber Publisher flows Partition © 2009, PrismTech. All Rights Reserved
  • 45. Communicating with Topics, Partitions and Domains Topic Topic Topic Samples Samples Instances Samples Instances Instances 121 62 1 21 62 1 22 62 1 22 62 1 23 63 1 23 63 DataReader DataReader 1 21 62 2 20 61 1 22 62 2 19 60 1 23 63 DataReader DataWriter Proprietary Information - Distribution without Expressed Written Permission is Prohibited. 2 20 61 2 19 60 DataReader DataReader 2 20 61 2 19 60 DataWriter DataWriter DataReader 3 25 70 3 25 70 3 25 71 25 3 25 71 25 3 25 74 3 25 74 3 26 77 3 26 77 3 26 77 DataWriter struct TempSensor { 3 25 70 3 25 71 25 3 25 74 int tID; float temp; Arrows }; float humidity; show #pragma keylist TempSensor tID structural relationship s, not data- Subscriber Publisher flows Partition Domain Participant Domain © 2009, PrismTech. All Rights Reserved