SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Concurrency Control Techniques
Concurrency Control TechniquesConcurrency Control Techniques
Concurrency Control TechniquesRaj vardhan
 
DIGITAL LIBRARY ARCHITECTURE
DIGITAL LIBRARY ARCHITECTUREDIGITAL LIBRARY ARCHITECTURE
DIGITAL LIBRARY ARCHITECTUREsarika meher
 
Applying Digital Library Metadata Standards
Applying Digital Library Metadata StandardsApplying Digital Library Metadata Standards
Applying Digital Library Metadata StandardsJenn Riley
 
Transaction Processing Concept
Transaction Processing ConceptTransaction Processing Concept
Transaction Processing ConceptNishant Munjal
 
International System for Agricultural Science and Technology (AGRIS) by Gaura...
International System for Agricultural Science and Technology (AGRIS) by Gaura...International System for Agricultural Science and Technology (AGRIS) by Gaura...
International System for Agricultural Science and Technology (AGRIS) by Gaura...Library and Information Science Blog
 
Digital Libraries
Digital LibrariesDigital Libraries
Digital LibrariesJack Eapen
 
Classaurus classification
Classaurus classificationClassaurus classification
Classaurus classificationavid
 
LIS531M: Cataloging Microforms & Manuscripts
LIS531M: Cataloging Microforms & ManuscriptsLIS531M: Cataloging Microforms & Manuscripts
LIS531M: Cataloging Microforms & ManuscriptsJoshua Parker
 
Discretionary access control(database).pptx
Discretionary access control(database).pptxDiscretionary access control(database).pptx
Discretionary access control(database).pptxMahalakshmiK55
 
Intro to rda
Intro to rdaIntro to rda
Intro to rdaAnna Enos
 
A Brief Introduction to SKOS
A Brief Introduction to SKOSA Brief Introduction to SKOS
A Brief Introduction to SKOSHeather Hedden
 

Tendances (20)

DDBMS Paper with Solution
DDBMS Paper with SolutionDDBMS Paper with Solution
DDBMS Paper with Solution
 
Metadata
MetadataMetadata
Metadata
 
Marc 21
Marc 21Marc 21
Marc 21
 
OAI and OAI-PMH
OAI and OAI-PMHOAI and OAI-PMH
OAI and OAI-PMH
 
Concurrency Control Techniques
Concurrency Control TechniquesConcurrency Control Techniques
Concurrency Control Techniques
 
25 snowflake
25 snowflake25 snowflake
25 snowflake
 
Marc
MarcMarc
Marc
 
DIGITAL LIBRARY ARCHITECTURE
DIGITAL LIBRARY ARCHITECTUREDIGITAL LIBRARY ARCHITECTURE
DIGITAL LIBRARY ARCHITECTURE
 
Applying Digital Library Metadata Standards
Applying Digital Library Metadata StandardsApplying Digital Library Metadata Standards
Applying Digital Library Metadata Standards
 
Transaction Processing Concept
Transaction Processing ConceptTransaction Processing Concept
Transaction Processing Concept
 
Metadata Standards
Metadata StandardsMetadata Standards
Metadata Standards
 
International System for Agricultural Science and Technology (AGRIS) by Gaura...
International System for Agricultural Science and Technology (AGRIS) by Gaura...International System for Agricultural Science and Technology (AGRIS) by Gaura...
International System for Agricultural Science and Technology (AGRIS) by Gaura...
 
Digital Libraries
Digital LibrariesDigital Libraries
Digital Libraries
 
Classaurus classification
Classaurus classificationClassaurus classification
Classaurus classification
 
Active and main memory database
Active and main memory databaseActive and main memory database
Active and main memory database
 
LIS531M: Cataloging Microforms & Manuscripts
LIS531M: Cataloging Microforms & ManuscriptsLIS531M: Cataloging Microforms & Manuscripts
LIS531M: Cataloging Microforms & Manuscripts
 
Discretionary access control(database).pptx
Discretionary access control(database).pptxDiscretionary access control(database).pptx
Discretionary access control(database).pptx
 
MARC -21.pptx
MARC -21.pptxMARC -21.pptx
MARC -21.pptx
 
Intro to rda
Intro to rdaIntro to rda
Intro to rda
 
A Brief Introduction to SKOS
A Brief Introduction to SKOSA Brief Introduction to SKOS
A Brief Introduction to SKOS
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus de Angelo Corsaro

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

Plus de Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
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
 

Dernier

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
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
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
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
 
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
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
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
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
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
 

Dernier (20)

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
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
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
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
 
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
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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
 
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...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

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