SlideShare a Scribd company logo
Interoperable, Extensible and
                 Efficient System Architectures
OpenSplice DDS




                                  Angelo CORSARO, Ph.D.
                                          Chief Technology Officer
                                          OMG DDS Sig Co-Chair
                                                     PrismTech
                                  angelo.corsaro@prismtech.com
Motivating Examples
OpenSplice DDS
SESAR: The Single Sky
                  ☐   Enable operational interoperability




                                                            Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                      across ATM/ATC in EU

                  ☐   Allow information to flow
                      seamlessly within the ATC/ATM
OpenSplice DDS




                      ecosystem and across Europe

                  ☐   Ensure the system is incrementally
                      extensible and evolvable

                  ☐   Ensure the system makes efficient
                      use of resources such as network
Smart City / Smart Grid




                                                        Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   Make relevant information
                      available in real-time to an
                      open ended number of
OpenSplice DDS




                      consumers

                  ☐   Ensure interoperability with
                      third parties, efficient use of
                      resources and extensibility
Interoperability
OpenSplice DDS
Defining Interoperability




                                                                                     Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                   The ability of two or more systems or components to exchange
                   information and to use the information that has been exchanged.
OpenSplice DDS
Syntactic Interoperability




                                                                                          Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   The ability of two or more systems to communicate and
                      exchange data

                  ☐   Requires specified data formats and communication protocols
OpenSplice DDS




                  ☐   Syntactical Interoperability is a necessary condition for higher-
                      level of interoperability
Semantic Interoperability




                                                                                          Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   The ability to meaningfully and accurately interpret exchanged
                      information

                  ☐   Semantic interoperability requires communication parties to agree
OpenSplice DDS




                      on a common information model
Interoperability in Summary




                                                                                    Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   Interoperability requires agreements at a syntactic and
                      semantic level

                  ☐   Syntactic Interoperability is commonly achieved by agreeing
OpenSplice DDS




                      a communication protocol and a data representation
                      standard

                  ☐   Semantic Interoperability is commonly achieved by agreeing
                      on a Common Information Model
Measuring Interoperability




                                                                                        Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  Based on the previous definitions we can define 3 levels of
                  interoperability:
OpenSplice DDS




                  ☐   Level 0: No Interoperability (closed interfaces)

                  ☐   Level 1: Syntactic Interoperability (open protocol/data format)

                  ☐   Level 2: Semantic Interoperability (common information model)
Example: Syntactic Interoperability
                  ☐   Suppose that we define legal messages as any word created over
                      alphabet, more formally:




                                                                                               Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                      ☐   ∑ = {a, b, ..., z, ?, !}
                                                                            Che ora?
                      ☐   words := { x ∈ ∑ }  +

                      ☐   sentence = words+                Sapresti dirmi
OpenSplice DDS




                                                           che ore sono?               What?
                  ☐   Example:
                      ☐   Can Talk and hear w/o problems
                      ☐   Don’t necessarily “understand”
Example: Semantic Interoperability
                  ☐   Suppose now that we constrain our grammar to a subset of legal




                                                                                                 Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                      English phrases:
                                                                       Thanks!


                                                   Excuse me, do you
OpenSplice DDS




                                                                                 Sure, it’s 11
                                                    know the time?
                                                                                   o’clock.
OpenSplice DDS




                 Extensibility
Defining Extensibility




                                                                                          Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  Extensibility is a systemic measure of the ability to extend a system
                  and the level of effort required to implement the extension

                  Extensions can be through the addition of new functionality or the
OpenSplice DDS




                  modification of an existing functionality

                  Modularity and loose coupling foster extensibility
Forward Compatibility




                                                                                             Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   Forward compatibility (at times considered as part of extensibility)
OpenSplice DDS




                      aims at the ability of a system to gracefully accept input intended
                      for a later version of the system
Measuring Extensibility
                  ☐   Extensibility can be measured w.r.t. the cost associated with




                                                                                       Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                      adding a new functionality to the system
OpenSplice DDS




                                  Extensibility	
  	
  =	
  CDNF/(CINF	
  +	
  CDNF)

                  ☐   Where:
                      ☐   CDNF: Cost of developing the new feature
                      ☐   CINF: Cost of integration for the new feature

                  ☐   For any system: 0 < Extensibility ≤ 1
Measuring Forward Compatibility




                                                                                                Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   For simplicity we will assume that forward compatibility is binary,
                      thus either is supported or not
OpenSplice DDS




                  ☐   In general, many systems support forward compatibility under
                      certain conditions. Yet for our discussion it is OK to consider it as a
                      binary property.
OpenSplice DDS




                 Efficiency
Defining Efficiency




                                                                                     Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  In general terms, efficiency describes the extent to which a
                  valuable resource, such as time, space, network bandwidth, etc.,
                  is well used for the intended task of purpose
OpenSplice DDS
Measuring Efficiency
                  ☐   Efficiency can be measured as follows:




                                                                                 Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                                        Efficiency	
  =	
  CO/CA
OpenSplice DDS




                  ☐   Where:
                      ☐   CO: Optimal Cost to perform the given task/operation
                      ☐   CA: Actual Cost to perform the given task/action

                  ☐   For any system: 0 < Efficiency ≤ 1
Example: Data Encoding




                                                                                   Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   As an example of efficiency, let’s consider different data
                      encoding for a relatively simple Temperature Sensor
                  ☐   Let’s assume a very simple temperature sensor defined as
OpenSplice DDS




                      follows:
                                       struct	
  TempSensor	
  {
                                       	
  	
  	
  short	
  temp;
                                       	
  	
  	
  short	
  hum;
                                       };
