SlideShare a Scribd company logo
1 of 60
Download to read offline
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

What's hot

Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)Amazon Web Services Japan
 
Introduction to Mulesoft
Introduction to MulesoftIntroduction to Mulesoft
Introduction to Mulesoftvenkata20k
 
[AWSマイスターシリーズ] AWS OpsWorks
[AWSマイスターシリーズ] AWS OpsWorks[AWSマイスターシリーズ] AWS OpsWorks
[AWSマイスターシリーズ] AWS OpsWorksAmazon Web Services Japan
 
OSPF- Multi area
OSPF- Multi area OSPF- Multi area
OSPF- Multi area Ahmed Ali
 
富士ゼロックスのクラウド活用で起こした変革
富士ゼロックスのクラウド活用で起こした変革富士ゼロックスのクラウド活用で起こした変革
富士ゼロックスのクラウド活用で起こした変革Yuta Watanabe
 
CCNA v6.0 ITN - Chapter 01
CCNA v6.0 ITN - Chapter 01CCNA v6.0 ITN - Chapter 01
CCNA v6.0 ITN - Chapter 01Irsandi Hasan
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...Amazon Web Services Japan
 
PostgreSQLのパスワードの謎を追え!
PostgreSQLのパスワードの謎を追え!PostgreSQLのパスワードの謎を追え!
PostgreSQLのパスワードの謎を追え!Takashi Meguro
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~真乙 九龍
 
AWS CDKに魅入られた PHPer がオススメする
AWS CDKに魅入られた PHPer がオススメするAWS CDKに魅入られた PHPer がオススメする
AWS CDKに魅入られた PHPer がオススメするTaichi Inaba
 
Autonomous Database で Oracle Database19c 新機能 を味わう。
Autonomous Database で Oracle Database19c 新機能 を味わう。Autonomous Database で Oracle Database19c 新機能 を味わう。
Autonomous Database で Oracle Database19c 新機能 を味わう。歩 柴田
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...Alfresco Software
 
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...Amazon Web Services Japan
 
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]DeNA
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Kazuya Sugimoto
 
ニワトリでもわかるECS入門
ニワトリでもわかるECS入門ニワトリでもわかるECS入門
ニワトリでもわかるECS入門Yoshiki Kobayashi
 

What's hot (20)

Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
 
Introduction to Mulesoft
Introduction to MulesoftIntroduction to Mulesoft
Introduction to Mulesoft
 
[AWSマイスターシリーズ] AWS OpsWorks
[AWSマイスターシリーズ] AWS OpsWorks[AWSマイスターシリーズ] AWS OpsWorks
[AWSマイスターシリーズ] AWS OpsWorks
 
OSPF- Multi area
OSPF- Multi area OSPF- Multi area
OSPF- Multi area
 
富士ゼロックスのクラウド活用で起こした変革
富士ゼロックスのクラウド活用で起こした変革富士ゼロックスのクラウド活用で起こした変革
富士ゼロックスのクラウド活用で起こした変革
 
CCNA v6.0 ITN - Chapter 01
CCNA v6.0 ITN - Chapter 01CCNA v6.0 ITN - Chapter 01
CCNA v6.0 ITN - Chapter 01
 
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
 
PostgreSQLのパスワードの謎を追え!
PostgreSQLのパスワードの謎を追え!PostgreSQLのパスワードの謎を追え!
PostgreSQLのパスワードの謎を追え!
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
 
Ospf
OspfOspf
Ospf
 
AWS CDKに魅入られた PHPer がオススメする
AWS CDKに魅入られた PHPer がオススメするAWS CDKに魅入られた PHPer がオススメする
AWS CDKに魅入られた PHPer がオススメする
 
Autonomous Database で Oracle Database19c 新機能 を味わう。
Autonomous Database で Oracle Database19c 新機能 を味わう。Autonomous Database で Oracle Database19c 新機能 を味わう。
Autonomous Database で Oracle Database19c 新機能 を味わう。
 
AWS CLIでAssumeRole
AWS CLIでAssumeRoleAWS CLIでAssumeRole
AWS CLIでAssumeRole
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
 
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
 
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
 
API Security Lifecycle
API Security LifecycleAPI Security Lifecycle
API Security Lifecycle
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
 
SOA Principles : 5. service abstraction
SOA Principles : 5. service abstractionSOA Principles : 5. service abstraction
SOA Principles : 5. service abstraction
 
ニワトリでもわかるECS入門
ニワトリでもわかるECS入門ニワトリでもわかるECS入門
ニワトリでもわかるECS入門
 

Viewers also liked

Kamloops Gr 2.3.Reading.Oct 2014
Kamloops Gr 2.3.Reading.Oct 2014Kamloops Gr 2.3.Reading.Oct 2014
Kamloops Gr 2.3.Reading.Oct 2014Faye Brownlie
 
Conflict Resolution (Part I)
Conflict Resolution (Part I)Conflict Resolution (Part I)
Conflict Resolution (Part I)Jahad Farahmand
 
PCI Compliance: What You Need to Know
PCI Compliance: What You Need to KnowPCI Compliance: What You Need to Know
PCI Compliance: What You Need to KnowSasha Nunke
 
BJF.Delta.Nov Redesigned ELA Curriculum K-3
BJF.Delta.Nov Redesigned ELA Curriculum K-3BJF.Delta.Nov Redesigned ELA Curriculum K-3
BJF.Delta.Nov Redesigned ELA Curriculum K-3Faye Brownlie
 
