SlideShare una empresa de Scribd logo
1 de 200
Descargar para leer sin conexión
OpenSplice DDS
           Delivering Performance, Openness, and Freedom




OMG DDS: The Data Distribution
 Service for Real-Time Systems
Presentation Roadmap

•PART I -- The DDS Standard

• PART II -- OpenSplice DDS

• PART III -- CoFlight Use Case
Motivating Forces
         The Standard
Agenda

         Architectural Principles
         Programming Model
         Future Directions
© 2009, PrismTech. All Rights Reserved
                                                                                                                                      The Need for Data Distribution




                                         Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
Time Scale




© 2009, PrismTech. All Rights Reserved
                                                                                                                                                   The Need for Data Distribution




                                         Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
The Need for Data Distribution
  Time Scale                                            Geographical Scale




                                                                             Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
               © 2009, PrismTech. All Rights Reserved
The Need for Data Distribution
    Time Scale                                                     Geographical Scale




                                                                                        Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
            Parallelism




  Systemic
              Data
   Signal
 Processing Processing




   Parallel Systems
                          © 2009, PrismTech. All Rights Reserved
The Need for Data Distribution
    Time Scale                                                                   Geographical Scale




                                                                                                      Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
            Parallelism   Determinism




  Systemic                 Real-Time
              Data
   Signal                 Information
 Processing Processing     Processing




   Parallel Systems
                                        © 2009, PrismTech. All Rights Reserved
The Need for Data Distribution
    Time Scale                                                                    Geographical Scale




                                                                                                       Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
            Parallelism   Determinism                  Throughput, Availability




  Systemic                 Real-Time                 Near Real-Time Fault-
              Data
   Signal                 Information                Tolerant Information
 Processing Processing     Processing                     Processing




   Parallel Systems
                                        © 2009, PrismTech. All Rights Reserved
The Need for Data Distribution
    Time Scale                                                                         Geographical Scale




                                                                                                                       Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
            Parallelism   Determinism                  Throughput, Availability   Scalability, Persistence, Security




  Systemic                 Real-Time                 Near Real-Time Fault-
              Data                                                                Complex Information
   Signal                 Information                Tolerant Information
 Processing Processing                                                               Management
                           Processing                     Processing




   Parallel Systems                                         Distributed Systems
                                        © 2009, PrismTech. All Rights Reserved
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
                                  Joint Forces
                                   Joint Forces
    Centric Systems             Global Info Grid
                                 Global Info Grid




                                                                                                     Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                   Adapted from “The Future of AWACS”,
                   by LtCol Joe Chapa


                         The Right Information => To the Right People => At the Right Time
                                                         © 2009, PrismTech. All Rights Reserved
Motivating Forces
         The Standard
Agenda

         Architectural Principles
         Programming Model
         Future Directions
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

‣   Interoperability demonstrated among key DDS
    vendors in March 2009
                                            © 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
         Future Directions
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
                  Client/Server                                                                ‣ What: Structural Coupling
     CORBA, COM+, Java RMI, .Net Remoting, Web SVCs
                                                                                               ‣ When: Time Coupling




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


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


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

                                                      © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                  Server                                                     Client/Server
Server
                  Client
                                                                             ‣ Tight Coupling (4W)
Client
                                                                             ‣ Complex Deployment
                           Server                                            ‣ Inherently One-to-One
         Server                                                              ‣ Fragile to Fault




                                                                                                       Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                           Client

         Client




                                    © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                  Server                                                     Client/Server
Server
                  Client
                                                                             ‣ Tight Coupling (4W)
Client
                                                                             ‣ Complex Deployment
                           Server                                            ‣ Inherently One-to-One
         Server                                                              ‣ Fragile to Fault




                                                                                                       Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                           Client

         Client




                                    © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                  Server                                                     Client/Server
Server
                  Client
                                                                             ‣ Tight Coupling (4W)
Client
                                                                             ‣ Complex Deployment
                           Server                                            ‣ Inherently One-to-One
         Server                                                              ‣ Fragile to Fault




                                                                                                       Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                           Client

         Client




                                    © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                  Server                                            Client/Server
Server
                  Client
                                                                    ‣ Tight Coupling (4W)