Example: Data Encoding




                                                                                                                 Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                                            TempSensor	
  t	
  =	
  {35,	
  75};


                               CDR                                                 JSON
OpenSplice DDS




                                                                          byte     0   1   2   3
                    byte   0     1    2      3
                                                                                   {   “   t   e
                           0 23 0 4B
                                                                                   m   p   “   :
                                                                                   3   5   ,   “
                                                                                   h   u   m   “
                               4	
  bytes
                                                                                   :   7   5   }
                                                                                                   16	
  bytes
Example: Data Encoding
                  ☐   Let’s compute now the efficiency. If we ignore variable length




                                                                                             Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                      encoding, then the cost of encoding two short integers is 4 bytes,
                      thus CO = 4 bytes

                  ☐   CDR Efficiency. The actual cost of encoding our temperature sensor
OpenSplice DDS




                      in CDR was CA = 4 bytes this leads to EfficiencyCDR = 4/4 = 1

                  ☐   JSON Efficiency. The actual cost of encoding our temperature sensor
                      in JSON was CA = 16 bytes this leads to EfficiencyJSON = 4/16 = 0.25

                  ☐   Note: We have taken a few short cuts here since a formally sound
                      derivation of CO should have considered the entropy of the data
                      source. Instead we have silently assumed a binary entropy function.
Data Centric Architectures
OpenSplice DDS
Data-Centric Architecture (DCA)
                  Abstract Definition
                  A Data Centric Architecture consists of:




                                                                             Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐ Abstract Data Types: A, B, C, ...
                  ☐ Arrows: f, g, h, ...

                  where arrows satisfy the following properties:
OpenSplice DDS




                      Given f: A → B, g: B → C, and h: C → D
                      then the following holds true:
                              ∃ g ∘ f: A → C              [Composition]
                              ∃ 1A : A → A                [Identity Arrow]
                              h ∘ (g ∘ f) = (h ∘ g) ∘ f   [Associativity]
                              f ∘ 1A = f = 1B ∘ f         [Unit]

                             A Data Centric Architecture is a Category
Data-Centric Architecture (DCA)




                                                                                           Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  The abstract definition of a Data-Centric Architecture formally
                  captures its key properties:
                  ☐   The Abstraction Barrier is defined in terms of Abstract Data Types
OpenSplice DDS




                  ☐   The System Behaviour is specified in terms of transformations
                      (functions or arrows) over these Abstract Data Types



                      Note: From this emerges a natural relationship between DCA and
                            Functional Programming Languages
Example: Space Traveller                  [1/3]

                  ☐   Suppose we want to create a
                      distributed game in which we have




                                                                   Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                      (some) UFOs that are trying to
                      destroy our spaceship
                  ☐   UFO can be our allies/enemies and
                      can be played by other players or
OpenSplice DDS




                      computers
                  ☐   Some UFOs, might just be space
                      travellers and should not be
                      destroyed
                  ☐   The goal of the game is to destroy
                      the UFOs that have been classified
                      as threats
Example: Space Traveller                                             [2/3]

                  ☐   The DCA for this game could be described as follows




                                                                                                                Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                      (keeping it simple...)

                       Data Types           Arrows
OpenSplice DDS




                       ☐   FlyingObject     ☐   animate: Dynamics → Dynamics
                       ☐   Dynamics         ☐   classify: FlyingObject x Dynamics → Classification
                       ☐   Classification   ☐   collide: [FlyingObject x Dynamics] → [Collision]
                       ☐   Collision        ☐   pilot: IO → Dynamics x FlyingObject
                                            ☐   fire: IO → FlyingObject x Dynamics
                                            ☐   display: FlyingObject x Dynamics x Classification x Collision
                                                → IO
Example: Space Traveller                                                               [3/3]




                                                                                                                                   Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                               FlyingObject                                              FlyingObject
                  IO   pilot                     Dynamics      animate    Dynamics                      classify   Classification
                               Dynamics                                                    Dynamics
OpenSplice DDS




                                                                                              FlyingObject

                               FlyingObject   [FlyingObject]                                     Dynamics
                  IO   fire                     [Dynamics]
                                                                collide    [Collision]                        display   IO
                               Dynamics                                                      Classification

                                                                                                  Collision
Data-Centric vs. Service-Centric
                  Data-Centric and Service-Centric architectures, such as SOA, Distributed
                  Objects, etc., differ in several dimensions:




                                                                                                             Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   Abstraction Barrier:
                      ☐   Data-Centric architectures rely on data abstractions
                      ☐   Service-Centric architectures rely on service abstractions
OpenSplice DDS




                  ☐   Level of Coupling
                      ☐   Data-Centric architectures rely solely on the shared knowledge of abstract data
                          types (agree on the “what”)
                      ☐   Service-Centric architectures rely on the shared knowledge of operational
                          interfaces along with the knowledge of the service provider and of its existence
                          (agree on “what”, “who”, and “when”)
DCA Benefits
                  ☐   Loose Coupling




                                                                                         Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   Anonymicity (e.g. only things to be known are the data types and
                      not who produces/consumes them)

                      Composability (especially when combined with functional
OpenSplice DDS




                  ☐
                      languages)

                  ☐   Extensibility

                  ☐   Ease of Integration

                  ☐   Performance (easier to parallelize)
DCA Interoperability




                                                                                        Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   To enable Interoperability DCA should rely on middleware
                      technology that provides a Level 2 Interoperability
OpenSplice DDS




                  ☐   In other terms, middleware technologies that define
                      ☐   open/standard communication protocols
                      ☐   open/standard data representation format, and
                      ☐   open/standard ways of describing a Common Information Model
