Research projects using RTI DDS
Research in the Autonomous Systems Laboratory (ASL) focuses on networked systems of humans and robots interacting with an environment in the form of perception and acting. Our lab includes many types of robots (driving, walking, flying) and sensors (laser, vision, thermal). Human operators can act from computer terminals, laptops, or GPS equipped handheld computers. We are using RTI as part of our networking infrastructure in order to enable the sharing of information in a scalable manner, for our research experiments.
Last semester I was the TA for Dr. Bakken's Distributed Systems Concepts and Programming class (CptS 464/564, see http://www.eecs.wsu.edu/~cs464/). It was the first time that we use RTI DDS as our programming platform for the class projects (previously we used ORBacus). We designed three class projects with the help of Dr. Gabriela Ciocarlie. The first one is a “hello world” project. It let the students write a basic program that publishes information over the network. The purpose of this project is to give the students an idea of how middleware actually works and get them familiar with RTI DDS. The second project let the students create a distributed system “Top” functionality using RTI DDS. The publisher sends CPU and memory usage data periodically, and the subscriber uses ContentFilteredTopic to get a subset of the messages. Also, in this project the students used some QosPolicies to control the behavior of their program. In the third project, the students created a simplified public transport system using RTI DDS. We got the idea of this project from the example application of IBM's MQSeriesPublish/SubscribeApplications redbook. In this public transport system, there are buses following different routes with passengers who want to know the status of their bus and when it will arrive at their stop. There may also be operators who need to know the status of the bus fleet from time to time. Graduate students need to take care of the breakdown of a vehicle, which causes its temporary removal from the system, and the adding of a backup vehicle (if available) to the route. Overall, it's a great and successful experience using RTI DDS in the class.
This is a quote from Dr. Bakken on the benefit this technology provides to the student's eductation
"As someone who has researched new kinds of middleware for 20 years, its very important to me that students in my distributed computing course get significant practice programming with middleware. I have used CORBA in the past. However, it has a steeper learning curve (in large part no doubt because clients and servers are fairly tightly coupled), so it would take most students 10-20 hours to get their first "hello, world" program running. This last fall with DDS half of the class got "hello, world" running in an hour or less. I consider that a minor miracle, especially given the heterogeneous interoperability that comes for free, of course along with being much easier to program than at the socket layer. Keep up the great work -- I think this is a very strong testament to the maturity of RTI's DDS products."
Following are some feedbacks from the students:
"I have actually found RTI DDS to be a very mature and well developed product. What I have found especially useful and intriguing about the system is the diversity and maturity of its QoS policies...Another aspect of RTI DDS I have found fascinating is how transparency they have made the discovery process...the last comment I would like to make about RTI DDS is to compliment them on how thorough the majority of their documentation seems to be..."
"The RTI data distribution service eased the development of the project, to a large extent...it provides the options of development in a number of languages...the applications written in different lanuages, running on different hardwares under different operating systems can operate seamlessly over RTI DDS...The RTI DDS framework provides a vast range of QoS policies...RTI DDS provides interoperability with other middleware services like JMS and IBM MQ...Lastly, there is extensive documentation..."
"This is an ideal tool to learn about middleware Pub Sub...better than other existing tools to learn about middleware."
"The framework is actually quite flexible...the framework is powerful and useful. It's a great tool for optimizing the development experience and improving the performance of a distributed system. All things considered, I think RTI DDS is quite a valid choice for many other distributed application scenarios."
"RTI DDS is great way of playing with distributed real-time systems...RTI DDS is a great tool and has helped a lot in the learning process and getting acquainted with real distributed system concepts."
"It is easy to use and has high degree of reliability...The RTI DDS middleware makes the coding for distributed systems simpler..."
The Computers and Real-Time Group (CTR) in University of Cantabria has been working in basic and applied research in the area of real-time technology since 1987.
Our research with DDS aims to develop the appropriate methodologies to build distributed real-time systems amenable to timing analysis. In particular, this research will evaluate different strategies in terms of concurrency, communication mechanisms, QoS support and network protocols to enable the schedulability analysis in distributed systems based on DDS.
Real-Time availability of information is of most importance in large scale distributed interactive simulation in network-centric communication. Information generated from multiple federates must be distributed and made available to interested parties and providing the required QoS for consistent communication. The remainder of this Project discusses design alternative for realizing high performance distributed interactive simulation (DIS) application using the OMG Data Distribution Service (DDS), which is a QoS enabled publish/subscribe platform standard for time-critical, data-centric and large scale distributed networks. The considered application, in the civil domain, is used for remote education in driving schools. An experimental design evaluates the bandwidth and the latency performance of DDS and a comparison with the High Level Architecture performance is given
The Computer Engineering Department in University of Bologna is teaching DDS in its Computer Networks class. The course covers in depth the issues raised by design of typical distributed system services and those supported by the underlying infrastructure, specifically in for heterogeneous distributed systems even those consisting of many nodes.
The objective of this class is to give the ability to analyze the common solutions to problems in distributed systems, and provide the tools to follow the rapid evolution of Information and Communication Technologies, with particular attention to the realities of new developments of Internet services, specifically:
- Concurrency and parallelism
- Latency constraints
- Partial Failure
- Heterogeneity (at different levels)
More details can be seen at: http://www-lia.deis.unibo.it/Courses/RetiLM/Lucidi.html
Course material covering DDS can be found at: http://www-lia.deis.unibo.it/Courses/RetiLM/lucidi/ddsx2.pdf
The Wireless and Multimedia Networking Lab researches both the DDS technology as well as the use of DDS for demanding real-time applications. We have serveral research areas, including:
- Use of DDS for multimedia applications, specifically audio and video distribution on disadvantaged links.
- Scalable discovery protocols for DDS.
- Deployment and configuration of DDS applications.
- Integration of DDS with other networking technologies.