Client
                                                                    ‣ Complex Deployment
                                                                    ‣ Inherently One-to-One
         Server                                                     ‣ Fragile to Fault




                                                                                              Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
         Client




                           © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
         Server                                            Client/Server
Server
         Client
                                                           ‣ Tight Coupling (4W)
Client
                                                           ‣ Complex Deployment
                                                           ‣ Inherently One-to-One
                                                           ‣ Fragile to Fault




                                                                                     Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                  © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
        Server                                            Client/Server
        Client
                                                          ‣ Tight Coupling (4W)
                                                          ‣ Complex Deployment
                                                          ‣ Inherently One-to-One
                                                          ‣ Fragile to Fault




                                                                                    Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                 © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                  Server
                                                                    Client/Server
Server
                  Client                                            ‣ Tight Coupling (4W)
Client                                                              ‣ Complex Deployment
                                Server                              ‣ Inherently One-to-One
         Server                                                     ‣ Fragile to Fault




                                                                                                           Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                 Client

         Client
                                                                                           Subscriber
                                         Publisher




                                                                                              Subscriber
                                        Publisher




                                         Publisher
                                                                                         Subscriber

                           © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                        Server
                                                                          Client/Server
      Server
                        Client                                            ‣ Tight Coupling (4W)
      Client                                                              ‣ Complex Deployment
                                      Server                              ‣ Inherently One-to-One
               Server                                                     ‣ Fragile to Fault




                                                                                                                 Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                       Client

               Client
                                                                                                 Subscriber
                                               Publisher


DDS
                                                                                                    Subscriber
                                              Publisher




                                               Publisher
                                                                                               Subscriber

                                 © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                                  Server
                                                                                    Client/Server
        Server
                                  Client                                            ‣ Tight Coupling (4W)
        Client                                                                      ‣ Complex Deployment
                                                Server                              ‣ Inherently One-to-One
                         Server                                                     ‣ Fragile to Fault




                                                                                                                           Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                 Client

                         Client
                                                                                                           Subscriber
                                                         Publisher


DDS
‣ Loosely Coupled (1W)                                                                                        Subscriber
                                                        Publisher




                                                         Publisher
                                                                                                         Subscriber

                                           © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                                  Server
                                                                                    Client/Server
        Server
                                  Client                                            ‣ Tight Coupling (4W)
        Client                                                                      ‣ Complex Deployment
                                                Server                              ‣ Inherently One-to-One
                         Server                                                     ‣ Fragile to Fault




                                                                                                                           Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                 Client

                         Client
                                                                                                           Subscriber
                                                         Publisher


DDS
‣ Loosely Coupled (1W)                                                                                        Subscriber
                                                        Publisher
‣ Plug & Play

                                                         Publisher
                                                                                                         Subscriber

                                           © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                                  Server
                                                                                    Client/Server
        Server
                                  Client                                            ‣ Tight Coupling (4W)
        Client                                                                      ‣ Complex Deployment
                                                Server                              ‣ Inherently One-to-One
                         Server                                                     ‣ Fragile to Fault




                                                                                                                           Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                 Client

                         Client
                                                                                                           Subscriber
                                                         Publisher


DDS
‣ Loosely Coupled (1W)                                                                                        Subscriber
                                                        Publisher
‣ Plug & Play

                                                         Publisher
                                                                                                         Subscriber

                                           © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                                     Server
                                                                                       Client/Server
        Server
                                     Client                                            ‣ Tight Coupling (4W)
        Client                                                                         ‣ Complex Deployment
                                                   Server                              ‣ Inherently One-to-One
                            Server                                                     ‣ Fragile to Fault




                                                                                                                              Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                    Client

                            Client
                                                                                                              Subscriber
                                                            Publisher


DDS
‣ Loosely Coupled (1W)                                                                                           Subscriber
                                                           Publisher
‣ Plug & Play
‣ Inherently Many-to-Many
                                                            Publisher
                                                                                                            Subscriber

                                              © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                                     Server
                                                                                       Client/Server
        Server
                                     Client                                            ‣ Tight Coupling (4W)
        Client                                                                         ‣ Complex Deployment
                                                   Server                              ‣ Inherently One-to-One
                            Server                                                     ‣ Fragile to Fault




                                                                                                                              Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                    Client

                            Client
                                                                                                              Subscriber
                                                            Publisher