DCA Extensibility
                  ☐   Extensibility is enabled by DCA through modularity, composability




                                                                                                Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                      and loose coupling
                  ☐   Modularity is tied to the granularity of the “arrows/functions” that
                      defined in the system
OpenSplice DDS




                  ☐   Composability follows from the properties (refer to definition) of DCA
                  ☐   Loose coupling follows from the fact that the only “contract”
                      between the different element of a system are the abstract data
                      types and nothing else. Neither topological nor existential
                      informations, e.g. it does not matter if there are consumer for a given
                      type T nor how many of those are there and where they are located
DCA Forward Compatibility




                                                                                         Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   Forward compatibility depends entirely from the technology used
                      to implement the DCA
OpenSplice DDS




                  ☐   However, the presence of a typed Common Information Model
                      can facilitate the implementation of efficient and safe “forward
                      compatibility” mechanism
Efficiency




                                                                                              Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   The efficiency of a DCA depends on
OpenSplice DDS




                      ☐   The definition of the Common Information Model (e.g. its level of
                          normalization), and
                      ☐   The efficiency of the infrastructure used to implement the DCA
OpenSplice DDS




                 DDS and DCA
DDS Core Standard




                                                                                                                 Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   DDS is a family of                                  Application

                      standards addressing the
                                                            Data Centric Publish Subscriber (DCPS)
                      communication needs of                                                        Content
                                                       Ownership             Durability
                      Data Centric Architectures                                                  Subscription
OpenSplice DDS




                                                                          Minimum Profile
                  ☐   The two standards at the
                      core are:                            DDS Interoperability Wire Protocol - DDSI-RTPS
                      ☐   DDS v1.2 -- API
                                                                           UDP/IP
                                                                         Application
                      ☐   DDSI v2.1 -- Wire Protocol
DDS Standard Ecosystem
                                     Application                                                    Application




                                                                                                                                               Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                                                             2012             API                                  2012
                                              DDS RMI                                                   DDS RMI
                   2012        2010                                                                                        2010        2012
                                             ANSI C                 ISO C++             Java-5             Scala
OpenSplice DDS




                                                      2004                2010                   2010              201x
                    Security




                                                                                                                                    Security
                                X-Types




                                                                                                                          X-Types
                                                                              DDS                                  2004



                                                                       Wire Protocol
                                          DDSI-RTPS                           network                   DDSI-RTPS
                     2006                                                                                                           2006
DCAs with DDS




                                                                                           Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   DDS provides first class support for DCAs

                  ☐   DCAs Abstract Data Types are captured in DDS via Topics
OpenSplice DDS




                  ☐   DDS does not provide primitive support for specifying DCAs Arrows.
                      These are defined by the architect using her/his favorite
                      formalism / programming language
DDS Topics
                                                            “net.gva.VehiclePosition”
                 ☐   A Topic defines a typed data




                                                                                                      Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                     stream                                        Name
                 ☐   A Topic has associated a data
                     type and QoS
                                                                   Topic




                                                             Typ



                                                                             S
OpenSplice DDS




                                                                             Qo
                 ☐   The Topic name, type and QoS                                       DURABILITY,




                                                                e
                                                                                        DEADLINE,
                     defines the key functional and                                      PRIORITY,
                                                                                            …
                     non-functional invariants
                                                      struct Position2D {
                 ☐   Topics can be discovered or         long
                                                         long
                                                               vid; //@Key
                                                               x;
                     locally defined                  };
                                                         long  y;
DDS & Interoperability
OpenSplice DDS
DDS: Level 2 Interoperability




                                                                                            Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                    Semantic                     Common “Language”
                 Interoperability   Data Model           +
                                                  QoS Requirements
OpenSplice DDS




                                                                         Interoperability
                    Syntactic
                 Interoperability     DDSI       Wire Interoperability
OpenSplice DDS




   DDS
                                        Application


    API Standard
                                                                                                    DDS: Portability



                   Portability




                           Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
DDS: Extensibility &
OpenSplice DDS




                 Forward Compatibility
Extensibility




                                                                                      Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   DDS-based applications feature all the extensibility benefits
                      deriving from DCA
OpenSplice DDS




                  ☐   In addition, due to the built-in dynamic discovery, DDS-based
                      Systems are completely decoupled from deployment details
Forward Compatibility




                                                                                             Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   DDS supports Forward Compatibility, specifically, it allows for both
                      monotonic as well as generalized type extensions
OpenSplice DDS




                  ☐   Monotonic type extensions allow old systems to consume new
                      types as far as changes consist of additions to the tail of the type

                  ☐   Generalized type extensions allows attribute reordering and
                      removal
OpenSplice DDS




                 Efficiency
DDS Efficiency
                                                   OpenSplice DDS Performance Metrics
                      The DDS standard was




                                                                                        Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐
                      designed in such a way to     Latency
                      maximize time and space       ☐   15-20 usec Inter-Core Latency
                      efficiency                    ☐   75 usec over GBps Ethernet
OpenSplice DDS




                  ☐   OpenSplice DDS has been       Throughput
                      designed to minimize          ☐   Up to 10+M msg/sec inter-core
                      resource usage while
                      maximizing performance and    ☐   Up to 5M msg/sec inter node
                      scalability
Back to the Space Traveller
OpenSplice DDS
Example: Space Traveller                                                               [3/3]




                                                                                                                                   Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                               FlyingObject                                              FlyingObject
                  IO   pilot                     Dynamics      animate    Dynamics                      classify   Classification
                               Dynamics                                                    Dynamics
