introducing the omg dds to the aerospace valley

200
Delivering Performance, Openness, and Freedom Open Splice DDS OMG DDS: The Data Distribution Service for Real-Time Systems

Upload: angelo-corsaro

Post on 10-Jun-2015

1.505 views

Category:

Technology


4 download

DESCRIPTION

This presentation provides (1) a tutorial of the OMG DDS standard, (2) an overview of OpenSplice DDS, and (3) concludes with a use case showing how DDS is being used in the next generation European Air-Traffic Control and Management System

TRANSCRIPT

Page 1: Introducing the OMG DDS to the Aerospace Valley

Delivering Performance, Openness, and Freedom

OpenSplice DDS

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

Page 2: Introducing the OMG DDS to the Aerospace Valley

• PART I -- The DDS Standard

• PART II -- OpenSplice DDS

• PART III -- CoFlight Use Case

Presentation Roadmap

Page 3: Introducing the OMG DDS to the Aerospace Valley

Age

nda

Motivating Forces

The Standard

Architectural Principles

Programming Model

Future Directions

Page 4: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Need for Data Distribution

Page 5: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Need for Data DistributionTime Scale

Page 6: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Need for Data DistributionGeographical ScaleTime Scale

Page 7: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Need for Data DistributionGeographical ScaleTime Scale

Parallelism

Systemic Signal

Processing

Data Processing

Parallel Systems

Page 8: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Need for Data DistributionGeographical ScaleTime Scale

Real-Time Information Processing

DeterminismParallelism

Systemic Signal

Processing

Data Processing

Parallel Systems

Page 9: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Need for Data DistributionGeographical ScaleTime Scale

Near Real-Time Fault-Tolerant Information

Processing

Throughput, Availability

Real-Time Information Processing

DeterminismParallelism

Systemic Signal

Processing

Data Processing

Parallel Systems

Page 10: Introducing the OMG DDS to the Aerospace Valley

Complex Information Management

Scalability, Persistence, Security

Distributed Systems

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Need for Data DistributionGeographical ScaleTime Scale

Near Real-Time Fault-Tolerant Information

Processing

Throughput, Availability

Real-Time Information Processing

DeterminismParallelism

Systemic Signal

Processing

Data Processing

Parallel Systems

Page 11: Introducing the OMG DDS to the Aerospace Valley

Complex Information Management

Scalability, Persistence, Security

Distributed Systems

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Need for Data DistributionGeographical ScaleTime Scale

Near Real-Time Fault-Tolerant Information

Processing

Throughput, Availability

Real-Time Information Processing

DeterminismParallelism

Systemic Signal

Processing

Data Processing

Parallel Systems

Data Distribution

Page 12: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Data Exchange / Distribution‣ Network Centric Architectures are emerging as a key trend for next generation military and civil

system of systems

‣ Efficient, scalable and QoS-enabled data dissemination is an enabling technology for Network Centric Systems

Adapted from “The Future of AWACS”,

by LtCol Joe Chapa

Joint Forces

Global Info Grid

Joint Forces

Global Info Grid

The Right Information => To the Right People => At the Right Time

Page 13: Introducing the OMG DDS to the Aerospace Valley

Age

nda

Motivating Forces

The Standard

Architectural Principles

Programming Model

Future Directions

Page 14: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Addressing Data Distribution Challenges

The OMG DDS Standard‣ Introduced in 2004 to address the Data

Distribution challenges faced by a wide class of Defense and Aerospace Applications

‣ Key requirement for the standard were its ability to deliver very high performance while seamlessly scaling from embedded to ultra-large-scale deployments

‣ Today recommended by key administration worldwide and widely adopted across several different application domains, such as, Automated Trading, Simulations, SCADA, Telemetry, etc.

DDS is standard designed to address the data-distribution challenges across a wide class of Defense and Aerospace Applications

Page 15: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The OMG Data Distribution Service (DDS)

DDS v1.2 API Standard‣ Language Independent, OS and HW architecture

independent

‣ DCPS. Standard API for Data-Centric, Topic-Based, Real-Time Publish/Subscribe

‣ DLRL. Standard API for creating Object Views out of collection of Topics

DDSI/RTPS v2.1 Wire Protocol Standard‣ Standard wire protocol allowing interoperability

between different implementations of the DDS standard

‣ Interoperability demonstrated among key DDS vendors in March 2009

Object/Relational Mapping

Ownership DurabilityContent

Subscription

Minimum Profile

Data Centric Publish/Subscribe (DCPS)

Data Local Reconstruction Layer (DLRL)

DDS Interoperability Wire Protocol

Application

UDP/IP

Real-Time Publish/Subscribe Protocol

Page 16: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

OMG DDS RecommendationsMandated/Recommended by key Administrations

‣US Navy: Open Architecture

‣DISR/DISA: Net-centric Systems

‣EuroControl: Air Traffic Control Center Operational Interoperability

‣QinetiQ: Recommending DDS for VSI

A Great Time for DDS!

! The infrastructure evolution cycle is churning…– New -> Emerging -> Standard -> Commodity

– Middleware is emerging as OS declines

! …DDS is maturing…– OMG focus

– Wire spec

– Tools

– Enterprise integration

– Multiple products fielded

– Deployed applications!

! …and adoption is on the rise– Navy

– DISR

– FCS/SoSCOE

– Many significant applications

Page 17: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

OMG DDS AdoptionsAdopted by Most Challenging International Programs

‣US FCS/SOSCOE

‣European Next Generation Flight Data Processor

‣US ZUMWALT [DDG(1000)]

‣VTID adopting DDS for the architectural demonstrator

Page 18: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

OMG DDS ApplicabilityAdapted from NSWC-DD Open Architecture Documentation

Non Real-Time Soft Real-Time Hard Real-Time Extreme Real-Time

Com

mun

icat

ion

Tech

nolo

gies

Sta

ndar

ds

The DDS is the only technology that spans across the board.

Web SVCs

Java RTSJ

JMS

CORBA RT-CORBA

OMG Data Distribution Service (DDS)

MPI

It guarantees exceptional real-time behavior, while providing unparalleled level of throughput !

Message Passing Interface

Page 19: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Some DDS Use CasesDefense

‣ Combat Management Systems

‣ Flycatcher system

‣ Unmanned Vehicles (Air + Land)

‣ Tactical Links

‣ Radar Processing

‣ Submarine Systems

‣ Future Combat Systems

‣ Simulation

SCADA/Utilities

‣ Industrial Automation

‣ Power Grids

‣ Rocket Launch Systems

Page 20: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Some DDS Use Cases

Transportation

‣ Air Traffic Management/Control

‣ Metropolitan Traffic Management

‣ Underground Metropolitan Transportation

Financial Services

‣ Automated Trading Firms

‣ Compliance Systems

‣ Market Data Platforms

Page 21: Introducing the OMG DDS to the Aerospace Valley

Age

nda

Motivating Forces

The Standard

Architectural Principles

Programming Model

Future Directions

Page 22: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Loosely Coupled Technology

Page 23: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Counting the “W’s” of Coupling

Client

Request

Reply

Server The “4Ws” of Client/Server‣ Who+Where: Space Coupling

‣ What: Structural Coupling

‣ When: Time CouplingClient/Server

CORBA, COM+, Java RMI, .Net Remoting, Web SVCs

DDS

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

DDS features dynamic discovery and full time decoupling!

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Page 24: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish SubscribeClient/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to FaultServer

Client

Server

Client

Server

Client

Server

Client

Page 25: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish SubscribeClient/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to FaultServer

Client

Server

Client

Server

Client

Server

Client

Page 26: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish SubscribeClient/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to FaultServer

Client

Server

Client

Server

Client

Server

Client

Page 27: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish SubscribeClient/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to FaultServer

Client

Server

Client

Server

Client

Page 28: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish SubscribeClient/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

Server

Client

Server

Client

Page 29: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish SubscribeClient/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

Server

Client

Page 30: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish Subscribe

Server

Client

Server

Client

Server

Client

Server

Client

Client/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Page 31: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish Subscribe

Server

Client

Server

Client

Server

Client

Server

Client

Client/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

DDS

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Page 32: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish Subscribe

Server

Client

Server

Client

Server

Client

Server

Client

Client/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

DDS‣ Loosely Coupled (1W)

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Page 33: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish Subscribe

Server

Client

Server

Client

Server

Client

Server

Client

Client/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

DDS‣ Loosely Coupled (1W)

‣ Plug & Play

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Page 34: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish Subscribe

Server

Client

Server

Client

Server

Client

Server

Client

Client/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

DDS‣ Loosely Coupled (1W)

‣ Plug & Play

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Page 35: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish Subscribe

Server

Client

Server

Client

Server

Client

Server

Client

Client/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

DDS‣ Loosely Coupled (1W)

‣ Plug & Play‣ Inherently Many-to-Many

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Page 36: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish Subscribe

