developing mission-critical avionics and defense systems with ada and dds

22
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS The Connectivity Platform for the Industrial Internet of Things™

Upload: real-time-innovations-rti

Post on 16-Apr-2017

1.106 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

Developing Mission-Critical Avionics and Defense Systems with Ada and DDSThe Connectivity Platform for the Industrial Internet of Things™

Page 2: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

2

Application-Level ConnectivityIntra-System and Inter-System

©2015 Real-Time Innovations, Inc.

Sensors

Communications

FusionActuators

Control

Displays

Recording

Page 3: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

3

Operating System

Traditional Approach

• Apps written directly to IPC mechanism• Limited separation between application,

connectivity and integration logic©2015 Real-Time Innovations, Inc.

App or Component

App or Component

Hardware

Operating System

App or Component

App or Component

Hardware

Sockets (TCP or UDP), bus

Shared memory or OS message queues

Page 4: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

4

Challenge #1: Expensive to DevelopRequire Bespoke Connectivity Logic

• Addressing• Discovery / presence / health• Startup order dependencies• Reliability over unreliable transports

(e.g., multicast)• Heterogeneous interoperability

• Reconnections• Failover• State synchronization• Timing control and visibility• Bridging across nets, xports

©2015 Real-Time Innovations, Inc.

Application

OS & Transport

Connectivity

Application

OS & Transport

Connectivity

Page 5: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

5

Challenge #2: Expensive to Redeploy Apps

• Tied to IPC mechanism’s semantics and proximity assumptions

©2015 Real-Time Innovations, Inc.

UDP Socke

ts

TCP Socke

ts

POSIX

Queues

Shared

memory

Queuing

ports

Sampling

ports

Proximity Intra-partition ● ● ● ● ● ●Inter-partition ● ● ● ●Inter-node ● ● AFDX AFDX

Distribution One-to-one ● ● ● Impl ● ●One-to-many mcast ImplMany-to-one ● ● ImplMany-to-many mcast Impl

Reliability Reliable ● Impl ●

Page 6: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

6

Challenge #3: Costs Increase over TimeOften Use Point-to-Point Integration

• Changing or adding components affects others• Necessitates integration work, re-certification• Systems become more stovepipe, brittle and

expensive to maintain over time• O(n2) complexity

©2015 Real-Time Innovations, Inc.

Page 7: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

©2015 Real-Time Innovations, Inc. 7

Data Distribution Service (DDS) Standard

• Managed by Object Management Group (OMG)• Handles connectivity heavy lifting• Replaces custom code, simplifies app logic

DDS APIApplication

Operating System

Application

Operating System

xport1 xportn… xport1 xportn…DDS Library DDS Library

DDS-RTPS Wire Interoperability Protocol:• Interoperable across programming languages, operating systems, CPU families• Interoperates with other Connext DDS products for mixed-criticality environments• Reliable or best effort delivery, even over unreliable transports

Pluggable transport interface:Supports multiple concurrent

Standard semantics:• Data-Centric Publish-Subscribe• Transport independent

Page 8: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

8

Publish/Subscribe for Loose Coupling

• Apps can be added and changed w/o changes to other deployed components• Easy to test; RTI provides record and replay services

©2015 Real-Time Innovations, Inc.

DDS Software Data Bus

Sens

or D

ata

Control App

Com

man

ds

Stat

us

Sensor

Sens

or D

ata

Actuator

Com

man

ds

Stat

us

Sensor

Sens

or D

ata

Display App

Sens

or D

ata

Stat

us

Page 9: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

Why Distribution Middleware?

8.0 Training

5.0 Communications

2.0 Sensors

3.0 Fusion4.0 BMC2

7.0 Visualization

6.0 Sensor Control

1.0 Common Services

Grouping the modules into functional clusters does nothing to change that reality and ease software integration

Hawkeye has functionally oriented software modules

Each module talks to many other modules

RIP TRK MSIWAC TDA

ESM SAFERDR IFF

SEN DSCL4 L16L11

