Integration Platform For JMPS Using DDS
-
Upload
supreet-oberoi -
Category
Technology
-
view
1.509 -
download
8
description
Transcript of Integration Platform For JMPS Using DDS
Integration Platform for JMPS using a DataOriented ArchitectureOriented Architecture
Supreet OberoiVice President of Engineering
Real-Time Innovations, Inc.
About Joint Mission Planning System
JMPS promises to…
l Provide a framework to enable legacy systems and new COTS products to collaborate– Legacy systems include Portable Flight Planning Software
(PFPS), Air Force Mission Support Systems (AFMSS), Tactical Aircraft Mission Planning Systems (TAMS)
– COTS and GOTS products could include IM, Lotus Notes, – COTS and GOTS products could include IM, Lotus Notes, databases, messaging systems…
Goals of JMPS essential to the success of any Integration Platform
Goal 1: Leverage Existing Systems
l Utilize significant legacy investments:– Portable Flight Planning Software (PFPS)– Air Force Mission Support System (AFMSS)– Tactical Aircraft Mission Planning System (TAMPS)
l Harness COTS technology and messaging technologies:– Email, Chat– File Transfer, Phone…
Goal 2: Share Relevant Data
l Route plans, saved as XML-based “.JRT” files can be changed prior to each flight.
l The changes made by COTS or legacy applications need to be disseminated. Challenges in supporting “joint file manipulation” include:file manipulation” include:– Broadcasting the entire file for even a small change– Tuning dissemination of changes based on nature of the
network links (connected/disconnected, LAN/wireless/radio)– Identifying set of parties affected by the change– Identifying parties classified to see the data– Supporting conflict management when multiple application
change the same data
Goal 3: Automate Integration
l Human-in-the-Loop design for integrating legacy and COTS applications is error-prone, inefficient– What is required is a data-centric design, where each
application gets data that they need, when then need, and howthey need in an automated manner
l Cannot force changing the application to automate integration– Not possible in many cases (e.g., COTS products)– Increases cost of QA, deployment and software maintenance
l Automate transformation of data between different applications
Goal 4: Support Diverse Platforms
l Optimize use of network resources– Each application may need data with a different sense of
urgency– Data may need to be processed differently for sending over
different network links such as radio, wireless, LAN
l Transport Protocols– UDP, Radio, TCP, Shared Memory, Infiniband…
l Operating Systems & Programming Languages
The Way Forward…
Net-Centric Objective
Goal: Build fully integrated real-time net-centric systems.
Need: Seamless integration of many platforms, systems,and their data, overmany transportsusing a variety of technology.
Net-centric Challenges
- Interoperabilitylimitations
- Inflexible implementations
- Performance &- Performance &Scalability Limitations
- Reliability, Availability, and Bandwidth
- Security concerns
- Cost
History: DDS the Standard
l Data Distribution Service for Real-Time Systems– Adopted in June 2003– Finalized in June 2004– Revised June 2005, June 2006– Specification of API for Data-Centric Publish-Subscribe in real-time
distributed systems.
l Interoperability wire protocol– Adopted in July 2006– Revised in July 2007
l Related specifications– UML Profile for DDS– DDS for Light-Weight CCM
l Multiple (7+) Implementations
BoeingFuture Combat
E2C HawkeyeBoeingAWAKS
DDS Adoption – Aerospace & Defense
NorthtropQinetiqSAAB
12
LockheedAEGIS Boeing/Insitu
Unmanned Air Vehicles
Future CombatSystems
RaytheonSSDS
Net-Centric Integration Problem
Net-Centric Implementation FrameworkPart 4: Node Design Guidance Figure 1. c
Air traffic control scenario
Airplane LAN
Alarms
Avionics
Real-Time
Real-Time GatewayGateway
Edge
Control Tower LAN
Airport LAN
Alarms
Arrival timeEnterprise Gateway
Real-Time
Enterprise
Backbone
Gateway
Enterprise
The Solution: DDS Global Data Space
l Data accessible to all interested applications:– Data distribution (publishers and subscribers): DDS– Data management (storage, retrieval, queries): SQL– ESB Integration, Business process integration: WSDL– Rich QoS, automatic discovery and configuration– Real-time and/or high-performance access to data
DBMS
DBMSDBMS
Global Data Space
DistributedNode
DistributedNode
DistributedNode
DistributedNode
DistributedNode
SQL SQL
DDS SQL
DDSWSDL
D T
Why Data-Centric Middleware?
5.0 Communications
2.0 Sensors
3.0 Fusion
4.0 BMC2
6.0 Sensor Control
1.0 Common Servicesl Hawkeye has functionally
oriented software modulesl Each module talks to many
other modulesRIP TRK MSI
WAC TDA
ESM SAFERDR IFF
SEN DSCL4 L16L11
DIA NAV IPCCMCP
MUX
FIL TDM
l Adding new functionality cascades integration re-work across many other
CEC
5.0 Communications
2.0 Sensors
3.0 Fusion
4.0 BMC2
6.0 Sensor Control
1.0 Common Services
RIP TRKCEC MSIWAC RAIDERTDA
DWC
CHAT
ESM SAFERDR IFF
SEN DSCD
istributed Data F
ramew
orkIPv6L4 L16L11
DIA NAV IPCCMCP
MUX
FIL TDM aADNS TIS
1.0 Common Services
8.0 Training7.0 Visualization
l Grouping the modules into functional clusters does nothing to change that reality and ease software integration
UNCLASSIFIED
HMI ACIS
across many other modules 8.0 Training7.0 Visualization
Distributed D
ata Fram
ework
HMI ACIS T4O
l 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
Top reasons to use DDS
l Flexibility and Power of the data-centric model
l Performance & Scalability
l Rich set of built-in servicesl Rich set of built-in services
l Interoperability across platforms and Languages
l Provides/integrates Pub-Sub into SOA
#1 RTI Data-Centric Model
“Global Data Space” generalizes Subject-Based Addressing– Data objects addressed by DomainId, Topic and Key– Domains provide a level of isolation – Topic groups homogeneous subjects (same data-type & meaning) – Key is a generalization of subject
l Key can be any set of fields, not limited to a “x.y.z …” formatted string
Data WriterData Writer
Data WriterData Writer
Data ReaderData Reader
Data Reader
Data ReaderData Writer
Data Object
Key (subject)Topic
Topic: “Market Data”
FieldPayload
Topic: “Order Entry”
Subscriptions: By Topic, Subject, Content
SourceField
Value
Symbol Type ExchangePayload
* * * * *
Volume Bid Ask …
Company Confidential
Subject Filter (for a Reader)
Field
Value
Symbol Type ExchangePayload
* * NYSE *
Subject Filter (for a Reader)
SourceField
Value
Symbol Type Exchange Payload
REUTERS * EQ NYSE Volume > x, Ask < y
Payload Filter (for a Reader)
Topic: “Market Data”
Symbol OrderKind Stop LimitOrderNumber …
#2 Performance & Scalability
l DDS was designed to support high performance
l RTI DDS was developed to maximize performance and minimize jitter
l Advanced techniques employed:– Pre-allocation of memory
l Never allocate/free memory in the critical pathl Never allocate/free memory in the critical path– Use dedicated threads per receive port
l Minimize thread switchingl Avoid expensing operating system calls (e.g. select())
– Maximize concurrencyl Carefully design critical sectionsl Patented concurrent mutex-free thread-safe data structures
– Employ high-performance data-access APIsl Read data by array (no additional copies)l Scatter/gather APIs to access transport. l Buffer loaning for zero copy access
Study on impact of WS technologies for future European ATC: XML is not suitable for European Flight Data Distribution
l Data size explodes 10X vs. CDR– Flight Plans go from 100KB to 1MB
l Communication speed drops 20X
Not good for Radios!!
Source: Christian Esposito and Domenico Cotroneo, Dario Di Crescenzo.
SELEX-SI/Consorzio SESM/University of Naples.
“Flexible Communication Among DDS Publishers and Subscribers”
July 2008, Real-Time Systems Workshop, Washington, DC
#3 Powerful Services & Tools
– High-Availability– Persistent Data– Recording service– Relational Database bridge– Relational Database bridge– Development & Monitoring Tools
#4 Interoperability between platforms & languages
l Data accessible to all interested applications:– Data distribution (publishers and subscribers): DDS
– Data management (storage, retrieval, queries): SQL
– ESB Integration, Business process integration: WSDL
– Legacy Java Integration: JMS
DBMS
DBMSDBMS
Global Data Space
DistributedNode
DistributedNode
DistributedNode
DistributedNode
DistributedNode
SQL JMS
DDS SQL
DDSWSDL
D T
DDS: Multi- Architecture Support
Solaris
RTI DDS
Windows
RTI DDS
Linux
RTI DDS
RTOS
RTI DDS
• Same API for all platforms• Language Independence: C, C++, Java, C#, .NET, ADA• Enterprise and Embedded Support
VxWorks, INTEGRITY, LynxOS
Linux, Solaris, Windows
• Prototype on any platform
RTI DDS: Pluggable Transports
• Enables non-IP centric transports (e.g InfiniBand)
• Allows for multiple transports on same node
• Provides high-performance (zero-copy interface)• Saves bandwidth (compact messages & encapsulation)
Standard IP network(Ethernet, Wifi, etc.)
IPv4 & IPv6
UDP
SharedMemory
InfiniBandCustom
(e.g. Radio)
RTI DDS
Real-time Applications
#5 Provides Real-Time Pub-Sub in SOA
Real-TimeDevices Fault
ToleranceAuditing & Recording
WS-DDS
Tools & Visualization
Database
EventProcessing
Real-Time Pub-Sub/Caching/MessagingSOA &
Real-TimeWeb Services
Real-Time SOA Architecture/Implementation
RT Architecture/Technologyl High Performancel Event-Driven/Publish-Subscribel Small footprintl Quality of Servicel Support for embedded
environmentsl Support for unreliable & low-
DDS Data Bus
l Support for unreliable & low-bandwidth networks
Traditional Enterprisel Low Performancel Client-Serverl Centralized (Server-based)l TCP based
Demo – Integrating COTS with DDS
l Display live DDS Data in Excell Perform real-time computations and chartsl Publish DDS data from Excel
blank history saved demo QoSShapesDemo
Integrating with DDS (1/3)
l Direct DDS integration (programmatic)– Most efficient approach to integration– APIs available in C, C++, Java, .NET (C#, C++/CLI)
l Direct JMS integration– RTI provides peer-peer interoperability between DDS and RTI’s – RTI provides peer-peer interoperability between DDS and RTI’s
Java Message Service driver
l Bridging via a Database– Synchronize between global data space and RDBMS– Support for Oracle RDBMS, Oracle TimesTen, MySQL
Integration with DDS (2/3)
l Web Services– Web Services interface to DDS (WS-DDS)– Mapping between DDS types and XML Schema
l Complex Event Processing– Designed for running queries of high-throughput streaming data– Designed for running queries of high-throughput streaming data– Provide a broad-selection of off-the-shelf input and output
adapters, lowering the cost of integration– Excellent technology to systems with network constraints,
requiring processing of high-throughput data in near-real time
Integrating with DDS (3/3)
Type PerformanceImpedance matching
Integrationeffort
Access to DDS Capabilities
Direct DDS P2P Highest DDS filters, history cache and QoS
Requires programming
All
Direct JMS P2P High DDS filters, history cache
Configuration only
Basic
Summary
history cache and QoS
only
Database bridge
Service-based
Medium to low
SQL in addition to DDS filters, history cache and QoS
Configuration only
Almost all
WS bridge Service-based
Low DDS filters, history cache and QoS
Configuration only
Almost all
CEP as bridge
Service-based
Medium CEP extensions to SQL in addition to DDS filters, history cache and QoS
Minimal Basic
l DDS is a mature international Standard from OMG– Platform Neutral: Operating systems and Programming
Languages– Deployed worldwide in Military systems and other
Demanding real-time applications
l DDS Is mandated by US DoD for Publish-Subscribe
Conclusions
l DDS Is mandated by US DoD for Publish-Subscribe and data-distribution applications
l DDS is ideally suited to Network-Centric Systems– Highly Tunable via Quality of Service (QoS)– Can accommodate unreliable & low-latency transports– Rich services (persistence, filtering, high-availability)