Server

Client

Server

Client

Server

Client

Server

Client

Client/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

DDS‣ Loosely Coupled (1W)

‣ Plug & Play‣ Inherently Many-to-Many‣ Fault Resilient

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Page 37: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Client Server vs. Publish Subscribe

Server

Client

Server

Client

Server

Client

Server

Client

Client/Server‣ Tight Coupling (4W)

‣ Complex Deployment

‣ Inherently One-to-One

‣ Fragile to Fault

DDS‣ Loosely Coupled (1W)

‣ Plug & Play‣ Inherently Many-to-Many‣ Fault Resilient

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Page 38: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

High Performance/Availability Pub/Sub

Page 39: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

High Performance Pub/Sub

‣ Fully distributed, Peer-to-Peer Communication

‣No Single Point of Failure

‣No Single Point of Bottleneck

‣Multicast-enabled

‣High performance and highly scalable

‣High availability

‣hot-swap

‣hot-hot architecture

The right data, at the right place, at the right time

-- All the Time.

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Brokers

Page 40: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Data-Centric Pub/SubFundamentals

Object/Relational Mapping

Ownership DurabilityContent

Subscription

Minimum Profile

Data Centric Publish/Subscribe (DCPS)

Data Local Reconstruction Layer (DLRL)

DDS Interoperability Wire Protocol

Application

UDP/IP

Real-Time Publish/Subscribe Protocol

Page 41: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DDS Topics

Topic

‣ Unit of information exchanged between Publisher and Subscribers.

‣ An association between a unique name, a type and a QoS setting

struct ShapeType { long x; long y; long shapesize; string color;};#pragma keylist ShapeType color

{ShapeType}

{Circle, Square, Triangle}

{...}

Topic Type.

‣ Type describing the data associated with one or more Topics

‣ A Topic type can have a key represented by an arbitrary number of attributes

‣ Expressed in IDL

Page 42: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DDS Topics

Circle

struct ShapeType { long x; long y; long shapesize; string color;};#pragma keylist ShapeType color

Topic QoS

Page 43: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DDS Topics

Triangle

struct ShapeType { long x; long y; long shapesize; string color;};#pragma keylist ShapeType color

Topic QoS

Page 44: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DDS Topics

Square

struct ShapeType { long x; long y; long shapesize; string color;};#pragma keylist ShapeType color

Topic QoS

Page 45: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DDS Topic Instances and Samples

Topic Instances

‣ Each key value identifies a unique Topic Instance,

‣ Topic’s instance lifetime can be explicitly managed in DDS

Topic Samples

‣ The values assumed by a Topic Instance over time are referred as Instance Sample

struct ShapeType { long x; long y; long shapesize; string color;};#pragma keylist ShapeType color

Page 46: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Topic/Instances/Samples Recap.Topics Instances

Samples

timeti tj tnow

Page 47: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Content Filtering

‣DDS allows to specify content-filtered Topics for which a a subset of SQL92 is used to express the filter condition

‣Content filters can be applied on the entire content of the Topic Type

‣Content filters are applied by DDS each time a new sample is produced/delivered

X0 X1

Y0

Y1

X0 <= X <= X1

Y0 <= Y <= Y1

Page 48: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Local Queries‣ Subscribed Topics can be seen locally as “Tables”

‣ A subset of SQL92 can be used for performing queries on multiple topics as well as natural joins

Circle Topic

SELECT * FROM ShapeType s WHERE s.x > 25 AND s.y < 55

color x y shapesizeyellow 30 25 50

color x y shapesizeredblue

yellow

57 62 5090 85 5030 25 50

‣ Queries are performed under user control and provide a result that depends on the current snapshot of the system, e.g., samples currently available

X0

Y0Y0

Y1

Y0 <= Y <= Y1

Page 49: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Data-Centric Pub/SubPutting it all together

Object/Relational Mapping

Ownership DurabilityContent

Subscription

Minimum Profile

Data Centric Publish/Subscribe (DCPS)

Data Local Reconstruction Layer (DLRL)

DDS Interoperability Wire Protocol

Application

UDP/IP

Real-Time Publish/Subscribe Protocol

Page 50: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Distributed Relational Information Modeling

‣ Topic Keys can be used to identify instances as well as relationships

‣ Relationships can be navigated by relying on a subset of SQL 92

‣ One-to-many relationships can be captured using foreign keys

‣Many-to-many relationships need to be modeled using a topics

‣ Keys can be represented by an arbitrary number of Topic fields

tID: longtemp: floathumidity: floatrID: long

TTempSensor

rID: longwidth: floatheight: floatlength: floatfID: long

TRoom

fID: longlevel: longopen: long

TFloor

cID: longtemp: floathumidity: floatfan_level: longstatus: longrID: long

TConditioner

Page 51: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Data-Centric Pub/Sub

‣ Distributed Relational Data Model

‣ Local Queries

‣ Continuous Queries / Content Based Subscriptions

‣Windows

‣ Object/Relational Mapping

‣ Support for a subset of SQL-92

Perfect Blend of Data-Centric and Real-Time Publish/Subscribe Technologies

‣ Data-Centric Features are built-in and don’t rely on an external DBMS

‣ Providing thus performance, scalability, and availability

A

B

CD

E

F

m

J

K

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

DBMS

Page 52: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

“Visualizing” Data-Centric Pub/Sub

A

B

CD

E

F

m

J

K

Publisher

D

E

J

K

A F

CD

A

B D

E

J

K

Subscriber

Subscriber

Subscriber

CD

A

B

Publisher

J

K

A F

Publisher

D

E

Page 53: Introducing the OMG DDS to the Aerospace Valley

A

B

CD

E

F

m

J

K

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Organizing Information

‣ All DDS communication is happens within a Domain

‣ Domain can divided into Partitions

‣ Topics are published and subscribed across on or more Partitions

DomainPartition

Page 54: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Object-OrientedPub/Sub

Object/Relational Mapping

Ownership DurabilityContent

Subscription

Minimum Profile

Data Centric Publish/Subscribe (DCPS)

Data Local Reconstruction Layer (DLRL)

DDS Interoperability Wire Protocol

Application

UDP/IP

Real-Time Publish/Subscribe Protocol

Page 55: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Object/Relational Mapping

‣ Automatically bridges the Object/Relational Impedance Mismatch

‣ Arbitrary object reconstructions

‣ Automatic Relationships Management

‣ Inheritance

‣ Local Operations

‣ Local/Distributed State

getTemp()getHumidity()

temp: floathumidity: float

TempSensor

set_climate();

width: floatheight: floatlength: floatclimate: int

Room

set_status()set_climate()get_level()

level: intopen: intclimate: int

Floor

setTemp()setHumidity()setFanLevel()start()stop()pause():

temp: floathumidity: float

Conditioner * 1

*

1

*1

tID: inttemp: floathumidity: floatrID: int

TTempSernsor

rID: intwidth: floatheight: floatlength: floatfID: int

TRoom

fID: intlevel: intopen: int

TFloor

cID: inttemp: floathumidity: floatfan_level: intstatus: intrID: int

TConditioner

Page 56: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Object/Relational MappingUnleashing the power of Objects...

Relational

Object Oriented

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopicimage: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopiccall_sign: stringuid: GUIDhandle: Handle

FlightViewAssociation

OO ➡ Relational

‣ Middleware can automatically manage the generation and association between the Object-Oriented Model and the Relational Model

Relational ➡ OO

‣ The Relational Model can be mapped to an Object Oriented model‣ The mapping is under control of the architect

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

*1

display()

image: stringrefresh_rate: intvisible: booluid: GUID

FlightView

**

handle: HandleCanvas

Page 57: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Multiple Object/Relational Mappings

DCPScall_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopicimage: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopiccall_sign: stringuid: GUIDhandle: Handle

FlightViewAssociation

DLRL

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

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

*1

display()

image: stringrefresh_rate: intvisible: booluid: GUID

FlightView

**

handle: HandleCanvas

Page 58: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Multiple Object/Relational Mappings

DCPScall_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopicimage: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopiccall_sign: stringuid: GUIDhandle: Handle

FlightViewAssociation

DLRL

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

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

*1

display()

image: stringrefresh_rate: intvisible: booluid: GUID

FlightView

**

handle: HandleCanvas

Page 59: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Multiple Object/Relational Mappings

DCPScall_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopicimage: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopiccall_sign: stringuid: GUIDhandle: Handle

FlightViewAssociation

DL

RL

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView DLRL

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

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

*1

display()

image: stringrefresh_rate: intvisible: booluid: GUID

FlightView

**

handle: HandleCanvas

Page 60: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Multiple Object/Relational Mappings

DCPScall_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopicimage: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopiccall_sign: stringuid: GUIDhandle: Handle

FlightViewAssociation

DL

RL

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

DLRL

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

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

*1

display()

image: stringrefresh_rate: intvisible: booluid: GUID

FlightView

**

handle: HandleCanvas