DDS
‣ Loosely Coupled (1W)                                                                                           Subscriber
                                                           Publisher
‣ Plug & Play
‣ Inherently Many-to-Many
‣ Fault Resilient
                                                            Publisher
                                                                                                            Subscriber

                                              © 2009, PrismTech. All Rights Reserved
Client Server vs. Publish Subscribe
                                     Server
                                                                                       Client/Server
        Server
                                     Client                                            ‣ Tight Coupling (4W)
        Client                                                                         ‣ Complex Deployment
                                                   Server                              ‣ Inherently One-to-One
                            Server                                                     ‣ Fragile to Fault




                                                                                                                              Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                    Client

                            Client
                                                                                                              Subscriber
                                                            Publisher


DDS
‣ Loosely Coupled (1W)                                                                                           Subscriber
                                                           Publisher
‣ Plug & Play
‣ Inherently Many-to-Many
‣ Fault Resilient
                                                            Publisher
                                                                                                            Subscriber

                                              © 2009, PrismTech. All Rights Reserved
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

                      Object/Relational Mapping

               Data Local Reconstruction Layer (DLRL)   Data-Centric Pub/Sub
                                                                    Fundamentals
                                          Content
 Ownership           Durability
                                        Subscription

                 Minimum Profile

      Data Centric Publish/Subscribe (DCPS)


       Real-Time Publish/Subscribe Protocol

         DDS Interoperability Wire Protocol


                      UDP/IP
DDS Topics
                                                                                   {Circle, Square, Triangle}
Topic
‣ Unit of information exchanged between
  Publisher and Subscribers.
‣ An association between a unique name, a




                                                                                                                        Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
  type and a QoS setting                                                     {ShapeType}                        {...}


Topic Type.
                                                                             struct ShapeType {
‣ Type describing the data associated with one                                  long   x;
  or more Topics                                                                long   y;
‣ A Topic type can have a key represented by an                                 long   shapesize;
                                                                                string color;
  arbitrary number of attributes                                             };
‣ Expressed in IDL                                                           #pragma keylist ShapeType color

                                    © 2009, PrismTech. All Rights Reserved
DDS Topics


                                                    Circle




                                                                                 Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
struct ShapeType {
   long   x;
   long   y;
   long   shapesize;                                 Topic                 QoS
   string color;
};
#pragma keylist ShapeType color




                                  © 2009, PrismTech. All Rights Reserved
DDS Topics


                                                 Triangle




                                                                                 Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
struct ShapeType {
   long   x;
   long   y;
   long   shapesize;                                 Topic                 QoS
   string color;
};
#pragma keylist ShapeType color




                                  © 2009, PrismTech. All Rights Reserved
DDS Topics


                                                  Square




                                                                                 Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
struct ShapeType {
   long   x;
   long   y;
   long   shapesize;                                 Topic                 QoS
   string color;
};
#pragma keylist ShapeType color




                                  © 2009, PrismTech. All Rights Reserved
DDS Topic Instances and Samples
Topic Instances
‣ Each key value identifies a unique Topic Instance,
‣ Topic’s instance lifetime can be explicitly
 managed in DDS




                                                                                Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
Topic Samples
‣ The values assumed by a Topic Instance
 over time are referred as Instance Sample
                   struct ShapeType {
                      long   x;
                      long   y;
                      long   shapesize;
                      string color;
                   };
                   #pragma keylist ShapeType color
                                       © 2009, PrismTech. All Rights Reserved
Topic/Instances/Samples Recap.
   Topics                                                         Instances




                                                                              Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                 Samples



            ti     tj                                      tnow       time
                  © 2009, PrismTech. All Rights Reserved
Content Filtering
                                                                          X0                   X1
                                                                               X0 <= X <= X1
‣ DDS allows to specify content-
 filtered Topics for which a a
 subset of SQL92 is used to
 express the filter condition




                                                                                                    Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                 Y0
‣ Content filters can be applied on
 the entire content of the Topic                 Y0 <= Y <= Y1
 Type