HMI ACIS

DIA NAV IPCCMCPMUX

FIL TDM

Adding new functionality cascades integration re-work across many other modules

CEC

8.0 Training

5.0 Communications

2.0 Sensors

3.0 Fusion4.0 BMC2

7.0 Visualization

6.0 Sensor Control

1.0 Common Services

RIP TRKCEC MSIWAC RAIDERTDA

DWC

CHAT

ESM SAFERDR IFF

SEN DSCDistributed Data Fram

ework

IPv6L4 L16L11

HMI ACIS T4O

DIA NAV IPCCMCPMUX

FIL TDM aADNS TIS

1.0 Common Services

Changing the communication between the modules can ease integration, when the new ‘Publish Subscribe’ approach is used – each module publishes its output w/o regard to who is receiving it, in contrast to the point-to-point approach of traditional inter-process communication

It’s about an architecture that can assimilate evolving functionality, rather than remaining set in time

Page 10: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

10

Data-Centric Publish-Subscribe

• Similar to using a database• Apps publish and subscribe to data objects• DDS maintains shared state for system robustness

– Applications maintain consistent view– Late joining applications get current snapshot, desired history– Not necessary to persist or reliably deliver all messages

PublishSubscribe

Squawk Long Lat Alt

1234 37.4 -122.0

500.0

7654 40.7 -74.0 250.0

Line Flight Dest Arv

UA 567 SFO 7:32

AA 432 LAX 9:15

Squawk Line Flight

1234 UA 567

7654 AA 432

©2015 Real-Time Innovations, Inc.

Page 11: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

11

Facilitates Modular, Open Architectures• Well-defined interfaces between components

– Standard data-centric publish-subscribe paradigm– Well-defined data model using OMG Interface Definition Language (IDL) or XML– Code generation from data model for type safety– Standard network protocol and serialization

• DDS widely used for FACE, UCS, OMS, others• RTI provides FACE Transport Services Segment (TSS) reference implementation

©2015 Real-Time Innovations, Inc.

DDS Application

Operating System

FACE Unit of Portability (UoP)

Operating System

xport1 xportn… xport1 xportn…DDS Library DDS Library

DDS-RTPS Wire Interoperability Protocol

FACE TSS• FACE type-specific Transport

Services (TS) API• Generated from FACE

Platform Data Model by RTI IDL compiler

Page 12: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

Use with New and Existing Systems

New and Updated AppsExisting, Unmodified Apps and

(Sub)Systems

DDS-RTPS Interoperability Protocol

DDS App

DDS Library

DDS App

DDS Library

Transport Transport

Non-DDSApp

DDS Routing Service

Adapter

Non-DDSApp

DDS Routing Service

Adapter

OS & Transport OS & Transport

DDSAPI

Page 13: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

13

Connext DDS Inherently Well-Suited toSafety-Critical Systems

• Non-stop availability– Decentralized architecture– No single point of failure– Support for redundant networks– Automatic failover between redundant publishers– Dynamic upgrades

• No central server or services• Version-independent interoperability protocol

• Control over real-time Quality of Service• Visibility into missed deadlines and presence• Proven in thousands of mission critical systems• RTI’s Connext DDS Cert is DO-178C Level A certifiable

©2015 Real-Time Innovations, Inc.

Page 14: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

14

Example: US Army Asset Tracking System

Legacy Capability:• 500K lines of code• 8 yrs to develop• 21 servers• Achieved: 20K tracked

updates/sec, reliability and uptime challenges

With Connext DDS:• 50K lines of code—order

of magnitude less• 1 yr to develop—8x less• 1 laptop—20x less• Achieved: 250K+ tracked

updates/sec, no single point of failure

“This would not have been possible with any other known technology.”—Network Ops Center Technical Lead

©2015 Real-Time Innovations, Inc.

Page 15: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

15

Secure CertMicroProfessional

RTI’s Connext DDS Product Family

DDS Interoperability Protocol

Full DDS Libraries

Routing Service

Database Integration

DDSSubset