Page 61: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

An Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 62: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

An Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 63: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

An Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 64: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

An Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 65: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

An Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopicx: floaty: floatz: floatradar_id: string

RadarTrackTopicx: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 66: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

An Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopicx: floaty: floatz: floatradar_id: string

RadarTrackTopicx: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 67: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

An Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 68: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

An Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 69: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

An Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

Secondary Radar

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Automatically Manage Relationships

Page 70: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Custom Filter Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

Secondary Radar

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

RadarTrack

SQL FilterCustom Filter

SQL FilterCustom Filter

Filter based on Region-of-interest

Automatically Manage Relationships

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 71: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Custom Filter Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

Secondary Radar

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

RadarTrack

SQL FilterCustom Filter

SQL FilterCustom Filter

Filter based on Region-of-interest

Automatically Manage Relationships

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 72: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Custom Filter Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

Secondary Radar

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

RadarTrack

SQL FilterCustom Filter

SQL FilterCustom Filter

Filter based on Region-of-interest

Automatically Manage Relationships

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 73: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Custom Filter Example

image: stringrefresh_rate: intvisible: booluid: GUID

FlightViewTopic

call_sign: stringroute: listorigin: stringdest: stringaircraft: stringradar_id: string

FlightTopic

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

display()

image: stringrefresh_rate: intvisible: booluid: GUIDx: floaty: floatz: floatcall_sign: string

FastFlightView

Primary RadarHigh-End 3D Visualization

Flight Data Processor

operationOne()operationTwo()

x: floaty: floatz: floatradar_id: string

RadarTrack

Secondary Radar

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

RadarTrack

operationX()operationY()

call_sign: stringroute: listorigin: stringdest: stringaircraft: string

Flight

RadarTrackList

RadarTrack

SQL FilterCustom Filter

SQL FilterCustom Filter

Filter based on Region-of-interest

Automatically Manage Relationships

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

x: floaty: floatz: floatradar_id: string

RadarTrackTopic

Page 74: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

...Putting it all Together

Page 75: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DCPS Application

‣ The application works directly at the DCPS level

‣When using OO Programming Languages the Object/Relational Impedance Mismatch has to be manually dealt

Ownership DurabilityContent

Subscription

Minimum Profile

Data Centric Publish/Subscribe (DCPS)

DD

S v

1.2

tID: inttemp: floathumidity: floatrID: int

TTempSensor

rID: intwidth: floatheight: floatlength: floatfID: int

TRoom

fID: intlevel: intopen: int

TFloor

cID: inttemp: floathumidity: floatfan_level: intstatus: intrID: int

TConditioner

Application

Page 76: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DLRL Application

‣ The DLRL Layer is used to provide a Language Integrated access to DDS data

‣ The Designer has great freedom in deciding how Objects have to map to Topics

‣ Different Object Reconstruction can be created for different applications Ownership Durability

Content Subscription

Minimum Profile

Data Centric Publish/Subscribe (DCPS)

DD

S v

1.2

getTemp()getHumidity()

temp: floathumidity: float

TempSensor

set_climate();set_temp()set_humidity()

width: floatheight: floatlength: floatclimate: int

Room

set_status()set_climate()get_level()

level: intopen: intclimate: int

Floor

setTemp()setHumidity()setFanLevel()start()stop()pause():

temp: floathumidity: floatfan_level: intstatus: int

Conditioner *1

*

1

*

1

tID: inttemp: floathumidity: floatrID: int

TTempSensor

rID: intwidth: floatheight: floatlength: floatfID: int

TRoom

fID: intlevel: intopen: int

TFloor

cID: inttemp: floathumidity: floatfan_level: intstatus: intrID: int

TConditioner

Object/Relational Mapping

Data Local Reconstruction Layer (DLRL) DD

S v

1.2

Application

Page 77: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Generic DDS Application

‣ In the most general case, different portion of the application might rely on DLRL or DCPS depending on their specific needs

‣ DCPS access might be required for accessing and tuning some specific QoS

Object/Relational Mapping

Data Local Reconstruction Layer (DLRL)

Ownership DurabilityContent

Subscription

Minimum Profile

Data Centric Publish/Subscribe (DCPS)

DD

S v

1.2

getTemp()getHumidity()

temp: floathumidity: float

TempSensor

set_climate();set_temp()set_humidity()

width: floatheight: floatlength: floatclimate: int

Room

set_status()set_climate()get_level()

level: intopen: intclimate: int

Floor

setTemp()setHumidity()setFanLevel()start()stop()pause():

temp: floathumidity: floatfan_level: intstatus: int

Conditioner *1

*

1

*

1

tID: inttemp: floathumidity: floatrID: int

TTempSensor

rID: intwidth: floatheight: floatlength: floatfID: int

TRoom

fID: intlevel: intopen: int

TFloor

cID: inttemp: floathumidity: floatfan_level: intstatus: intrID: int

TConditioner

Application

Application

Page 78: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

QoS-EnabledPub/Sub

Page 79: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Communicating with Topics, Partitions and Domains

1 21 62

2 20 61

3 25 70 25

1 22 62 1 23 63

2 19 60

3 25 71 3 25 74 3 26 77

Samples

Topic

Instances1 21 62

2 20 61

3 25 70 25

1 22 62 1 23 63

2 19 60

3 25 71 3 25 74 3 26 77

Samples

Topic

Instances1 21 62

2 20 61

3 25 70 25

1 22 62 1 23 63

2 19 60

3 25 71 3 25 74 3 26 77

Samples

Topic

InstancesDataReaderDataReaderDataReaderDataReaderDataReaderDataReaderDataWriterDataWriterDataWriterDataWriter

struct TempSensor { int tID; float temp; float humidity; };#pragma keylist TempSensor tID

Page 80: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Communicating with Topics, Partitions and Domains

1 21 62

2 20 61

3 25 70 25

1 22 62 1 23 63

2 19 60

3 25 71 3 25 74 3 26 77

Samples

Topic

Instances1 21 62

2 20 61

3 25 70 25

1 22 62 1 23 63

2 19 60

3 25 71 3 25 74 3 26 77

Samples

Topic

Instances1 21 62

2 20 61

3 25 70 25

1 22 62 1 23 63

2 19 60

3 25 71 3 25 74 3 26 77

Samples

Topic

InstancesDataReaderDataReaderDataReaderDataReaderDataReaderDataReaderDataWriterDataWriterDataWriterDataWriter

Partition

struct TempSensor { int tID; float temp; float humidity; };#pragma keylist TempSensor tID

PublisherSubscriber

Arrows show structural relationships, not data-flows

Page 81: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Communicating with Topics, Partitions and Domains

1 21 62

2 20 61

3 25 70 25

1 22 62 1 23 63

2 19 60

3 25 71 3 25 74 3 26 77

Samples

Topic

Instances1 21 62

2 20 61

3 25 70 25

1 22 62 1 23 63

2 19 60

3 25 71 3 25 74 3 26 77

Samples

Topic

Instances1 21 62

2 20 61

3 25 70 25

1 22 62 1 23 63

2 19 60

3 25 71 3 25 74 3 26 77

Samples

Topic

InstancesDataReaderDataReaderDataReaderDataReaderDataReaderDataReaderDataWriterDataWriterDataWriterDataWriter

PublisherSubscriberPartition

Domain

Domain Participant

struct TempSensor { int tID; float temp; float humidity; };#pragma keylist TempSensor tID

Arrows show structural relationships, not data-flows

Page 82: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

QoS Model

‣ QoS-Policies are used to control relevant properties of OpenSplice DDS entities, such as:‣ Temporal Properties

‣ Priority

‣ Durability

‣ Availability

‣ ...

‣ Some QoS-Policies are matched based on a Request vs. Offered Model thus QoS-enforcement

‣ Publications and Subscriptions match only if the declared vs. requested QoS are compatible ‣ e.g., it is not possible to match a publisher which delivers data unreliably with a subscriber which requires reliability

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

......

QoS QoS

Type Matching

DomainParticipant DomainParticipant

QoS QoS

Page 83: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Sample QoS Policies

‣ Rich set of QoS allow to configure several different aspects of data availability, delivery and timeliness

‣ QoS can be used to control and optimize network as well as computing resource

QoS Policy Applicability RxO Modifiable

DURABILITY

DURABILITY SERVICE

LIFESPAN

HISTORY

PRESENTATION

RELIABILITY

PARTITION

DESTINATION ORDER

OWNERSHIP

OWNERSHIP STRENGTH

DEADLINE

LATENCY BUDGET

TRANSPORT PRIORITY

TIME BASED FILTER

RESOURCE LIMITS

USER_DATA

TOPIC_DATA

GROUP_DATA

T, DR, DW Y N Data AvailabilityT, DW N N

Data Availability

T, DW - Y

Data Availability

T, DR, DW N N

Data Availability

P, S Y N Data DeliveryT, DR, DW Y N

Data Delivery

P, S N Y