‣ Content filters are applied by                                 Y1

  DDS each time a new sample is
  produced/delivered
                                 © 2009, PrismTech. All Rights Reserved
Local Queries
‣ Subscribed Topics can be seen locally as “Tables”
‣ A subset of SQL92 can be used for performing queries on                            X0
 multiple topics as well as natural joins
‣ Queries are              Circle Topic




                                                                                                           Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
 performed under                                                                                      Y0
                            color    x               y             shapesize                 Y0
 user control and            red    57              62                50
 provide a result that      blue    90              85                50
                                                                                      Y0 <= Y <= Y1
 depends on the            yellow   30              25                50

 current snapshot of            SELECT * FROM ShapeType s
                                WHERE s.x > 25 AND s.y < 55                                  Y1
 the system, e.g.,
 samples currently          color    x               y             shapesize
 available                 yellow   30              25                50


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


                  Application

                      Object/Relational Mapping

               Data Local Reconstruction Layer (DLRL)   Data-Centric Pub/Sub
                                                                Putting it all together
                                          Content
 Ownership           Durability
                                        Subscription

                 Minimum Profile

      Data Centric Publish/Subscribe (DCPS)


       Real-Time Publish/Subscribe Protocol

         DDS Interoperability Wire Protocol


                      UDP/IP
Distributed Relational Information Modeling

‣ Topic Keys can be used to identify instances as well as relationships
‣ Relationships can be navigated by relying on a subset of SQL 92
‣ One-to-many relationships can be captured using foreign keys
‣ Many-to-many relationships need to be modeled using a topics




                                                                                                 Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
‣ Keys can be represented by an arbitrary number of Topic fields
                    TConditioner
                  cID: long
                  temp: float                                                      TTempSensor
                  humidity: float                                                tID: long
                  fan_level: long                                               temp: float
                  status: long             TRoom                                humidity: float
                  rID: long          rID: long                                  rID: long
                                     width: float
                                     height: float
                                     length: float                                  TFloor
                                     fID: long                               fID: long
                                                                             level: long
                                    © 2009, PrismTech. All Rights Reserved
                                                                             open: long
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
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
                                                                  handle: Handle
                                                                                                                 DLRL
                                                                                         Flight
                                                                                                                RadarTrack
                                                 FlightView                        call_sign: string
                                                                                                             x: float
                                              image: string                        route: list
                                                                                                             y: float
                                              refresh_rate: int      *       *     origin: string      1   * z: float
                                              visible: bool                        dest: string
                                                                                                             radar_id: string
                                              uid: GUID                            aircraft: string
                                                                                                             operationOne()




                                                                                                                                 Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                              display()                            operationX()
                                                                                                             operationTwo()
                                                                                   operationY()




                           FlightViewTopic            FlightViewAssociation
                                                                                           FlightTopic           DCPS
                                                                                       call_sign: string
                          image: string               call_sign: string
                                                                                       route: list            RadarTrackTopic
                          refresh_rate: int           uid: GUID
                                                                                       origin: string         x: float
                          visible: bool               handle: Handle
                                                                                       dest: string           y: float
                          uid: GUID
                                                                                       aircraft: string       z: float
                                                                                       radar_id: string       radar_id: string




    Multiple Mappings
    ‣ Different Object/Relatioal Mappings (ORM) can be used for different subsystems
    ‣ The state is shared across all the local reconstruction (ORMs)




                                                           © 2009, PrismTech. All Rights Reserved
