###Reactive Extensions (Rx) Adapters for RTI Connext DDS
Rx4DDS is a research library that integrates Reactive Extensions (Rx) with RTI Connext DDS in C++11, C#, and JavaScript. Rx and DDS are quite complementary because Rx is based on the Observable-Observer pattern, which is analogous to the publish-subscribe pattern of DDS. Furthermore, the core tenet of Rx composition of operations over values that change over time complements DDS instances, which are data objects that change over time. DDS ensures propagation of changes to the interested remote participants. Consequently, combining Rx with DDS enables a coherent end-to-end distributed asynchronous dataflow architecture for both data distribution (which is performed by DDS) and processing (which is done by Rx). Rx and DDS together support location transparency of dataflow-style programs seamlessly. The resulting applications dramatically simplify concurrency to the extent that it can be simply configured.
###Status The Rx4DDS adapters are research prototypes. RxJS adapter works with RTI Connext DDS Node.js Connector. The C# codebase also includes an implementation of the DEBS'13 Grand Challenge using DDS and Rx.NET.
###Resources
- Rx4DDS Main Page
- CppCon2015 presentation Reactive Stream Processing in Industrial IoT using DDS and RxCpp, demos, and video
- DEBS'2015 research paper (newer) Functional Reactive Stream Processing for Data-centric Publish/Subscribe
- Research paper (older) Scalable Reactive Stream Processing Using DDS and Rx
- Rx4DDS.NET Announcement