Data Delivery

T, DR, DW Y N

Data Delivery

T, DR, DW Y N

Data Delivery

DW - Y

Data Delivery

T, DR, DW Y Y Data TimelinessT, DR, DW Y Y

Data Timeliness

T, DW - Y

Data Timeliness

DR - Y Resources

T, DR, DW N N

Resources

DP, DR, DW N Y ConfigurationT N Y

Configuration

P, S N Y

Configuration

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

......

QoS QoS

Type Matching

DomainParticipant DomainParticipant

QoS QoS

Page 84: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Mapping QoS

Data Latency

LatencyBudget TransportPriority

Throughput

DeadlineTimeBasedFilter

Control over Latency/Throughput tradeoff Control over data latency Control over data priority

Which properties does QoS controls?

Page 85: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Mapping QoS

Data Latency

LatencyBudget TransportPriority

Throughput

DeadlineTimeBasedFilter

Control over Latency/Throughput tradeoff Control over data latency Control over data priority

Data Availability

OwnershipOwnershipStrength

Durability

History

Lifespan

Control over data queueing Control over data persistency Control over data sources hot-swap

Which properties does QoS controls?

Page 86: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Mapping QoS

Data Latency

LatencyBudget TransportPriority

Throughput

DeadlineTimeBasedFilter

Control over Latency/Throughput tradeoff Control over data latency Control over data priority

Data Availability

OwnershipOwnershipStrength

Durability

History

Lifespan

Control over data queueing Control over data persistency Control over data sources hot-swap

Data Delivery

Reliability

DestinationOrder

Presentation

Control over data distribution reliability Control over data ordering Control over presentation

OpenSplice DDS provides programmatic QoS-driven support for configuring the most important properties of data distribution!

Which properties does QoS controls?

Page 87: Introducing the OMG DDS to the Aerospace Valley

© 2008, PrismTech. All Rights Reserved

Data DeliveryData Delivery

Reliability

DestinationOrder

Presentation

QoS Policy Applicability RxO Modifiable

PRESENTATION

RELIABILITY

PARTITION

DESTINATION

ORDER

OWNERSHIP

OWNERSHIP

STRENGTH

P, S Y N

Data Delivery

T, DR, DW Y N

P, S N Y

T, DR, DW Y N

T, DR, DW Y N

DW - Y

Page 88: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Reliability

The RELIABILITY QoS indicate the level of guarantee offered by the DDS in delivering data to subscribers. Possible variants are:

QoS Policy Applicability RxO Modifiable

RELIABILITY T, DR, DW Y N

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

QoS

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

QoS matching

......

‣ Reliable. In steady-state the middleware guarantees that all samples in the DataWriter history will eventually be delivered to all the DataReader

‣ Best Effort. Indicates that it is acceptable to not retry propagation of any samples

Page 89: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Partition‣ All DDS communication is

happens within a Domain

‣ Domain can divided into Partitions

‣ Topics are published and subscribed across on or more Partitions

‣ The Partition QoS allows to specify to which “Partition(s)” is a publisher/subscriber connected

‣ Each Partition is identified by a string (e.g. “RedPartition, “YellowPartition”, “GreenPartition”)

A

B

CD

E

F

m

J

K

Publisher

SubscriberPublisher

Publisher

Subscriber

Subscriber

DomainPartition

PARTITION P, S N Y

QoS Policy Applicability RxO Modifiable

RedPartition

YellowPartitionGreenPartition

Page 90: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Ownership The OWNERSHIP QoS specifies whether it is allowed for multiple DataWriters to write the same instance of the data and if so, how these modifications should be arbitrated. Possible choices are:

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

QoS

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

QoS matching

......

QoS Policy Applicability RxO Modifiable

OWNERSHIP T, DR, DW Y N

‣ Shared. Multiple writers are allowed to update the same instance and all the updates are made available to the reader

‣ Exclusive. Indicates that each instance can only be owned by one DataWriter, but the owner of an instance can change dynamically -- due to liveliness changes

‣ The selection of the owner is controlled by the setting of the OWNERSHIP_STRENGTH QoS policy

Who owns the data?

Page 91: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Ownership StrengthThe OWNERSHIP_STRENGTH Specifies the value of the “strength” used to arbitrate among DataWriters that attempt to modify the same data instance

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

QoS

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

QoS matching

......QoS Policy Applicability RxO Modifiable

OWNERSHIP

STRENGTH

DW - Y

‣ Data instance are identified by the couple (Topic, Key)

‣ The policy applies only if the OWNERSHIP is EXCLUSIVE

How strong are you?

Page 92: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Ownership @ Work‣ A Topic can have Shared or Exclusive Ownership

‣ Exclusively owned Topics can be modified by a single writer

‣ Writer strength is used to coordinate replicated writers

R1

R2

R3

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

W1

W1’’

STRENGTH=3

STRENGTH=1

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuotesymbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

W1’

STRENGTH=2

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuotesymbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuotesymbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

Page 93: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Ownership @ Work‣ A Topic can have Shared or Exclusive Ownership

‣ Exclusively owned Topics can be modified by a single writer

‣ Writer strength is used to coordinate replicated writers

R1

R2

R3

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

W1

W1’’

STRENGTH=3

STRENGTH=1

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

W1’

STRENGTH=2

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

Page 94: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Ownership @ Work‣ A Topic can have Shared or Exclusive Ownership

‣ Exclusively owned Topics can be modified by a single writer

‣ Writer strength is used to coordinate replicated writers

R1

R2

R3

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

W1

W1’’

STRENGTH=3

STRENGTH=1

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

W1’

STRENGTH=2

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

Page 95: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Managing Hot-Swap‣ A Topic can have Shared or Exclusive Ownership

‣ Exclusively owned Topics can be modified by a single writer

‣ Writer strength is used to coordinate replicated writers

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

R1

R2

R3W1’’

STRENGTH=1

Page 96: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Managing Hot-Swap‣ A Topic can have Shared or Exclusive Ownership

‣ Exclusively owned Topics can be modified by a single writer

‣ Writer strength is used to coordinate replicated writers

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "GOOG"name: "Google Inc."exchange: "NASD"quote: 663.97

StockQuote

symbol: "AAPL"name: "Apple Inc."exchange: "NASD"quote: 165.37

StockQuote

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuote

symbol: "MSFT"name: "Microsoft Corp."exchange: "NASD"quote: 33.73

StockQuoteR1

R2

R3W1’’

STRENGTH=1

Page 97: Introducing the OMG DDS to the Aerospace Valley

© 2008, PrismTech. All Rights Reserved

Data Timeliness

Data Latency

LatencyBudget TransportPriority

Throughput

DeadlineTimeBasedFilter

QoS Policy Applicability RxO Modifiable

DEADLINE

LATENCY

BUDGET

TRANSPORT

PRIORITY

T, DR, DW Y Y

Data

Timeliness

T, DR, DW Y Y

T, DW - Y

Page 98: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DeadlineThe DEADLINE QoS policy allows to define the maximum inter-arrival time between data samples

QoS Policy Applicability RxO Modifiable

DEADLINE T, DR, DW Y Y

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

QoS

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

QoS matching

......

You can’t be later than...

‣ DataWriter indicates that the application commits to write a new value at least once every deadline period

‣ DataReaders are notified by the DDS when the DEADLINE QoS contract is violated

Publisher Subscriber

DeadlineDeadlineDeadlineDeadlineDeadline

Deadline Violation

Page 99: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Latency BudgetThe LATENCY_BUDGET QoS policy specifies the maximum acceptable delay from the time the data is written until the data is inserted in the receiver's application-cache

QoS Policy Applicability RxO Modifiable

LATENCY

BUDGET

T, DR, DW Y Y

‣ The default value of the duration is zero indicating that the delay should be minimized

‣ This policy is a hint to the DDS, not something that must be monitored or enforced.

I need to get there in at most...

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

QoS

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

QoS matching

......

T1

T2

T3

Latency Budget = Latency = TBuff +T1+T2+T3TBuff

Page 100: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Transport Priority

The TRANSPORT_PRIORITY QoS policy is a hint to the infrastructure as to how to set the priority of the underlying transport used to send the data.

QoS Policy Applicability RxO Modifiable

TRANSPORT

PRIORITY

T, DW - Y

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

QoS

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

QoS matching

......

VIP Data, stay clear!

Page 101: Introducing the OMG DDS to the Aerospace Valley

© 2008, PrismTech. All Rights Reserved

Data Availability

Data Availability

OwnershipOwnershipStrength

Durability

History

Lifespan

QoS Policy Applicability RxO Modifiable

DURABILITY

DURABILITY

SERVICE

LIFESPAN

HISTORY

T, DR, DW Y N

Data

Availability

T, DW N N

T, DW - Y

T, DR, DW N N

Page 102: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability

‣ Volatile. No need to keep data instances for late joining data readers

‣ Transient Local. Data instance availability for late joining data reader is tied to the data writer availability