OpenSplice DDS




                                                                                              FlyingObject

                               FlyingObject   [FlyingObject]                                     Dynamics
                  IO   fire                     [Dynamics]
                                                                collide    [Collision]                        display   IO
                               Dynamics                                                      Classification

                                                                                                  Collision
Space Traveller Topic Types
                 //@Nested               //@Nested              enum Classifier {
                 struct Bounds {         struct Vector {           UNKNOWN,




                                                                                          Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                     long width;             long x;               FRIEND,
                     long height;            long y;               THREAT};
                 };                      };
                                                                struct Classification {
                 struct FlyingObject {   struct Dynamics {          long oid; // @key
                     long oid; //@Key        long oid; //@Key       Classifier kind;
OpenSplice DDS




                     long kind;              Vector pos;        };
                     Bounds bounds;          Vector speed;
                 };                      };                     struct Collision {
                                                                    long oid;
                                                                    long coid;
                                                                };
Real World Interoperability
OpenSplice DDS
SESAR: The Single Sky




                                                     Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   Adopted the DDS standard as
                      the foundation of their DCA
OpenSplice DDS




                  ☐   Defined and standardized a
                      domain specific Common
                      Information Model concerning
                      flights and their management
City	
  Service	
  -­‐	
  Architecture

                               Urbio&ca	
  
                                                                          APPLICATIONS
                                                                            User,	
  City	
  agent


Urbio2ca	
  MESH	
  network



                                              City	
  Message	
  BUS	
  –	
  Opensplice	
  DDS           Data	
  
                                                                                                       warehouse




                                                                              Esper	
  –	
  Park	
  
                                                           systems
                                                           Exis2ng	
  



                                                                                Control
UK Generic Vehicle Architecture




                                                     Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   Adopted the DDS standard
                      as the technology at the
                      foundation of next
                      generation military vehicles
OpenSplice DDS




                  ☐   Defined a domain specific
                      Common Information
                      Model -- the GVA
                      Information Model
OpenSplice DDS




                 Summing Up
Concluding Remarks




                                                                                                Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  ☐   Interoperability, Extensibility and Efficiency is key for an increasing
                      number of applications

                  ☐   Data Centric Architectures (DCAs) provide an architectural
OpenSplice DDS




                      framework that facilitates the design of systems that are
                      interoperable, extensible and efficient

                  ☐   DDS is the middleware infrastructure that most naturally supports
                      DCAs
OpenSplice DDS
References




                                                                                                                          Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                  OpenSplice | DDS                                                    Escalier
                  ¥ #1 OMG DDS Implementation   ¥ Fastest growing JVM Language      ¥ Scala API for OpenSplice DDS
                  ¥ Open Source                 ¥ Open Source                       ¥ Open Source
                  ¥ www.opensplice.org          ¥ www.scala-lang.org                ¥ github.com/kydos/escalier
OpenSplice DDS




                 ¥ Simple C++ API for DDS       ¥ DDS-PSM-Java for OpenSplice DDS   ¥ DDS-based Advanced Distributed
                 ¥ Open Source                  ¥ Open Source                          Algorithms Toolkit
                 ¥ github.com/kydos/simd-cxx    ¥ github.com/kydos/simd-java        ¥ Open Source
                                                                                      ¥ github.com/kydos/dada
:: Connect with Us ::



                   ¥opensplice.com             ¥forums.opensplice.org
                                                                                         ¥@acorsaro
                   ¥opensplice.org             ¥opensplicedds@prismtech.com                 ¥@prismtech
OpenSplice DDS




                                                                                         ¥ crc@prismtech.com
                                                                                         ¥sales@prismtech.com
                 ¥youtube.com/opensplicetube          ¥slideshare.net/angelo.corsaro

More Related Content

PPTX
The evolution of telecommunication
PPTX
Introduction to 3G technology
PDF
Mobile satellite communication
PDF
Introduction to Software Defined WANs
PPSX
Design & Implementation of a Cube Satellite
PPTX
Nano satellite
PPTX
Cognitive radio networks
The evolution of telecommunication
Introduction to 3G technology
Mobile satellite communication
Introduction to Software Defined WANs
Design & Implementation of a Cube Satellite
Nano satellite
Cognitive radio networks

What's hot (11)

PPTX
EC8002 Unit 4 Interworking objectives and requirements
PDF
LoRa and NB-IoT
PDF
6G Training Course Part 6: 6G Groups
PDF
Efficient video perception through AI
PPTX
COGNITIVE RADIO
PPTX
What is LoRaWaN
PPTX
HF Communication Basics Part 2
PDF
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
PPT
MIMO OFDM
PPTX
Hybrid wireless network -0th review
PDF
Beginners: 5G: A simple explanation
EC8002 Unit 4 Interworking objectives and requirements
LoRa and NB-IoT
6G Training Course Part 6: 6G Groups
Efficient video perception through AI
COGNITIVE RADIO
What is LoRaWaN
HF Communication Basics Part 2
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
MIMO OFDM
Hybrid wireless network -0th review
Beginners: 5G: A simple explanation
Ad

Viewers also liked (20)