Multiple Object/Relational Mappings
                                                                      Canvas
                                                                  handle: Handle
                                                                                                                 DLRL
                                                                                         Flight
                                                                                                                RadarTrack
                                                 FlightView                        call_sign: string
                                                                                                             x: float
                                              image: string                        route: list
                                                                                                             y: float
                                              refresh_rate: int      *       *     origin: string      1   * z: float
                                              visible: bool                        dest: string
                                                                                                             radar_id: string
                                              uid: GUID                            aircraft: string
                                                                                                             operationOne()




                                                                                                                                 Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                              display()                            operationX()
                                                                                                             operationTwo()
                                                                                   operationY()




                           FlightViewTopic            FlightViewAssociation
                                                                                           FlightTopic           DCPS
                                                                                       call_sign: string
                          image: string               call_sign: string
                                                                                       route: list            RadarTrackTopic
                          refresh_rate: int           uid: GUID
                                                                                       origin: string         x: float
                          visible: bool               handle: Handle
                                                                                       dest: string           y: float
                          uid: GUID
                                                                                       aircraft: string       z: float
                                                                                       radar_id: string       radar_id: string




    Multiple Mappings
    ‣ Different Object/Relatioal Mappings (ORM) can be used for different subsystems
    ‣ The state is shared across all the local reconstruction (ORMs)




                                                           © 2009, PrismTech. All Rights Reserved
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
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
         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
         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
         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



                                           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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Introducing the OMG DDS to the Aerospace Valley
Introducing the OMG DDS to the Aerospace Valley

Más contenido relacionado

La actualidad más candente

Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsAngelo Corsaro
 
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
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLAAngelo Corsaro
 
Move your Data Center to the Cloud
Move your Data Center to the CloudMove your Data Center to the Cloud
Move your Data Center to the CloudRedZone Technologies
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011Gerardo Pardo-Castellote
 
DDS + Android = OpenSplice Mobile
DDS + Android = OpenSplice MobileDDS + Android = OpenSplice Mobile
DDS + Android = OpenSplice MobileAngelo 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
 
DDS for JMS Programmers
DDS for JMS ProgrammersDDS for JMS Programmers
DDS for JMS ProgrammersAngelo Corsaro
 
Rapid Integration of Software-as-a-Service with On-Premise Applications Using...
Rapid Integration of Software-as-a-Service with On-Premise Applications Using...Rapid Integration of Software-as-a-Service with On-Premise Applications Using...
Rapid Integration of Software-as-a-Service with On-Premise Applications Using...Prolifics
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDSRick Warren
 
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
 