‣ Transient. Data instance availability outlives the data writer

‣ Persistent. Data instance availability outlives system restarts

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

QoS

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

QoS matching

......

The DURABILITY QoS controls the data availability w.r.t. late joiners, specifically the DDS provides the following variants:

The DURABILITY_SERVICE QoS provide control over configuration of the service that implements the transient and persistent durability features

QoS Policy Applicability RxO Modifiable

DURABILITY

DURABILITY

SERVICE

T, DR, DW Y N

T, DW N N

Page 103: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Lifespan

‣ The LIFESPAN QoS policy allows to control what happens to stale data

‣ It specifies the validity interval for data written by the DataWriter

‣ The default validity interval is infinite

QoS Policy Applicability RxO Modifiable

LIFESPAN T, DW - Y

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

QoS

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

QoS matching

......

For how long will this data be available?

Page 104: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

HistoryThe HISTORY QoS policy controls whether the DDS should deliver only the most recent value, attempt to deliver all intermediate values, or do something in between. The policy can be configured to provide the following semantics:

QoS Policy Applicability RxO Modifiable

HISTORY T, DR, DW N N

Publisher

DataWriter

Topic

Type

QoS

Name

writes

QoS

QoS

DataWriter

Topic

Typewrites

Subscriber

DataReaderreads

QoS

DataReaderreads

...

QoS

Name

QoS

QoS QoS

QoS matching

QoS matching

......

‣ Keep Last. The DDS will only attempt to keep the most recent “depth” samples of each instance of data identified by its key

‣ Keep All. The DDS will attempt to keep all the samples of each instance of data identified by its key.

‣ On the DataWriter Samples are kept until delivered to all known subscribers

‣ On the DataReader side samples are kept until the application “takes” them

How many data samples should I keep?

Page 105: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Managing Data History

struct Counter { int cID; int count;};#pragma keylist Counter cID

Topic Used in next section.

Page 106: Introducing the OMG DDS to the Aerospace Valley

Topic

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

How many samples?

‣ The History QoS Controls the number of samples-per-instance that will be stored by the middleware on behalf of a Reader

‣ Keep Last K. The History QoS can be set so to always have the latest K samples

‣ Keep All. The History QoS can be set so keep all samples produced by the writer and not yet taken, until resource limits are not reached

DataReader

DataReader

1 1

2 1

3 1

History Depth = 1 (DDS Default)

History Depth = 5

Topic

1 1

2 1

3 1

1 2 1 3 1 4 1 5

2 2 2 3 2 4 2 5

3 2 3 3 3 4 3 5

Page 107: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

History in Action

Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders

Topic

DataReader

1 1

2 1

3 1

History Depth = 1 (DDS Default)

DataReader Cache

Topic

1 2

2 3

3 1

History Depth = 1 (DDS Default)

DataWriter Cache

DataWriter1 2

2 2 2 3

Network

Page 108: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

History in Action

Topic

DataReader

1 2

2 2

3 1

History Depth = 1 (DDS Default)

DataReader Cache

Topic

1 2

2 3

3 1

History Depth = 1 (DDS Default)

DataWriter Cache

DataWriter2 3

Network

Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders

Page 109: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

History in Action

Topic

DataReader

1 2

2 3

3 1

History Depth = 1 (DDS Default)

DataReader Cache

Topic

1 2

2 3

3 1

History Depth = 1 (DDS Default)

DataWriter Cache

DataWriter

Network

Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders

Page 110: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

History in Action

Topic

DataReader

1 1

2 1

3 1

History Depth = 2

DataReader Cache

Topic

1 2

2 3

3 1

History Depth = 1 (DDS Default)

DataWriter Cache

DataWriter1 2

2 2 2 3

Network

Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders

Page 111: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

History in Action

Topic

DataReader

1 1

2 1

3 1

History Depth = 2

DataReader Cache

Topic

1 2

2 3

3 1

History Depth = 1 (DDS Default)

DataWriter Cache

DataWriter

1 2

2 2

2 3

Network

Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders

Page 112: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

History in Action

Topic

DataReader

1 1

2 2

3 1

History Depth = 2

DataReader Cache

Topic

1 2

2 3

3 1

History Depth = 1 (DDS Default)

DataWriter Cache

DataWriter

1 2

2 3

Network

Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders

Page 113: Introducing the OMG DDS to the Aerospace Valley

Age

nda

Motivating Forces

The Standard

Architectural Principles

Programming Model

Future Directions

Page 114: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Shared Global Data Space

Page 115: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Shared Global Data SpaceCoordination Model

‣ DDS applications are asynchronous and communicate by reading/writing from/to a Global Data Space

‣ DDS applications communicate by simply addressing items in the Global Data Space and without any direct knowledge of the parties involved in the production/consumption of data

Consistency Model

‣ The Shared Global Data Space implemented by DDS, can be configured to supports at most the “Eventual Consistency Model”

‣ Under an Eventual Consistency Model we are guaranteed that eventually all application in the system will have a consistent view of the “world”s

Page 116: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency & R/W Caches

Under an Eventual Consistency Model, DDS guarantees that all matched Reader Caches will eventually be identical of the respective Writer Cache

Topic

DataReader

1 1

2 1

3 1

DataReader Cache Topic

1 2

2 3

3 1

DataWriter Cache

DataWriter

1 2

2 2 2 3

Topic

DataReader

1 1

2 1

3 1

DataReader Cache

Topic

DataReader

1 1

2 1

3 1

DataReader Cache

DDS

Page 117: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

QoS Impacting the Consistency Model

The DDS Consistency Model is a property that can be associated to Topics or further refined by Reader/Writers. The property is controlled by the following QoS Policies:

‣ DURABILITY ‣ VOLATILE | TRANSIENT_LOCAL | TRANSIENT | PERSISTENT

‣ LIFESPAN

‣ RELIABILITY‣ RELIABLE | BEST_EFFORT

‣ DESTINATION ORDER‣ SOURCE_TIMESTAMP | DESTINATION_TIMESTAMP

QoS Policy Applicability RxO Modifiable

DURABILITY

LIFESPAN

RELIABILITY

DESTINATION ORDER

T, DR, DW Y N

T, DW - Y

T, DR, DW Y N

T, DR, DW Y N

Page 118: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

QoS Impacting the Consistency Model

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

Eventual Consistency (No Crash / Recovery)

Eventual Consistency (Reader Crash / Recovery)

Eventual Consistency(Crash/Recovery)

Eventual Consistency(Crash/Recovery)

Weak Consistency

Weak ConsistencyWeak Consistency

VOLATILE RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

PERSISTENT RELIABLE SOURCE_TIMESTAMP INF.

ANY ANY DESTINATION_TIMESTAMP ANY

ANY BEST_EFFORT ANY ANY

ANY ANY ANY N

Page 119: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

K

P1

P2

S1P = {A, B}

S = {A, D}

P = {D, C, J}

S4

S = {A}

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 120: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

K

A

P1

P2

S1P = {A, B}

S = {A, D}

P = {D, C, J}

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 121: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

K

A

P1

P2

S1

A

P = {A, B}

S = {A, D}

P = {D, C, J}

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 122: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

B A

B

CD

E

F

m

J

K

A

P1

P2

S1

A

P = {A, B}

S = {A, D}

P = {D, C, J}

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 123: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

K

A

P1

P2

S1B

A

P = {A, B}

S = {A, D}

P = {D, C, J}

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 124: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

K

A

P1

P2

S1

S2

B

A

B

A

P = {A, B}

S = {A, D}

S= {A, B, J}

P = {D, C, J}

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 125: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

K

A

P1

P2

S1

S2

B

A

B

A

P = {A, B}

S = {A, D}

S= {A, B, J}

P = {D, C, J}B

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 126: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

KP2

S1

S2

A

BA

BB

S = {A, D}

S= {A, B, J}

P = {D, C, J}

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 127: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

KP2

S1

S2

S3

A

BA

B

S= {A, B, D, J}

B

S = {A, D}

S= {A, B, J}

P = {D, C, J}

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 128: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

KP2

S1

S2

S3

A

BA

B

S= {A, B, D, J}

J

B

D

J

S = {A, D}

S= {A, B, J}

P = {D, C, J}

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 129: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Eventual Consistency @ Work

A

B

CD

E

F

m

J

KP2

S1

S2

S3

A

BA

B

S= {A, B, D, J}

B

D

J

S = {A, D}

S= {A, B, J}

P = {D, C, J}

S4

S = {A}

A

Eventual Consistency (Reader Crash / Recovery)Eventual Consistency(Crash/Recovery)

TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF.

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

{A}

{B}

Weak Consistency ANY ANY ANY N {J}

Page 130: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Design Guidelines

‣ For all (non-periodic) Topics for which an eventually consistent model is required use the following QoS settings:

‣ For information produced periodically, with a period P, where P is small enough to be acceptable as a consistency convergence delay, the following QoS settings will provide an approximation of the eventual consistency:

