Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Developing Mission-Critical Avionics and Defense Systems with Ada and DDS


Published on

Originally aired 11/19/2015

To watch on-demand:

Published in: Software
  • Be the first to comment

Developing Mission-Critical Avionics and Defense Systems with Ada and DDS

  1. 1. Developing Mission-Critical Avionics and Defense Systems with Ada and DDS The Connectivity Platform for the Industrial Internet of Things™
  2. 2. Application-Level Connectivity Intra-System and Inter-System ©2015 Real-Time Innovations, Inc. Sensors Communications Fusion Actuators Control Displays Recording 2
  3. 3. Operating System Traditional Approach • Apps written directly to IPC mechanism • Limited separation between application, connectivity and integration logic ©2015 Real-Time Innovations, Inc. 3 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
  4. 4. Challenge #1: Expensive to Develop Require 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. 4 Application OS & Transport Connectivity Application OS & Transport Connectivity
  5. 5. Challenge #2: Expensive to Redeploy Apps • Tied to IPC mechanism’s semantics and proximity assumptions ©2015 Real-Time Innovations, Inc. 5 UDP Sockets TCP Sockets 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 Impl Many-to-one ● ● Impl Many-to-many mcast Impl Reliability Reliable ● Impl ●
  6. 6. Challenge #3: Costs Increase over Time Often 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. 6
  7. 7. Data Distribution Service (DDS) Standard • Managed by Object Management Group (OMG) • Handles connectivity heavy lifting • Replaces custom code, simplifies app logic ©2015 Real-Time Innovations, Inc. 7 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
  8. 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. 8 DDS Software Data Bus Control App CommandsSensor SensorData ActuatorSensor SensorData Display App
  9. 9. Why Distribution Middleware? 8.0 Training 5.0 Communications 2.0 Sensors 3.0 Fusion 4.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 MSI WAC TDA ESM SAFERDR IFF SEN DSCL4 L16L11 HMI ACIS DIA NAV IPCCMCP MUX 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 Fusion 4.0 BMC2 7.0 Visualization 6.0 Sensor Control 1.0 Common Services RIP TRKCEC MSI WAC RAIDERTDA DWC CHAT ESM SAFERDR IFF SEN DSC DistributedDataFramework IPv6L4 L16L11 HMI ACIS T4O DIA NAV IPCCMCP MUX 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
  10. 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 Publish Subscribe Squawk Lon g Lat Alt 1234 37.4 -122.0 500.0 7654 40.7 -74.0 250.0 Line Fligh t Dest Arv UA 567 SFO 7:32 AA 432 LAX 9:15 Squawk Lin e Fligh t 1234 UA 567 7654 AA 432 ©2015 Real-Time Innovations, Inc. 10
  11. 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. 11 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
  12. 12. Use with New and Existing Systems New and Updated Apps Existing, Unmodified Apps and (Sub)Systems DDS-RTPS Interoperability Protocol DDS App DDS Library DDS App DDS Library Transport Transport Non-DDS App DDS Routing Service Adapter Non-DDS App DDS Routing Service Adapter OS & Transport OS & Transport DDS API
  13. 13. Connext DDS Inherently Well-Suited to Safety-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. 13
  14. 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. 14
  15. 15. Secure CertMicroProfessional RTI’s Connext DDS Product Family DDS Interoperability Protocol Full DDS Libraries Routing Service Database Integration DDS Subset DDS Subset DO-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. 15
  16. 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. 16
  17. 17. Example Using RTI Shapes Demo ©2015 Real-Time Innovations, Inc. 17
  18. 18. Interface Definition (IDL) ©2015 Real-Time Innovations, Inc. 18 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
  19. 19. Publish Data Instance : 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 sample Standard.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 sample ShapeTypeExtended_Writer.Write (Instance_Data => Instance, Handle => Instance_Handle'Unchecked_Access);
  20. 20. Receive Data The_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);
  21. 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. 21
  22. 22. 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