PPTX
Interoperability for Teaming and Autonomy
PPT
Interoperability
PDF
ikp321-05
PDF
Kamloops Gr 2.3.Reading.Oct 2014
PDF
IKH331-07-java-rmi
PDF
IKH331-01-pendahuluan
PPTX
Plan Your Retirement & Not Uncle Sam's
PPS
Conflict Resolution (Part I)
PPT
Good thoughts
PDF
PCI Compliance: What You Need to Know
PDF
BJF.Delta.Nov Redesigned ELA Curriculum K-3
PDF
Ifmasv Roundtable Sj City College09 May12
PPTX
Office 365 + Windows Azure (del 2)
PPTX
Sql Server Optimizer Screenshots
PPTX
A Similarity Measure for Large Color Differences
PDF
Option a kranjska gora
PDF
Argus & Associates Brochure
PPTX
PPT
Pa Bio 10 29 08
PPTX
Africa 6A
Interoperability for Teaming and Autonomy
Interoperability
ikp321-05
Kamloops Gr 2.3.Reading.Oct 2014
IKH331-07-java-rmi
IKH331-01-pendahuluan
Plan Your Retirement & Not Uncle Sam's
Conflict Resolution (Part I)
Good thoughts
PCI Compliance: What You Need to Know
BJF.Delta.Nov Redesigned ELA Curriculum K-3
Ifmasv Roundtable Sj City College09 May12
Office 365 + Windows Azure (del 2)
Sql Server Optimizer Screenshots
A Similarity Measure for Large Color Differences
Option a kranjska gora
Argus & Associates Brochure
Pa Bio 10 29 08
Africa 6A
Ad

Similar to Interoperable, Extensible and Efficient System Architectures (20)

PDF
The OpenSplice DDS Revolution -- Episode II
PDF
Tuning and Troubleshooting OpenSplice DDS Applications
PDF
DDS in SCADA, Utilities, Smart Grid and Smart Cities
PDF
DDS Everywhere
PDF
Advanced OpenSplice Programming - Part I
PDF
OpenSplice DDS v6
PDF
Building the Internet of Things
PDF
DDS Made Simple
PDF
DDS QoS Unleashed
PDF
DDS on the Web: Quick Recipes for Real-Time Web Applications
PDF
Software curation as a digital preservation service
PDF
Cloudand Xchange
PDF
Tweeting with OpenSplice DDS
PDF
OMG DDS: The Data Distribution Service for Real-Time Systems
PDF
OMG DDS Tutorial - Part I
PDF
20 Tips for OpenSplice Newbies
PDF
The Data Distribution Service
PDF
DDS Interoperability Demo
PDF
Roadmap and Technology Incubators
PDF
Interoperability for Intelligence Applications using Data-Centric Middleware
The OpenSplice DDS Revolution -- Episode II
Tuning and Troubleshooting OpenSplice DDS Applications
DDS in SCADA, Utilities, Smart Grid and Smart Cities
DDS Everywhere
Advanced OpenSplice Programming - Part I
OpenSplice DDS v6
Building the Internet of Things
DDS Made Simple
DDS QoS Unleashed
DDS on the Web: Quick Recipes for Real-Time Web Applications
Software curation as a digital preservation service
Cloudand Xchange
Tweeting with OpenSplice DDS
OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS Tutorial - Part I
20 Tips for OpenSplice Newbies
The Data Distribution Service
DDS Interoperability Demo
Roadmap and Technology Incubators
Interoperability for Intelligence Applications using Data-Centric Middleware

More from Angelo Corsaro (20)

PDF
Zenoh: The Genesis
PDF
zenoh: The Edge Data Fabric
PDF
Zenoh Tutorial
PDF
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
PDF
zenoh: zero overhead pub/sub store/query compute
PDF
zenoh -- the ZEro Network OverHead protocol
PDF
zenoh -- the ZEro Network OverHead protocol
PDF
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
PDF
Eastern Sicily
PDF
fog05: The Fog Computing Infrastructure
PDF
Cyclone DDS: Sharing Data in the IoT Age
PDF
fog05: The Fog Computing Platform
PDF
Programming in Scala - Lecture Four
PDF
Programming in Scala - Lecture Three
PDF
Programming in Scala - Lecture Two
PDF
Programming in Scala - Lecture One
PDF
Data Sharing in Extremely Resource Constrained Envionrments
PDF
The DDS Security Standard
PDF
The Data Distribution Service
PDF
RUSTing -- Partially Ordered Rust Programming Ruminations
Zenoh: The Genesis
zenoh: The Edge Data Fabric
Zenoh Tutorial
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
zenoh: zero overhead pub/sub store/query compute
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Eastern Sicily
fog05: The Fog Computing Infrastructure
Cyclone DDS: Sharing Data in the IoT Age
fog05: The Fog Computing Platform
Programming in Scala - Lecture Four
Programming in Scala - Lecture Three
Programming in Scala - Lecture Two
Programming in Scala - Lecture One
Data Sharing in Extremely Resource Constrained Envionrments
The DDS Security Standard
The Data Distribution Service
RUSTing -- Partially Ordered Rust Programming Ruminations

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
cuic standard and advanced reporting.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
cuic standard and advanced reporting.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation_ Review paper, used for researhc scholars
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Empathic Computing: Creating Shared Understanding
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)