Eventual Consistency (Crash / Recovery)

TRANSIENT RELIABLE SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

Eventual Consistency (Crash / Recovery)

VOLATILE BEST_EFFORT SOURCE_TIMESTAMP INF.

DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN

Page 131: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Getting the DataRead Semanticsstruct Counter {

int cID; int count;};#pragma keylist Counter cID

Topic Used in next section.

Page 132: Introducing the OMG DDS to the Aerospace Valley

DataReader Cache

Topic

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Reading Samples

‣ Read iterates over the available sample instances

‣ Samples are not removed from the local cache as result of a read

‣ Read samples can be read again, by accessing the cache with the proper options (more later)

DataReader

1 1

2 1

3 1

2 2

Samples Read Samples not Read

1 2 1 3 1 4

2 3

3 2 3 3 3 4 3 5

Page 133: Introducing the OMG DDS to the Aerospace Valley

DataReader Cache

Topic

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Reading Samples

‣ Read iterates over the available sample instances

‣ Samples are not removed from the local cache as result of a read

‣ Read samples can be read again, by accessing the cache with the proper options (more later)

Samples Read Samples not Read

DataReader

1 1

2 1

3 1

2 2

1 2 1 3 1 4

2 3

3 2 3 3 3 4 3 5

Page 134: Introducing the OMG DDS to the Aerospace Valley

DataReader Cache

Topic

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Reading Samples

‣ Read iterates over the available sample instances

‣ Samples are not removed from the local cache as result of a read

‣ Read samples can be read again, by accessing the cache with the proper options (more later)

Samples Read Samples not Read

DataReader

1 1

2 1

3 1

2 2

1 2 1 3 1 4

2 3

3 2 3 3 3 4 3 5

Page 135: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Sample, Instance and View States

‣ DataReaders are provided with data samples ane state information allowing to detect relevant transitions in the life-cycle of data as well as data writers

‣ Sample State (READ | NOT_READ): Determines wether a sample has already been read by this DataWriter or not.

‣ Instance State (ALIVE, NOT_ALIVE, DISPOSED). Determines wether (1) writer exist for the specific instance, or (2) no matched writers are currently available, or (3) the instance has been disposed

‣ View State (NEW, NOT_NEW). Determines wether this is the first sample of a new (or re-born) instance

Dat

aRea

der

History Depth = 2

DataReader Cache

Samples

1 1

2 2

3 1

1 2

2 3

SampleInfo

Topic

Page 136: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Getting the DataTake Semanticsstruct Counter {

int cID; int count;};#pragma keylist Counter cID

Topic Used in next section.

Page 137: Introducing the OMG DDS to the Aerospace Valley

DataReader Cache

Topic

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Taking Samples

‣ Take iterates over the available sample instances

‣ Taken Samples are removed from the local cache as result of a take

‣DataReader

1 1

2 1

3 1

2 2

Samples not Taken

1 2 1 3 1 4

2 3

3 2 3 3 3 4 3 5

Page 138: Introducing the OMG DDS to the Aerospace Valley

DataReader Cache

Topic

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Taking Samples

‣ Take iterates over the available sample instances

‣ Taken Samples are removed from the local cache as result of a take

Samples not Taken

DataReader 2 2

1 2 1 3 1 4

2 3

3 2 3 3 3 4 3 5

Page 139: Introducing the OMG DDS to the Aerospace Valley

DataReader Cache

Topic

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Taking Samples

‣ Take iterates over the available sample instances

‣ Taken Samples are removed from the local cache as result of a take

Samples not Taken

DataReader

1 3 1 4

2 3

3 3 3 4 3 5

Page 140: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Writing Datastruct Counter { int cID; int count;};#pragma keylist Counter cID

Topic Used in next section.

Page 141: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Writing Samples

‣ Samples are written in the local cache

‣ Writer control the creation of instances

‣ The DDS ensures that the local caches for the matched DataReader will be eventually consistent with that of the Data Writer DataWriter Cache

Topic

1 1

Last Sample Written

DataWriter

Page 142: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Writing Samples

‣ Samples are written in the local cache

‣ Writer control the creation of instances

‣ The DDS ensures that the local caches for the matched DataReader will be eventually consistent with that of the Data Writer DataWriter Cache

Topic

1 1

Last Sample Written

DataWriter1 2

Page 143: Introducing the OMG DDS to the Aerospace Valley

DataWriter Cache

Topic

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Writing Samples

‣ Samples are written in the local cache

‣ Writer control the creation of instances

‣ The DDS ensures that the local caches for the matched DataReader will be eventually consistent with that of the Data Writer

1 2

Last Sample Written

DataWriter1 3

Page 144: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Application / DDS Coordination

struct Counter { int cID; int count;};#pragma keylist Counter cID

Topic Used in next section.

Page 145: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Application / DDS Coordination

DDS provides three main mechanism for exchanging information with the application

‣ Polling. The application polls from time to time for new data or status changes. The interval might depend on the kind of applications as well as data

‣WaitSets. The application registers a WaitSet with DDS and waits (i.e. is suspended) until one of the specified events has happened.

‣ Listeners. The application registers a listener with a specific DDS entity to be notified when relevant events occur, such as state changes or

Page 146: Introducing the OMG DDS to the Aerospace Valley

• PART I -- The DDS Standard

• PART II -- OpenSplice DDS

• PART III -- CoFlight Use Case

Presentation Roadmap

Page 147: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Big News

‣PrismTech embrace the perspective that “The Future of Software is Open Source” and in alignment with its vision, strategy, and pedigree, releases OpenSplice | DDS as Open Source Software

‣This release, provides the Open Source Community with access to the most advanced and field proven extreme performance data distribution technology

‣This release, sets a landmark in middleware history!

Page 148: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Why Open Source?

Page 149: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Future is Open SourceWinning Aspects of the Open Source Model

‣ The Open Source Model establishes a virtuous cycle based on generosity with a non-linear return for community members who donate their time, skills, ideas, money, etc.

‣ The Open Source Model empowers users

‣ The Open Source Model removes boundaries and is able to “pick the brain” of the smartest people around the world that are willing to contribute

‣ The Open Source Model removes adoptions barriers

‣ The Open Source Model is able to benefit even from egoistic/free-riding behaviour

Page 150: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Future is Open SourceMarket Evidences

‣ Open Source software is being increasingly adopted and chosen in place of proprietary software by corporate and administrations

‣ Government EU/US/China

‣ DoD ACT HR 5658

‣ The Open Source Software consistently delivers higher quality and more innovative solutions when compared to closed proprietary software

‣ Ex. GNU Software, Linux OS, Firefox, etc.

‣ Open Source Software market share is consistently growing, and will be further propelled by the Financial Crisis

Page 151: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Open Source Strategic Value

Open Source Software delivers key Strategic Value to Users:

‣No Technology Adoption Barriers

‣Larger Pool of Talent

‣Better Support

‣A Platform for User-Driven Innovation

‣Security of Supply

‣Better TCO when compared with Proprietary SW

...A User Perspective

Page 152: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

OpenSplice DDS v4.1

Page 153: Introducing the OMG DDS to the Aerospace Valley

Enterprise Ed.

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

OpenSplice DDS v4.1

‣ Product reorganized into Editions‣ Community Edition

‣ Compact Edition

‣ Professional Edition

‣ Enterprise Edition

‣ Product Editions provide a a growing set of functionality to address the needs of increasingly more sophisticated users

‣ The Community Edition is Open Source

‣ Compact, Enterprise and Professional Edition are available only through Commercial Subscriptions

Enterprise Ed.

Community Ed.

Compact Ed.

Professional Ed.

Page 154: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Community EditionFeatures

‣ OMG DDS v1.2 DCPS‣Minimum Profile

‣ Content Subscription Profile

‣ Durability Profile

‣ Ownership Profile

‣ Networking‣ DDSI v2.1 Implementation

‣ Real-Time Networking Implementation

Ownership DurabilityContent

Subscription

Minimum Profile

Real-Time Pub/Sub (DCPS)

Networking Technology

Application

UDP/IP

Interoperable Wire Protocol (DDSI)

DD

SI v

2.1

DD

S v

1.2

Real-Time Networking

Open Source LGPL Licensed Edition -- The Best Way to Get Started with DDS

Licensing

‣ LGPLv3

Page 155: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Compact EditionFeatures

‣ OMG DDS v1.2 DCPS‣Minimum Profile

‣ Content Subscription Profile

‣ Durability Profile

‣ Ownership Profile

‣ Networking‣ DDSI v2.1 Implementation

‣ Real-Time Networking Implementation

‣ PowerTools‣MDE PowerTools

‣Tuner

Ownership DurabilityContent

Subscription

Minimum Profile

Real-Time Pub/Sub (DCPS)

Networking Technology

Application

UDP/IP

Interoperable Wire Protocol (DDSI)

DD