OMG DDS Security Submission Presentation (September 2013 - 6th Revised Submis...
OMG DDS Security Submission Presentation (September 2013 - 6th Revised Submis...OMG DDS Security Submission Presentation (September 2013 - 6th Revised Submis...
OMG DDS Security Submission Presentation (September 2013 - 6th Revised Submis...Gerardo Pardo-Castellote
 
OpenSplice Security Module
OpenSplice Security ModuleOpenSplice Security Module
OpenSplice Security ModuleAngelo Corsaro
 
Cloudsecurity
CloudsecurityCloudsecurity
Cloudsecuritydrewz lin
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardAngelo Corsaro
 

La actualidad más candente (20)

Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS Applications
 
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
 
DDS Everywhere
DDS EverywhereDDS Everywhere
DDS Everywhere
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLA
 
Move your Data Center to the Cloud
Move your Data Center to the CloudMove your Data Center to the Cloud
Move your Data Center to the Cloud
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
 
DDS + Android = OpenSplice Mobile
DDS + Android = OpenSplice MobileDDS + Android = OpenSplice Mobile
DDS + Android = OpenSplice Mobile
 
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
 
DDS for JMS Programmers
DDS for JMS ProgrammersDDS for JMS Programmers
DDS for JMS Programmers
 
Rapid Integration of Software-as-a-Service with On-Premise Applications Using...
Rapid Integration of Software-as-a-Service with On-Premise Applications Using...Rapid Integration of Software-as-a-Service with On-Premise Applications Using...
Rapid Integration of Software-as-a-Service with On-Premise Applications Using...
 
Embrace Change
Embrace ChangeEmbrace Change
Embrace Change
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDS
 
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
 
Simware RTI: Hello World!
Simware RTI: Hello World!Simware RTI: Hello World!
Simware RTI: Hello World!
 
HLA over DDS
HLA over DDSHLA over DDS
HLA over DDS
 
OMG DDS Security Submission Presentation (September 2013 - 6th Revised Submis...
OMG DDS Security Submission Presentation (September 2013 - 6th Revised Submis...OMG DDS Security Submission Presentation (September 2013 - 6th Revised Submis...
OMG DDS Security Submission Presentation (September 2013 - 6th Revised Submis...
 
OpenSplice Security Module
OpenSplice Security ModuleOpenSplice Security Module
OpenSplice Security Module
 
Cloudsecurity
CloudsecurityCloudsecurity
Cloudsecurity
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 

Destacado

Kamloops.#2.nov.2012
Kamloops.#2.nov.2012Kamloops.#2.nov.2012
Kamloops.#2.nov.2012Faye Brownlie
 
Mobile QoS Management using Complex Event Processing
Mobile QoS Management using Complex Event ProcessingMobile QoS Management using Complex Event Processing
Mobile QoS Management using Complex Event ProcessingMauricio Arango
 
ikd312-05-kalkulus-relasional
ikd312-05-kalkulus-relasionalikd312-05-kalkulus-relasional
ikd312-05-kalkulus-relasionalAnung Ariwibowo
 
Cbi Revenue Recognition Panel Slides 031709 Final
Cbi Revenue Recognition Panel Slides 031709 FinalCbi Revenue Recognition Panel Slides 031709 Final
Cbi Revenue Recognition Panel Slides 031709 Finalthess1121
 
Visita biblioteca municipal 2013
Visita biblioteca municipal 2013Visita biblioteca municipal 2013
Visita biblioteca municipal 2013XXX XXX
 
Scientific Applications of The Data Distribution Service
Scientific Applications of The Data Distribution ServiceScientific Applications of The Data Distribution Service
Scientific Applications of The Data Distribution ServiceAngelo Corsaro
 
Crosscurrents, 2011, Collaboration Counts!
Crosscurrents, 2011, Collaboration Counts!Crosscurrents, 2011, Collaboration Counts!
Crosscurrents, 2011, Collaboration Counts!Faye Brownlie
 
Vision for Haverhill Comprehensive Plan Concept & Framework
Vision for Haverhill Comprehensive Plan Concept & FrameworkVision for Haverhill Comprehensive Plan Concept & Framework
Vision for Haverhill Comprehensive Plan Concept & FrameworkJohn Michitson
 
Investment decisions for pension funds by intangible value capital
Investment decisions for pension funds by intangible value capitalInvestment decisions for pension funds by intangible value capital
Investment decisions for pension funds by intangible value capitalJAYARAMAN IYER
 
The OpenSplice DDS Revolution -- Episode II
The OpenSplice DDS Revolution -- Episode IIThe OpenSplice DDS Revolution -- Episode II
The OpenSplice DDS Revolution -- Episode IIAngelo Corsaro
 
Quesnel.Adolescent Literacy.Feb 2016
Quesnel.Adolescent Literacy.Feb 2016Quesnel.Adolescent Literacy.Feb 2016
Quesnel.Adolescent Literacy.Feb 2016Faye Brownlie
 
Science World Board Presentation
Science World Board PresentationScience World Board Presentation
Science World Board PresentationDanny Robinson
 
Pe le projektin loppuarviointi
Pe le projektin loppuarviointiPe le projektin loppuarviointi
Pe le projektin loppuarviointiAija Hietanen
 
Jules Cheret (1836-1933) y sus contemporáneos
Jules Cheret (1836-1933) y sus contemporáneosJules Cheret (1836-1933) y sus contemporáneos
Jules Cheret (1836-1933) y sus contemporáneosalmudenaresad
 
B2: The OpenSplice BlendBox
B2: The OpenSplice BlendBoxB2: The OpenSplice BlendBox
B2: The OpenSplice BlendBoxAngelo Corsaro
 

Destacado (20)

Kamloops.#2.nov.2012
Kamloops.#2.nov.2012Kamloops.#2.nov.2012
Kamloops.#2.nov.2012
 
Mobile QoS Management using Complex Event Processing
Mobile QoS Management using Complex Event ProcessingMobile QoS Management using Complex Event Processing
Mobile QoS Management using Complex Event Processing
 
ikd312-05-kalkulus-relasional
ikd312-05-kalkulus-relasionalikd312-05-kalkulus-relasional
ikd312-05-kalkulus-relasional
 
ikd312-02-three-schema
ikd312-02-three-schemaikd312-02-three-schema
ikd312-02-three-schema
 
Cbi Revenue Recognition Panel Slides 031709 Final
Cbi Revenue Recognition Panel Slides 031709 FinalCbi Revenue Recognition Panel Slides 031709 Final
Cbi Revenue Recognition Panel Slides 031709 Final
 
Gmecdeck
GmecdeckGmecdeck
Gmecdeck
 
Visita biblioteca municipal 2013
Visita biblioteca municipal 2013Visita biblioteca municipal 2013
Visita biblioteca municipal 2013
 
Scientific Applications of The Data Distribution Service
Scientific Applications of The Data Distribution ServiceScientific Applications of The Data Distribution Service
Scientific Applications of The Data Distribution Service
 
Crosscurrents, 2011, Collaboration Counts!
Crosscurrents, 2011, Collaboration Counts!Crosscurrents, 2011, Collaboration Counts!
Crosscurrents, 2011, Collaboration Counts!
 
BCIC Town hall may5th
BCIC Town hall may5thBCIC Town hall may5th
BCIC Town hall may5th
 
Vision for Haverhill Comprehensive Plan Concept & Framework
Vision for Haverhill Comprehensive Plan Concept & FrameworkVision for Haverhill Comprehensive Plan Concept & Framework
Vision for Haverhill Comprehensive Plan Concept & Framework
 
Investment decisions for pension funds by intangible value capital
Investment decisions for pension funds by intangible value capitalInvestment decisions for pension funds by intangible value capital
Investment decisions for pension funds by intangible value capital
 
Science world
Science worldScience world
Science world
 
The OpenSplice DDS Revolution -- Episode II
The OpenSplice DDS Revolution -- Episode IIThe OpenSplice DDS Revolution -- Episode II
The OpenSplice DDS Revolution -- Episode II
 
Quesnel.Adolescent Literacy.Feb 2016
Quesnel.Adolescent Literacy.Feb 2016Quesnel.Adolescent Literacy.Feb 2016
Quesnel.Adolescent Literacy.Feb 2016
 
Science World Board Presentation
Science World Board PresentationScience World Board Presentation
Science World Board Presentation
 
Pe le projektin loppuarviointi
Pe le projektin loppuarviointiPe le projektin loppuarviointi
Pe le projektin loppuarviointi
 
Jules Cheret (1836-1933) y sus contemporáneos
Jules Cheret (1836-1933) y sus contemporáneosJules Cheret (1836-1933) y sus contemporáneos
Jules Cheret (1836-1933) y sus contemporáneos
 
B2: The OpenSplice BlendBox
B2: The OpenSplice BlendBoxB2: The OpenSplice BlendBox
B2: The OpenSplice BlendBox
 
Vagrant
VagrantVagrant
Vagrant
 

Similar a Introducing the OMG DDS to the Aerospace Valley

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
 
Mike Stolz Dramatic Scalability
Mike Stolz Dramatic ScalabilityMike Stolz Dramatic Scalability
Mike Stolz Dramatic Scalabilitydeimos
 
Network automation seminar
Network automation seminarNetwork automation seminar
Network automation seminarpatmisasi
 
Security in the Cloud
Security in the CloudSecurity in the Cloud
Security in the CloudWSO2
 
NGN Hybrid Cloud Matrix
NGN Hybrid Cloud MatrixNGN Hybrid Cloud Matrix
NGN Hybrid Cloud MatrixGeopay.me Inc.
 
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
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDSAngelo Corsaro
 
Windows of Opportunity: Big Data on Tap
Windows of Opportunity: Big Data on TapWindows of Opportunity: Big Data on Tap
Windows of Opportunity: Big Data on TapInside Analysis
 
Nfp Seminar Series Danny November 18 Emerging Technology Challenges And...
Nfp Seminar Series   Danny   November 18   Emerging Technology Challenges And...Nfp Seminar Series   Danny   November 18   Emerging Technology Challenges And...
Nfp Seminar Series Danny November 18 Emerging Technology Challenges And...Danny Miller
 
Understanding Intelligent Military-Grade Optical Ethernet Networks: A Versati...
Understanding Intelligent Military-Grade Optical Ethernet Networks: A Versati...Understanding Intelligent Military-Grade Optical Ethernet Networks: A Versati...
Understanding Intelligent Military-Grade Optical Ethernet Networks: A Versati...Vishal Sharma, Ph.D.
 
Accel Partners New Data Workshop 7-14-10
Accel Partners New Data Workshop 7-14-10Accel Partners New Data Workshop 7-14-10
Accel Partners New Data Workshop 7-14-10keirdo1
 
Rrw – a robust and reversible watermarking technique for relational data
Rrw – a robust and reversible watermarking technique for relational dataRrw – a robust and reversible watermarking technique for relational data
Rrw – a robust and reversible watermarking technique for relational dataLeMeniz Infotech
 
Iia 2012 Spring Conference Philly V Final
Iia 2012 Spring Conference Philly V FinalIia 2012 Spring Conference Philly V Final
Iia 2012 Spring Conference Philly V FinalDanny Miller
 
OSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOpenStorageSummit
 
International approaches to critical information infrastructure protection ...
International approaches to critical information infrastructure protection   ...International approaches to critical information infrastructure protection   ...
International approaches to critical information infrastructure protection ...owaspindia
 

Similar a Introducing the OMG DDS to the Aerospace Valley (20)

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
 
Mike Stolz Dramatic Scalability
Mike Stolz Dramatic ScalabilityMike Stolz Dramatic Scalability
Mike Stolz Dramatic Scalability
 
Network automation seminar
Network automation seminarNetwork automation seminar
Network automation seminar
 
Security in the Cloud
Security in the CloudSecurity in the Cloud
Security in the Cloud
 
Security in the Cloud
Security in the CloudSecurity in the Cloud
Security in the Cloud
 
Best Practices for Migration
Best Practices for MigrationBest Practices for Migration
Best Practices for Migration
 
Best Practices for Migration
Best Practices for MigrationBest Practices for Migration
Best Practices for Migration
 
NGN Hybrid Cloud Matrix
NGN Hybrid Cloud MatrixNGN Hybrid Cloud Matrix
NGN Hybrid Cloud Matrix
 
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
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
Windows of Opportunity: Big Data on Tap
Windows of Opportunity: Big Data on TapWindows of Opportunity: Big Data on Tap
Windows of Opportunity: Big Data on Tap
 
Nfp Seminar Series Danny November 18 Emerging Technology Challenges And...
Nfp Seminar Series   Danny   November 18   Emerging Technology Challenges And...Nfp Seminar Series   Danny   November 18   Emerging Technology Challenges And...
Nfp Seminar Series Danny November 18 Emerging Technology Challenges And...
 
Understanding Intelligent Military-Grade Optical Ethernet Networks: A Versati...
Understanding Intelligent Military-Grade Optical Ethernet Networks: A Versati...Understanding Intelligent Military-Grade Optical Ethernet Networks: A Versati...
Understanding Intelligent Military-Grade Optical Ethernet Networks: A Versati...
 
Big Data & The Cloud
Big Data & The CloudBig Data & The Cloud
Big Data & The Cloud
 
Accel Partners New Data Workshop 7-14-10
Accel Partners New Data Workshop 7-14-10Accel Partners New Data Workshop 7-14-10
Accel Partners New Data Workshop 7-14-10
 
S series presentation
S series presentationS series presentation
S series presentation
 
Rrw – a robust and reversible watermarking technique for relational data
Rrw – a robust and reversible watermarking technique for relational dataRrw – a robust and reversible watermarking technique for relational data
Rrw – a robust and reversible watermarking technique for relational data
 
Iia 2012 Spring Conference Philly V Final
Iia 2012 Spring Conference Philly V FinalIia 2012 Spring Conference Philly V Final
Iia 2012 Spring Conference Philly V Final
 
OSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal SternOSS Presentation Keynote by Hal Stern
OSS Presentation Keynote by Hal Stern
 
International approaches to critical information infrastructure protection ...
International approaches to critical information infrastructure protection   ...International approaches to critical information infrastructure protection   ...
International approaches to critical information infrastructure protection ...
 

Más de 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
 

Más de Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
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
 

Último

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 

Último (20)

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 

Introducing the OMG DDS to the Aerospace Valley

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