Ifmasv Roundtable Sj City College09 May12
Ifmasv Roundtable   Sj City College09 May12Ifmasv Roundtable   Sj City College09 May12
Ifmasv Roundtable Sj City College09 May12AndyFuhrman
 
Office 365 + Windows Azure (del 2)
Office 365 + Windows Azure (del 2)Office 365 + Windows Azure (del 2)
Office 365 + Windows Azure (del 2)Wictor Wilén
 
Sql Server Optimizer Screenshots
Sql Server Optimizer ScreenshotsSql Server Optimizer Screenshots
Sql Server Optimizer ScreenshotsArthur Graus
 
A Similarity Measure for Large Color Differences
A Similarity Measure for Large Color DifferencesA Similarity Measure for Large Color Differences
A Similarity Measure for Large Color Differencesnmoroney
 
Option a kranjska gora
Option a kranjska goraOption a kranjska gora
Option a kranjska goraRobert Logie
 
Argus & Associates Brochure
Argus & Associates BrochureArgus & Associates Brochure
Argus & Associates Brochureargusgos
 
Pa Bio 10 29 08
Pa Bio 10 29 08Pa Bio 10 29 08
Pa Bio 10 29 08thess1121
 
Africa 6A
Africa 6AAfrica 6A
Africa 6AC FM
 

Viewers also liked (20)

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

Similar to Interoperable, Extensible and Efficient System Architectures

Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsAngelo Corsaro
 
Advanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAdvanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAngelo Corsaro
 
The OpenSplice DDS Revolution -- Episode II
The OpenSplice DDS Revolution -- Episode IIThe OpenSplice DDS Revolution -- Episode II
The OpenSplice DDS Revolution -- Episode IIAngelo Corsaro
 
DDS + Android = OpenSplice Mobile
DDS + Android = OpenSplice MobileDDS + Android = OpenSplice Mobile
DDS + Android = OpenSplice MobileAngelo Corsaro
 
Got Big Data? Get OpenSplice!
Got Big Data? Get OpenSplice!Got Big Data? Get OpenSplice!
Got Big Data? Get OpenSplice!Angelo 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
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLAAngelo Corsaro
 
Tweeting with OpenSplice DDS
Tweeting with OpenSplice DDSTweeting with OpenSplice DDS
Tweeting with OpenSplice DDSAngelo Corsaro
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaAngelo Corsaro
 
DDS on the Web: Quick Recipes for Real-Time Web Applications
DDS on the Web: Quick Recipes for Real-Time Web ApplicationsDDS on the Web: Quick Recipes for Real-Time Web Applications
DDS on the Web: Quick Recipes for Real-Time Web ApplicationsAngelo Corsaro
 
Building and Deploying OpenSplice DDS Based Cloud Messaging
Building and Deploying OpenSplice DDS Based Cloud Messaging Building and Deploying OpenSplice DDS Based Cloud Messaging
Building and Deploying OpenSplice DDS Based Cloud Messaging Angelo Corsaro
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDSAngelo Corsaro
 
Cyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsCyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsZettaScaleTechnology
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDSAngelo Corsaro
 
High Performance Distributed Computing with DDS and Scala
High Performance Distributed Computing with DDS and ScalaHigh Performance Distributed Computing with DDS and Scala
High Performance Distributed Computing with DDS and ScalaAngelo Corsaro
 

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

Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS Applications
 
Advanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAdvanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part I
 
DDS Everywhere
DDS EverywhereDDS Everywhere
DDS Everywhere
 
DDS Made Simple
DDS Made SimpleDDS Made Simple
DDS Made Simple
 
OpenSplice DDS v6
OpenSplice DDS v6OpenSplice DDS v6
OpenSplice DDS v6
 
The OpenSplice DDS Revolution -- Episode II
The OpenSplice DDS Revolution -- Episode IIThe OpenSplice DDS Revolution -- Episode II
The OpenSplice DDS Revolution -- Episode II
 
DDS + Android = OpenSplice Mobile
DDS + Android = OpenSplice MobileDDS + Android = OpenSplice Mobile
DDS + Android = OpenSplice Mobile
 
Got Big Data? Get OpenSplice!
Got Big Data? Get OpenSplice!Got Big Data? Get OpenSplice!
Got Big Data? Get OpenSplice!
 
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
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLA
 
Tweeting with OpenSplice DDS
Tweeting with OpenSplice DDSTweeting with OpenSplice DDS
Tweeting with OpenSplice DDS
 
Cloudand Xchange
Cloudand XchangeCloudand Xchange
Cloudand Xchange
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and Scala
 
DDS on the Web: Quick Recipes for Real-Time Web Applications
DDS on the Web: Quick Recipes for Real-Time Web ApplicationsDDS on the Web: Quick Recipes for Real-Time Web Applications
DDS on the Web: Quick Recipes for Real-Time Web Applications
 
Building and Deploying OpenSplice DDS Based Cloud Messaging
Building and Deploying OpenSplice DDS Based Cloud Messaging Building and Deploying OpenSplice DDS Based Cloud Messaging
Building and Deploying OpenSplice DDS Based Cloud Messaging
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
Cyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsCyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The Origins
 
DDS QoS Unleashed
DDS QoS UnleashedDDS QoS Unleashed
DDS QoS Unleashed
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
 
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
 

More from Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo 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
 

More from 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
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 

Recently uploaded

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
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
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
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
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
 

Recently uploaded (20)

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
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
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...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
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
 

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