SI v

2.1

DD

S v

1.2

Real-Time Networking

PowerTools

MDE

Tuner

Commercially Supported, Boosting Your Development with PowerTools

Licensing

‣ Commercial + PrismTech Source Code License

Page 156: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Professional EditionFeatures

‣ OMG DDS v1.2 DCPS+DLRL‣Minimum Profile

‣ Content Subscription Profile

‣ Durability Profile

‣ Ownership Profile

‣ Data Local Reconstruction Layer

‣ Networking‣ DDSI v2.1 Implementation

‣ Real-Time Networking Implementation

‣ PowerTools‣MDE Power Tools

‣ Tuner

Object/Relational Mapping

Ownership DurabilityContent

Subscription

Minimum Profile

Real-Time Pub/Sub (DCPS)

Object-Oriented Pub/Sub (DLRL)

Application

UDP/IP

DD

SI v

2.1

DD

S v

1.2

SOAP

Connectors

PowerTools

MDE

Tuner

Networking Technology

Interoperable Wire Protocol (DDSI)

Real-Time Networking

Unleash the Full Power of the DDS Technology!

Licensing

‣ Commercial + PrismTech Source Code License

‣ Connectors‣ SOAP Connector

Page 157: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Enterprise EditionFeatures

‣ OMG DDS v1.2 (DCPS+DLRL)‣ Minimum Profile

‣ Content Subscription Profile

‣ Durability Profile

‣ Ownership Profile

‣ Data Local Reconstruction Layer

‣ Networking‣ DDSI v2.1 Implementation

‣ Real-Time Networking Implementation

‣ Spiked Absorber

‣ Secure Networking

‣ PowerTools‣ MDE Power Tools

‣ Tuner

Object/Relational Mapping

Ownership PersistenceContent

Subscription

Minimum Profile

Real-Time Pub/Sub(DCPS)

Object-Oriented Pub/Sub (DLRL)

Networking Technology

Application

UDP/IP

Interoperable Wire Protocol (DDSI)

DD

SI v

2.1

DD

S v

1.2

Real-Time Networking

SOAPSecure Networking

DBMS

Spike Absorber

Connectors

PowerTools

MDE

Tuner

Connectors

Licensing

‣ Commercial + PrismTech Source Code License

Connect Your Enterprise Seamlessly and in Real-Time!

‣ Connectors‣ SOAP Connector

‣ DBMS Connector

Page 158: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Editions and Commercial Support

Commercial Support

‣ Available only for Compact, Professional and Enterprise

‣ Supported SLA are:‣ Standard (8x5)

‣ Silver (12x5)

‣ Gold (24x7x365)

Community Compact Professional EnterpriseSOFTWARE

Real-Time Pub/Sub (DCPS)Interoperable Wire Protocol (DDSI)

Object Oriented Pub/Sub(DLRL)Spike Absorber

Security

CONNECTORSSOAP-ConnectorDBMS-Connector

TOOLSMDE PowerTools

TunerDDS TouchStone

Operating SystemsLinux

WindowsSolaris

AIXVxWorks

INTEGRITY

Language BindingC

C++Java

C#

LICENSE

x x x xx x x x

x xxx

x xx

x x xx x x

x x x x

x x(1) x(1) x(1)

x x(1) x(1) x(1)

x(1) x(1)

x(1) x(1)

x(1) x(1) x(1)

x(1) x(1) x(1)

x x x xx x x xx x x xx x x x

LGPL Commercial Commercial Commercial(1) One per subscription

Page 159: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Service Offering‣ Enable our customers and partners to

deliver innovative solutions “on-time”, “on-budget”, and “on-quality”.

‣ Methodology covering the entire life-cycle of all customer projects, regardless of size, scope, and duration

‣ Provides all you need for supporting and catalyzing each stage of your project by means of training, workshops, and consulting.

‣ Services are delivered by highly-valued world-class consultants, including world-renowned technology and domain experts, and are available in 6 languages (English, French, German, Italian, Dutch, and Arabic).

Discover & Analyze

Mobilize & Plan

Design Implement Deploy Sustain

Tra

inin

gW

ork

sh

op

Co

ns

ult

ing

Beginner

Intermediate

Advanced

Accelerated Evaluation

Requirements Discovery

Architectural Patterns

System Analysis and Design

Customization / Enahncements

Infrastructure / Application Development

Information Modeling

Performance Optimization

Tuning Your Deployment

On Site Consulting, Support, and Mentoring

Page 160: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Who is Using OpenSplice DDS

Page 161: Introducing the OMG DDS to the Aerospace Valley

© 2009, PrismTech. All Rights Reserved

Some OpenSplice DDS Users

!"#$%&'()('*+'##,-+.+/($$,012"0

!"(-/'0&3+4"25&0+-2",6+"78+29:;<=7>?

@A6BC+/DEF=7>>;>

4"25&0

'0,G+HII+JCKA+B@+CA+LI+L6

4DM+G+HII+JCKA+B@+CA+LI+LL

10NG!""#$%%&&&'#()*+",-!'. .-/+. .

Marcoussis, le 28/08/09

Expertise pour la RATPréalisée par Bernard MAUDRY les 29 et 29 juillet 2009

La RATP va utiliser OpenSplice/DDS pour remplacer son système AGS de gestion des équipements de station.

Dans ce cadre, elle a demandé à PrismTech d'effectuer une expertise de son ébauche de conception du nouveau système et de fournir des informations complémentaires et des conseils afin d'exploiter au mieux les possibilités d'OpenSplice/DDS.

La première journée a été consacrée à la présentation de la conception préliminaire, à sa correction et aux suggestions concernant son évolution. La conception initiale a été fortement impactée et les modifications nécessaires impliqueront probablement une nouvelle revue afin de valider les derniers détails.

La deuxième journée a principalement été dédiée à la réponse aux questions de comportement d'OpenSplice/DDS dans les situations les plus délicates que rencontrera le nouveau système, en tenant compte de l'architecture choisie.

Cette architecture comprend les éléments suivants:! le système est structuré en «lignes» comprenant un centre de contrôle de ligne (niveau 2) et des

stations (niveau 1). Une ligne de métro ou de RER peut être décomposée en plusieurs «lignes», auquel cas un des centre de contrôle peut être amené à supplanter un ou plusieurs des autres de cette ligne.

! Des centres de niveau 3 peuvent intervenir sur n'importe quelle ligne? Le centre de maintenance (Toscane)? Le centre de gestion de la ventilation? Des postes d'intervention (action à partir de n'importe quel endroit du réseau)

! Une adresse IP classe A est associée à chaque ligne! Une station comprend une noeud de gestion (redondé) chargé de la gestion des équipements de

la station et un poste opérateur0123.14..-5#) "56 .7,.89.:;;<=>[email protected](C.D.EFG.H=H.9GG.>>>E8.I.+5)*/J .+K(, . $ [email protected]<.2ARM0OA2AQ.MS.ASR31SQ.$!ST.G==9E=H'. .2ARM0OA2AQ.TUUM@A.$ [email protected]<.HO P.1WASVA.DV0MSA00.L12X< .OA1N.W133AY<.R1OA0PA1Q< .SA::.>SR

Page 162: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Technical Highlights

Page 163: Introducing the OMG DDS to the Aerospace Valley

© 2009, PrismTech. All Rights Reserved

Technical Highlights

Architecture

Page 164: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

OpenSplice DDS Architectural Outlook

Architectural Highlights

‣ Shared-Memory based architecture for minimizing intra-nodal latency, as well as maximizing nodal scalability

‣ Plugglable Service Architecture

‣ Full control over network scheduling

Page 165: Introducing the OMG DDS to the Aerospace Valley

© 2009, PrismTech. All Rights Reserved

Technical Highlights

Performance

Page 166: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

High-Performance on Commodity HW

!"#$%&#'

()(!%(*'

&")&%+)'

&!(,%!)'

),,%$#'

!,*%))'(("%!"'

&&)%*$' $"%"$' ,+%($',($%!+'

,*+%&)'

$&"%,,'

*!#%,&'

)$,%$*'

)"#%*)'

"!+%++'

"*(%)+' ")(%&!' ""&%,&'

,++%++'

!++%++'

$++%++'

#++%++'

*++%++'

)++%++'

"++%++'

&+++%++'

&&++%++'