DDS SubsetDO-178C Certifiable

Admin Console

Monitoring

Microsoft Excel

Recording

Replay

Wireshark

Persistence

Prototyper

Queuing

General Purpose& Real-Time Apps

Remote Apps Existing Apps and Devices

Adapter

Small Footprint Apps

High Assurance Apps

JMS API

Security Plugins

Add-ons

©2015 Real-Time Innovations, Inc.

Page 16: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

16

Ada Support

• Ada 2012• AdaCore GNAT Pro• Generate type-specific Ada interface from IDL

and XML type descriptions• Fully interoperable with other DDS apps

– C, C++, C#, Java– Lua, Python, JavaScript (node.js)– LabVIEW, Simulink

©2015 Real-Time Innovations, Inc.

Page 17: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

17

Example Using RTI Shapes Demohttp://www.rti.com/downloads/shapes-demo.html

©2015 Real-Time Innovations, Inc.

Page 18: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

18

Interface Definition (IDL)

©2015 Real-Time Innovations, Inc.

enum ShapeFillKind { SOLID_FILL, TRANSPARENT_FILL, HORIZONTAL_HATCH_FILL, VERTICAL_HATCH_FILL};

struct ShapeType{ string<128> color; //@key long x; long y; long shapesize;};//@Extensibility EXTENSIBLE_EXTENSIBILITY

struct ShapeTypeExtended : ShapeType { ShapeFillKind fillKind; float angle;};//@Extensibility EXTENSIBLE_EXTENSIBILITY

Page 19: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

Publish DataInstance : ShapeTypeExtended_Access;Instance_Handle : aliased Standard.DDS.InstanceHandle_T := Standard.DDS.HANDLE_NIL;… Instance := ShapeTypeExtended_TypeSupport.Create_Data (TRUE);Instance_Handle := ShapeTypeExtended_Writer.Register_Instance (Instance);

-- Assign values to the sampleStandard.DDS.Copy (Instance.parent.color, Standard.DDS.To_DDS_String ("BLUE"));Instance.parent.x := 100;Instance.parent.y := 100;Instance.parent.shapesize := 30;Instance.fillKind := SOLID_FILL;Instance.angle := 0.0;-- Write sampleShapeTypeExtended_Writer.Write (Instance_Data => Instance, Handle => Instance_Handle'Unchecked_Access);

Page 20: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

Receive DataThe_Reader : constant access constant ShapeTypeExtended_DataReader.Ref := ShapeTypeExtended_DataReader.Ref_Access (Reader);Data_Seq : aliased ShapeTypeExtended_Seq.Sequence;Info_Seq : aliased Standard.DDS.SampleInfo_Seq.Sequence;…begin The_Reader.Take (Data_Seq'Access, Info_Seq'Access, …) ;exception when Standard.DDS.NO_DATA => return;end;

for I in 1 .. ShapeTypeExtended_Seq.Get_Length (Data_Seq'Access) loop if SampleInfo_Seq.Get_Reference (Info_Seq'Access, Standard.DDS.Natural (I)).Valid_Data then

ShapeType_IDL_File.ShapeTypeExtended_TypeSupport.Print_Data (ShapeTypeExtended_Seq.Get_Reference (Data_Seq'Access, I)); end if;end loop;The_Reader.Return_Loan (Data_Seq'Access, Info_Seq'Access);

Page 21: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

21

Connext DDS Summary

• Standards compliant• Reduces lifecycle costs

– Development– Integration– Ongoing maintenance and evolution

• Supports real-time and mission-critical systems• Well integrated with AdaCore

©2015 Real-Time Innovations, Inc.

Page 22: Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

rti.com/downloads

Start using DDS Today!Download the FREE complete RTI Connext DDS Pro package for Windows and Linux:

• Leading implementation of DDS• Includes C, C++, C#/.NET and Java APIs• Contact RTI for Ada• Tools to monitor, debug, test, visualize and

prototype distributed applications and systems• Adapters to integrate with existing applications and

IT systems