Interoperable, Extensible and Efficient System Architectures

  • 1. Interoperable, Extensible and Efficient System Architectures OpenSplice DDS Angelo CORSARO, Ph.D. Chief Technology Officer OMG DDS Sig Co-Chair PrismTech angelo.corsaro@prismtech.com
  • 3. SESAR: The Single Sky ☐ Enable operational interoperability Copyright  2011,  PrismTech  –    All  Rights  Reserved. across ATM/ATC in EU ☐ Allow information to flow seamlessly within the ATC/ATM OpenSplice DDS ecosystem and across Europe ☐ Ensure the system is incrementally extensible and evolvable ☐ Ensure the system makes efficient use of resources such as network
  • 4. Smart City / Smart Grid Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Make relevant information available in real-time to an open ended number of OpenSplice DDS consumers ☐ Ensure interoperability with third parties, efficient use of resources and extensibility
  • 6. Defining Interoperability Copyright  2011,  PrismTech  –    All  Rights  Reserved. The ability of two or more systems or components to exchange information and to use the information that has been exchanged. OpenSplice DDS
  • 7. Syntactic Interoperability Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ The ability of two or more systems to communicate and exchange data ☐ Requires specified data formats and communication protocols OpenSplice DDS ☐ Syntactical Interoperability is a necessary condition for higher- level of interoperability
  • 8. Semantic Interoperability Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ The ability to meaningfully and accurately interpret exchanged information ☐ Semantic interoperability requires communication parties to agree OpenSplice DDS on a common information model
  • 9. Interoperability in Summary Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Interoperability requires agreements at a syntactic and semantic level ☐ Syntactic Interoperability is commonly achieved by agreeing OpenSplice DDS a communication protocol and a data representation standard ☐ Semantic Interoperability is commonly achieved by agreeing on a Common Information Model
  • 10. Measuring Interoperability Copyright  2011,  PrismTech  –    All  Rights  Reserved. Based on the previous definitions we can define 3 levels of interoperability: OpenSplice DDS ☐ Level 0: No Interoperability (closed interfaces) ☐ Level 1: Syntactic Interoperability (open protocol/data format) ☐ Level 2: Semantic Interoperability (common information model)
  • 11. Example: Syntactic Interoperability ☐ Suppose that we define legal messages as any word created over alphabet, more formally: Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ ∑ = {a, b, ..., z, ?, !} Che ora? ☐ words := { x ∈ ∑ } + ☐ sentence = words+ Sapresti dirmi OpenSplice DDS che ore sono? What? ☐ Example: ☐ Can Talk and hear w/o problems ☐ Don’t necessarily “understand”
  • 12. Example: Semantic Interoperability ☐ Suppose now that we constrain our grammar to a subset of legal Copyright  2011,  PrismTech  –    All  Rights  Reserved. English phrases: Thanks! Excuse me, do you OpenSplice DDS Sure, it’s 11 know the time? o’clock.
  • 13. OpenSplice DDS Extensibility
  • 14. Defining Extensibility Copyright  2011,  PrismTech  –    All  Rights  Reserved. Extensibility is a systemic measure of the ability to extend a system and the level of effort required to implement the extension Extensions can be through the addition of new functionality or the OpenSplice DDS modification of an existing functionality Modularity and loose coupling foster extensibility
  • 15. Forward Compatibility Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Forward compatibility (at times considered as part of extensibility) OpenSplice DDS aims at the ability of a system to gracefully accept input intended for a later version of the system
  • 16. Measuring Extensibility ☐ Extensibility can be measured w.r.t. the cost associated with Copyright  2011,  PrismTech  –    All  Rights  Reserved. adding a new functionality to the system OpenSplice DDS Extensibility    =  CDNF/(CINF  +  CDNF) ☐ Where: ☐ CDNF: Cost of developing the new feature ☐ CINF: Cost of integration for the new feature ☐ For any system: 0 < Extensibility ≤ 1
  • 17. Measuring Forward Compatibility Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ For simplicity we will assume that forward compatibility is binary, thus either is supported or not OpenSplice DDS ☐ In general, many systems support forward compatibility under certain conditions. Yet for our discussion it is OK to consider it as a binary property.
  • 18. OpenSplice DDS Efficiency
  • 19. Defining Efficiency Copyright  2011,  PrismTech  –    All  Rights  Reserved. In general terms, efficiency describes the extent to which a valuable resource, such as time, space, network bandwidth, etc., is well used for the intended task of purpose OpenSplice DDS
  • 20. Measuring Efficiency ☐ Efficiency can be measured as follows: Copyright  2011,  PrismTech  –    All  Rights  Reserved. Efficiency  =  CO/CA OpenSplice DDS ☐ Where: ☐ CO: Optimal Cost to perform the given task/operation ☐ CA: Actual Cost to perform the given task/action ☐ For any system: 0 < Efficiency ≤ 1
  • 21. Example: Data Encoding Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ As an example of efficiency, let’s consider different data encoding for a relatively simple Temperature Sensor ☐ Let’s assume a very simple temperature sensor defined as OpenSplice DDS follows: struct  TempSensor  {      short  temp;      short  hum; };
  • 22. Example: Data Encoding Copyright  2011,  PrismTech  –    All  Rights  Reserved. TempSensor  t  =  {35,  75}; CDR JSON OpenSplice DDS byte 0 1 2 3 byte 0 1 2 3 { “ t e 0 23 0 4B m p “ : 3 5 , “ h u m “ 4  bytes : 7 5 } 16  bytes
  • 23. Example: Data Encoding ☐ Let’s compute now the efficiency. If we ignore variable length Copyright  2011,  PrismTech  –    All  Rights  Reserved. encoding, then the cost of encoding two short integers is 4 bytes, thus CO = 4 bytes ☐ CDR Efficiency. The actual cost of encoding our temperature sensor OpenSplice DDS in CDR was CA = 4 bytes this leads to EfficiencyCDR = 4/4 = 1 ☐ JSON Efficiency. The actual cost of encoding our temperature sensor in JSON was CA = 16 bytes this leads to EfficiencyJSON = 4/16 = 0.25 ☐ Note: We have taken a few short cuts here since a formally sound derivation of CO should have considered the entropy of the data source. Instead we have silently assumed a binary entropy function.
  • 25. Data-Centric Architecture (DCA) Abstract Definition A Data Centric Architecture consists of: Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Abstract Data Types: A, B, C, ... ☐ Arrows: f, g, h, ... where arrows satisfy the following properties: OpenSplice DDS Given f: A → B, g: B → C, and h: C → D then the following holds true: ∃ g ∘ f: A → C [Composition] ∃ 1A : A → A [Identity Arrow] h ∘ (g ∘ f) = (h ∘ g) ∘ f [Associativity] f ∘ 1A = f = 1B ∘ f [Unit] A Data Centric Architecture is a Category
  • 26. Data-Centric Architecture (DCA) Copyright  2011,  PrismTech  –    All  Rights  Reserved. The abstract definition of a Data-Centric Architecture formally captures its key properties: ☐ The Abstraction Barrier is defined in terms of Abstract Data Types OpenSplice DDS ☐ The System Behaviour is specified in terms of transformations (functions or arrows) over these Abstract Data Types Note: From this emerges a natural relationship between DCA and Functional Programming Languages
  • 27. Example: Space Traveller [1/3] ☐ Suppose we want to create a distributed game in which we have Copyright  2011,  PrismTech  –    All  Rights  Reserved. (some) UFOs that are trying to destroy our spaceship ☐ UFO can be our allies/enemies and can be played by other players or OpenSplice DDS computers ☐ Some UFOs, might just be space travellers and should not be destroyed ☐ The goal of the game is to destroy the UFOs that have been classified as threats
  • 28. Example: Space Traveller [2/3] ☐ The DCA for this game could be described as follows Copyright  2011,  PrismTech  –    All  Rights  Reserved. (keeping it simple...) Data Types Arrows OpenSplice DDS ☐ FlyingObject ☐ animate: Dynamics → Dynamics ☐ Dynamics ☐ classify: FlyingObject x Dynamics → Classification ☐ Classification ☐ collide: [FlyingObject x Dynamics] → [Collision] ☐ Collision ☐ pilot: IO → Dynamics x FlyingObject ☐ fire: IO → FlyingObject x Dynamics ☐ display: FlyingObject x Dynamics x Classification x Collision → IO
  • 29. Example: Space Traveller [3/3] Copyright  2011,  PrismTech  –    All  Rights  Reserved. FlyingObject FlyingObject IO pilot Dynamics animate Dynamics classify Classification Dynamics Dynamics OpenSplice DDS FlyingObject FlyingObject [FlyingObject] Dynamics IO fire [Dynamics] collide [Collision] display IO Dynamics Classification Collision
  • 30. Data-Centric vs. Service-Centric Data-Centric and Service-Centric architectures, such as SOA, Distributed Objects, etc., differ in several dimensions: Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Abstraction Barrier: ☐ Data-Centric architectures rely on data abstractions ☐ Service-Centric architectures rely on service abstractions OpenSplice DDS ☐ Level of Coupling ☐ Data-Centric architectures rely solely on the shared knowledge of abstract data types (agree on the “what”) ☐ Service-Centric architectures rely on the shared knowledge of operational interfaces along with the knowledge of the service provider and of its existence (agree on “what”, “who”, and “when”)
  • 31. DCA Benefits ☐ Loose Coupling Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Anonymicity (e.g. only things to be known are the data types and not who produces/consumes them) Composability (especially when combined with functional OpenSplice DDS ☐ languages) ☐ Extensibility ☐ Ease of Integration ☐ Performance (easier to parallelize)
  • 32. DCA Interoperability Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ To enable Interoperability DCA should rely on middleware technology that provides a Level 2 Interoperability OpenSplice DDS ☐ In other terms, middleware technologies that define ☐ open/standard communication protocols ☐ open/standard data representation format, and ☐ open/standard ways of describing a Common Information Model
  • 33. DCA Extensibility ☐ Extensibility is enabled by DCA through modularity, composability Copyright  2011,  PrismTech  –    All  Rights  Reserved. and loose coupling ☐ Modularity is tied to the granularity of the “arrows/functions” that defined in the system OpenSplice DDS ☐ Composability follows from the properties (refer to definition) of DCA ☐ Loose coupling follows from the fact that the only “contract” between the different element of a system are the abstract data types and nothing else. Neither topological nor existential informations, e.g. it does not matter if there are consumer for a given type T nor how many of those are there and where they are located
  • 34. DCA Forward Compatibility Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Forward compatibility depends entirely from the technology used to implement the DCA OpenSplice DDS ☐ However, the presence of a typed Common Information Model can facilitate the implementation of efficient and safe “forward compatibility” mechanism
  • 35. Efficiency Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ The efficiency of a DCA depends on OpenSplice DDS ☐ The definition of the Common Information Model (e.g. its level of normalization), and ☐ The efficiency of the infrastructure used to implement the DCA
  • 36. OpenSplice DDS DDS and DCA
  • 37. DDS Core Standard Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ DDS is a family of Application standards addressing the Data Centric Publish Subscriber (DCPS) communication needs of Content Ownership Durability Data Centric Architectures Subscription OpenSplice DDS Minimum Profile ☐ The two standards at the core are: DDS Interoperability Wire Protocol - DDSI-RTPS ☐ DDS v1.2 -- API UDP/IP Application ☐ DDSI v2.1 -- Wire Protocol
  • 38. DDS Standard Ecosystem Application Application Copyright  2011,  PrismTech  –    All  Rights  Reserved. 2012 API 2012 DDS RMI DDS RMI 2012 2010 2010 2012 ANSI C ISO C++ Java-5 Scala OpenSplice DDS 2004 2010 2010 201x Security Security X-Types X-Types DDS 2004 Wire Protocol DDSI-RTPS network DDSI-RTPS 2006 2006
  • 39. DCAs with DDS Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ DDS provides first class support for DCAs ☐ DCAs Abstract Data Types are captured in DDS via Topics OpenSplice DDS ☐ DDS does not provide primitive support for specifying DCAs Arrows. These are defined by the architect using her/his favorite formalism / programming language
  • 40. DDS Topics “net.gva.VehiclePosition” ☐ A Topic defines a typed data Copyright  2011,  PrismTech  –    All  Rights  Reserved. stream Name ☐ A Topic has associated a data type and QoS Topic Typ S OpenSplice DDS Qo ☐ The Topic name, type and QoS DURABILITY, e DEADLINE, defines the key functional and PRIORITY, … non-functional invariants struct Position2D { ☐ Topics can be discovered or long long vid; //@Key x; locally defined }; long y;
  • 42. DDS: Level 2 Interoperability Copyright  2011,  PrismTech  –    All  Rights  Reserved. Semantic Common “Language” Interoperability Data Model + QoS Requirements OpenSplice DDS Interoperability Syntactic Interoperability DDSI Wire Interoperability
  • 43. OpenSplice DDS DDS Application API Standard DDS: Portability Portability Copyright  2011,  PrismTech  –    All  Rights  Reserved.
  • 44. DDS: Extensibility & OpenSplice DDS Forward Compatibility
  • 45. Extensibility Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ DDS-based applications feature all the extensibility benefits deriving from DCA OpenSplice DDS ☐ In addition, due to the built-in dynamic discovery, DDS-based Systems are completely decoupled from deployment details
  • 46. Forward Compatibility Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ DDS supports Forward Compatibility, specifically, it allows for both monotonic as well as generalized type extensions OpenSplice DDS ☐ Monotonic type extensions allow old systems to consume new types as far as changes consist of additions to the tail of the type ☐ Generalized type extensions allows attribute reordering and removal
  • 47. OpenSplice DDS Efficiency
  • 48. DDS Efficiency OpenSplice DDS Performance Metrics The DDS standard was Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ designed in such a way to Latency maximize time and space ☐ 15-20 usec Inter-Core Latency efficiency ☐ 75 usec over GBps Ethernet OpenSplice DDS ☐ OpenSplice DDS has been Throughput designed to minimize ☐ Up to 10+M msg/sec inter-core resource usage while maximizing performance and ☐ Up to 5M msg/sec inter node scalability
  • 49. Back to the Space Traveller OpenSplice DDS
  • 50. Example: Space Traveller [3/3] Copyright  2011,  PrismTech  –    All  Rights  Reserved. FlyingObject FlyingObject IO pilot Dynamics animate Dynamics classify Classification Dynamics Dynamics OpenSplice DDS FlyingObject FlyingObject [FlyingObject] Dynamics IO fire [Dynamics] collide [Collision] display IO Dynamics Classification Collision
  • 51. Space Traveller Topic Types //@Nested //@Nested enum Classifier { struct Bounds { struct Vector { UNKNOWN, Copyright  2011,  PrismTech  –    All  Rights  Reserved. long width; long x; FRIEND, long height; long y; THREAT}; }; }; struct Classification { struct FlyingObject { struct Dynamics { long oid; // @key long oid; //@Key long oid; //@Key Classifier kind; OpenSplice DDS long kind; Vector pos; }; Bounds bounds; Vector speed; }; }; struct Collision { long oid; long coid; };
  • 53. SESAR: The Single Sky Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Adopted the DDS standard as the foundation of their DCA OpenSplice DDS ☐ Defined and standardized a domain specific Common Information Model concerning flights and their management
  • 54. City  Service  -­‐  Architecture Urbio&ca   APPLICATIONS User,  City  agent Urbio2ca  MESH  network City  Message  BUS  –  Opensplice  DDS Data   warehouse Esper  –  Park   systems Exis2ng   Control
  • 55. UK Generic Vehicle Architecture Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Adopted the DDS standard as the technology at the foundation of next generation military vehicles OpenSplice DDS ☐ Defined a domain specific Common Information Model -- the GVA Information Model
  • 56. OpenSplice DDS Summing Up
  • 57. Concluding Remarks Copyright  2011,  PrismTech  –    All  Rights  Reserved. ☐ Interoperability, Extensibility and Efficiency is key for an increasing number of applications ☐ Data Centric Architectures (DCAs) provide an architectural OpenSplice DDS framework that facilitates the design of systems that are interoperable, extensible and efficient ☐ DDS is the middleware infrastructure that most naturally supports DCAs
  • 59. References Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSplice | DDS Escalier ¥ #1 OMG DDS Implementation ¥ Fastest growing JVM Language ¥ Scala API for OpenSplice DDS ¥ Open Source ¥ Open Source ¥ Open Source ¥ www.opensplice.org ¥ www.scala-lang.org ¥ github.com/kydos/escalier OpenSplice DDS ¥ Simple C++ API for DDS ¥ DDS-PSM-Java for OpenSplice DDS ¥ DDS-based Advanced Distributed ¥ Open Source ¥ Open Source Algorithms Toolkit ¥ github.com/kydos/simd-cxx ¥ github.com/kydos/simd-java ¥ Open Source ¥ github.com/kydos/dada
  • 60. :: Connect with Us :: ¥opensplice.com ¥forums.opensplice.org ¥@acorsaro ¥opensplice.org ¥opensplicedds@prismtech.com ¥@prismtech OpenSplice DDS ¥ crc@prismtech.com ¥sales@prismtech.com ¥youtube.com/opensplicetube ¥slideshare.net/angelo.corsaro