(+%++'

&+(+%++'

(+(+%++'

,+(+%++'

!+(+%++'

$+(+%++'

#+(+%++'

)' &#' ,(' #!' &()' ($#' $&(' &+(!' (+!)' !+"#'

!"#$%

&'$($)$*+%

!*$$,(*%-./*%

-./0/1/23' 456/'

Test Scenario

‣ Single Threaded Application (multi-threaded networking service)

‣ 8192 bit message batches

Throughput Latency

Inter-Node Latency

‣ 60 usec

Inter-Core Read-Latency

‣ 2 usec

Inter-Core Latency

‣ <10 usec

HW:

‣ Dell blade-server

‣ Dual-core, Dual-CPU, AMD Opteron 2.4 GhzOS

‣ Linux 2.6.21-1.3194.fc7Network

‣ Gigabit Ethernet cards

‣ Dell PowerConnect 5324 switch

Page 167: Introducing the OMG DDS to the Aerospace Valley

© 2009, PrismTech. All Rights Reserved

Technical Highlights

Networking

Page 168: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Real-Time Networking Technology

Scalability and Efficiency

‣ Single shared library for applications & services

‣ Ring-fenced shared memory segment

‣ Data urgency driven network-packing

Architecture

‣ Network-channels

‣ Priority bands

‣ Network-partitions

‣ Multicast Groups

‣ Traffic-shaping‣ Burst/Throughput

Determinism & Safety

‣ Preemptive network-scheduler

‣ Data importance based network-channel selection

‣ Partition based multicast-group selection

‣ Managed critical network-resource

Traffic Shaping

OpenSplice DDSBinding

Networking

Shared

Memory

OpenSplice DDSBinding

Networking

Shared

Memory

Network Channels

Priority Bands

Pre-emptive Network Scheduler

Priority Scheduler

Data Urgency Traffic Pacing

Single Copy per Node

Pack Across Topics/Applications

Optimal Unmarshaling

Fault-Tolerance

‣ Active Channels

‣ Fall back on next highest priority active channel

Page 169: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The Power of Choice

‣ With OpenSplice DDS you can choose wether to use the Real-Time Networking Protocol or the DDSI Interoperability Protocol based on your system requirements w.r.t. real-time behavior, scalability and interoperability

‣ OpenSplice DDS can simultaneously run over its Native Protocol as well as DDSI thus allowing you to chose what best works for you

OpenSplice DDSReal-Time Networking DDSI v2.1

Page 170: Introducing the OMG DDS to the Aerospace Valley

© 2009, PrismTech. All Rights Reserved

Technical Highlights

Durability

Page 171: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durable Data Technology

Goal

‣ Transient QoS. Keep state-data outside the scope/lifecycle of its publishers

‣ Persistence QoS. Keep persistent settings to outlive the system downtime

Architecture

‣ Fault-Tolerant Data Availability‣ Transient -- on memory

‣ Persistent -- on disk

‣ Partitioning‣ DDS Partitions

‣ Alignment‣ Dedicated Channels

Features

‣ Fault-tolerant availability of non-volatile data

‣ Efficient delivery of initial data to late-joining applications

‣ Pluggable Durability Service

‣ Automatic alignment of replicated durability-services

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Dedicated Persistence Service Alignment Channel

Persist Partitions

Persistent Data on Local Disk

Transient Data in Memory

Disk

Page 172: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 173: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 174: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 175: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 176: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 177: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 178: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 179: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 180: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 181: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 182: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 183: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 184: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 185: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Durability Configuration

A

B

CD

E

F

m

J

K

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

OpenSplice DDSBinding

Networking

Shared Memory

OpenSplice DDSBinding

Durability

Disk

Page 186: Introducing the OMG DDS to the Aerospace Valley

© 2009, PrismTech. All Rights Reserved

Technical Highlights

Productivity Tools

Page 187: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Boosting Your Productivity

Provide MDE Tools supporting the various phases of a system development

Information Modeling

Application Modeling

Application Development

Testing

Page 188: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Productivity ToolsEnd-to-End System Design cycle

‣ Information, Application, and Deployment Modeling

‣ Productive and correctness-enforcing modeling environment

Information Modeling

‣ Graphical system-wide Information and QoS Modeling

‣ OpenSplice DDS code-generation

Application Modeling

‣ Graphical application modeling

‣ Pattern-oriented code-generation

Deployment Modeling

‣ Modeling of DDS-configuration Service configuration (networking, durability)

‣ Runtime control with the OpenSplice DDS Tuner

Page 189: Introducing the OMG DDS to the Aerospace Valley

• PART I -- The DDS Standard

• PART II -- OpenSplice DDS

• PART III -- CoFlight Use Case

Presentation Roadmap

Page 190: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Challenges

‣ Predicted traffic growth are not sustainable with currently deployed infrastructures (even when considering HW upgrades)

Adapted from: “NextGen JPDO Overview”

Page 191: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

ChallengesCapacity

‣ Avoid delays to Travelers

‣ With traffic growing fast the future air traffic management system needs a three-fold increase in capacity to avoid traffic congestion.

Efficiency

‣ Those who fly often bear the cost of air navigation services.

‣ Efficiency gains are obtained by improving flight operations and better coordinating airlines, military users, airports and air traffic management bodies.

Environment

‣ Air traffic management professionals reduce this impact by designing fuel-efficient routes, better distributing traffic flows within the available airspace, and optimizing the calculation of departure times.

Page 192: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Challenges

Security

‣ The current security level of the Air Traffic Management (ATM) system has to increase to match threats, protect ATM operations and safeguard citizens’ safe mobility.

Safety

‣ When traffic doubles, the risk is squared

‣ Efforts to maintain safety must be intensified to ensure that the number of incidents does not increase.

Page 193: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

The CoFlight Project

‣ Large program to replace existing Flight Data Processors (FDPs)‣ 5 Centers in France‣ 4 Centers in Italy‣ 2 Centers in Switzerland

‣ Initial Operational Capability by 2009

ATCCBrest

ATCCReimsATCC

Paris

ATCCMilano

ATCCBrindisi

ATCCAix-en-

Provence

ATCCBordeaux

ATCCRoma

ATCCPadova

ATCCGeneve

ATCCZurich

Page 194: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DDS in CoFlight -- FDP Core

‣OpenSplice DDS glues together the most critical components of the CoFlight FDP running at a SWAL-2 assurance level

‣ In this context OpenSplice DDS distributes flights data plans of redundant LANs

DDS

Flight Data Processing Servers

Page 195: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DDS in CoFlight -- CWP

‣ OpenSplice DDS is used within CoFlight to distribute the “external” Flight Data Plan to Controller Working Positions

DDS

Flight Data Processing Servers

DDS

Controllers

Page 196: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

DDS in CoFlight -- IOP‣ OpenSplice DDS is used

to integrate CoFlight-based Centers

‣ OpenSplice DDS is used to provide interoperability with other Interoperable Centers (as per ICOG-2)

DDS

Controllers

Flight Data Processing Servers

Air Traffic Control Center

DDS

Controllers

Flight Data Processing Servers

Air Traffic Control Center

DDS

Controllers

Flight Data Processing Servers

Air Traffic Control Center

A

B

CD

E

F

m

J

K

DDS

Page 197: Introducing the OMG DDS to the Aerospace Valley

D e l i v e r i n g P e r f o r m a n c e , O p e n n e s s , a n d F r e e d o m

OpenSplice DDS

Summing Up

Page 198: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Concluding Remarks -- OMG StandardState of the Art

‣ The OMG DDS Standard uniquely addresses some of the key requirements for next generation Mission Critical Systems

‣ The OMG DDS is one of the few middleware standard defining both API as well as Wire-Protocol, thus ensuring application portability and interworking

‣ The DDS Standard has been recommended/mandated by key administration throughout the world as well as adopted by the most challenging Defense programs

Looking Ahead

‣ The DDS Standard is swiftly moving forward to expand its applicability (Ultra-Large/Small-Scale) simplify its use, and facilitate integration

Object/Relational Mapping

Ownership DurabilityContent

Subscription

Minimum Profile

Data Centric Publish/Subscribe (DCPS)

Data Local Reconstruction Layer (DLRL)

DDS Interoperability Wire Protocol

Application

UDP/IP

Real-Time Publish/Subscribe Protocol

Page 199: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

© 2009, PrismTech. All Rights Reserved

Concluding Remarks‣ OpenSplice DDS is now available as Open

Source Software under LGPL Licensing

‣ This release provide users with access to the most powerful extreme performance data distribution technology available on the market

‣ A set of added value Editions along with a very rich set of Services is available through PrismTech

‣ A vibrant and innovative community is swiftly being established around OpenSplice DDS, thus...

Enterprise Ed.

Community Ed.

Compact Ed.

Professional Ed.

Delivering Performance, Openness, and Freedom

OpenSplice DDS

Embrace Performance, Openness and Freedom. Join the OpenSplice DDS Community

Page 200: Introducing the OMG DDS to the Aerospace Valley

Pro

prie

tary

Info

rmat

ion

- D

istri

butio

n w

ithou

t Exp

ress

ed W

ritte

n P

erm

issi

on is

Pro

hibi

ted.

Online Resources

http://www.opensplice.com/

emailto:[email protected]

http://www.youtube.com/OpenSpliceTube

http://opensplice.blogspot.com http://bit.ly/1Sreg

http://www.dds-forum.org

http://portals.omg.org/dds

© 2009, PrismTech. All Rights Reserved

http://twitter.com/acorsaro/