Proposal for Use of NDDS in Research and in the Classroom at VanderbiltUniversity

Who We Are

We are located at the Institute for Software Integrated Systems (ISIS), affiliated with the Department of Electrical Engineering and Computer Science in the School of Engineering at Vanderbilt University. ISIS is a non-profit institute composed of over 100research scientists, engineers and graduate students, working on diverse projects in computer science and engineering. The following group of faculty, engineers, and Computer Science graduate students from the Distributed Object Computing (DOC) Group at ISIS will be involved directly in the proposed work:

  • Dr. Douglas C. Schmidt – primary faculty contact
  • Phone – (615) 294-9573
  • Email –
  • Mailing address – 2015 Terrace Place, Nashville, TN37203
  • Dr. Andy Gokhale
  • Jeff Parsons
  • Ming Xiong
  • Gan Deng
  • Will Otte
  • Jaiganesh Balasubramanian

Programming experience for this group ranges from 5 to 15+ years. In addition, Dr. Schmidt will offer a Computer Science class this fall, CS 282 (see below), in which approximately 30 graduate and undergraduate students would undertake programming projects using NDDS. We originally learned about RTI’s University Program from Dr. Arno Jacobsen (), who is a professor at the University of Toronto and was involved with the OMG DDS specification.

What We’ve Done

The DOC Group is a distributed research consortium led by Dr. Douglas C. Schmidt and consisting of the DOC group in ISIS at VanderbiltUniversity, Nashville, the Center for Distributed Object Computing in the Computer Science department at WashingtonUniversity and the Laboratory for Distributed Object Computing in the Electrical Engineering and Computer Science department at the University of California, Irvine. The purpose of the DOC group is to support advanced R&D on middleware and modeling tools for distributed real-time and embedded (DRE) systems. The most popular and widely used middleware platforms and modeling tools developed by DOC group include:

  • ACE, which provides a rich set of reusable C++ wrapper facades and framework components that perform common communication software tasks across a range of OS platforms (
  • TAO, which is CORBA middleware that allows clients to invoke operations on distributed objects without concern for object location, programming language, OS platform, communication protocols and interconnects, and hardware (
  • CIAO, which is a real-time CORBA Component Model (CCM) implementation built on top of TAO (
  • CoSMIC, which is a collection of domain-specific modeling languages and their associated analysis/synthesis tools that support various phases of DRE system development, assembly, configuration, and deployment(

Funding for the DOC group comes from DARPA, NSF, AFRL, ONR, and various commercial companies. The DOC group has averaged around $1,000,000 a year in funding for ~20 faculty, staff, graduate, and undergraduate students for the past decade. We are currently collaborating with the following companies:

  • BAE Systems
  • Boeing
  • BBN Technologies
  • Cisco
  • IBM
  • Lockheed Martin
  • Qualcomm
  • Raytheon
  • SAIC
  • Siemens
  • Telcordia
  • Veritas

and with the following universities:

  • CMU
  • Cornell
  • KansasStateUniversity
  • WashingtonUniversity, St. Louis
  • University of California, Berkeley
  • University of California, Irvine
  • University of Rhode Island

We have also been involved with the OMG in efforts related to Real-time CORBA and Model-Integrated Computing.

What We Want to Do

A key focus of ISIS is to develop high-assurance and high-performance DRE system technologies by building prototype systems and deploying them in testbed and production settings. Since its inception in 1998, ISIS has conducted research on foundational technologies and experimental methods related to model-based software and quality of service (QoS)-enabled middleware to enhance the quality and performance of next-generation DRE systems.

ISIS has several DRE-related R&D projects in progress, withthe ACE, TAO, and CIAO projects outlined above being largest. The goal of these projects is to develop flexible, efficient, andpredictable components that automate common DRE systems tasks, such as connection establishment, event demultiplexing, event handler dispatching, message routing, dynamic configuration of services, priority-based real-time thread scheduling, and flexible management of parallel protocol and service processing. ACE, TAO, and CIAO are used by well over 5,000 sites world-wide, including BBN, BellSouth, Boeing, COMSAT, Cisco, HP, Lockheed Martin, Lucent, Mapquest, Merrill Lynch, NASA/JPL, Nokia, Nortel, Qualcomm, Raytheon, Siemens, SAIC, Telcordia, and Veritas.

The DOC Group's sponsors and collaborators increasingly want to see DDS and our other middleware technologies (such as TAO and CIAO) work together seamlessly. We therefore propose to use NDDS to experiment with various techniques for integrating and interoperating between CORBA and DDS. In particular, we want to explore how to combine DDS entities (such as topics, data readers, data writers, and filtering) with CORBA Component Model (CCM) entities (such as event sources and event sinks). We will then illustrate how this combined technology can improve developer productivity (e.g., by leveraging the higher-level abstractions of CCM) without degrading QoS capabilities of DDS).

We expect the project to run 6 months. The focus of our efforts during each month are summarized below:

  • First month
  • Acquire NDDS license and software
  • Install and build NDDS software on ISIS testbed machines
  • Study and run provided examples
  • Second month
  • Extend provided examples
  • Write new examples and run them in the ISIS testbed
  • Study integration of NDDS with CORBA
  • Third month
  • Introduce CS 282 students (see below) to NDDS
  • Use NDDS as the basis of class projects
  • Begin integration of NDDS with CORBA
  • Study integration of NDDS with CCM
  • Fourth month
  • Complete integration of NDDS with CORBA
  • Begin integration of NDDS with CCM
  • Study integration of NDDS with CoSMIC
  • Fifth month
  • Complete integration of NDDS with CCM
  • Begin writing project report
  • Sixth month
  • Finish writing project report
  • Show sponsors and collaborators the QoS and performance advantages of NDDS/CORBA/CCM integration
  • Evaluate CS 282 students' use of NDDS in class projects

In general, the methodology the DOC group at ISIS uses to develop software platforms, tools, and applications for DRE systems involves

  1. Rigorously identifying bottlenecks and key sources of priority inversion and non-determinism
  2. Developing techniques to optimize end-to-end performance
  3. Simplifying and automating DRE software development, validation, and evolution
  4. Creating and validating model-driven development techniques and tools

For example, our R&D on middleware performance has received widespread recognition in academia and industry. As a direct result of the analysis in our work, for instance, many CORBA suppliers have tuned their ORB implementations to improve performance considerably. The current generation of Real-time CORBA ORBs are thus highly competitive with hand-coded C/C++ TCP/IP implementations.

Our plan is to use NDDS to empirically validate the benefits of combining CCM with DDS. We will begin by integrating NDDS into TAO functionality (see the third month milestone above) - a sensible first step given the maturity and simplicity of TAO compared to CIAO. Our next step will be to apply lessons learned from TAO+NDDS integration to integration with CIAO (see the fourth month milestone above). The current release version of CIAO passes events using point-to-point CORBA invocations, but work is well underway to integrate existing TAO event and notification services (both real-time and non-real-time) into CIAO to function as event channels. By the fourth month milestone mark, we will be ready to leverage lessons learned from the CORBA event channel integration to the integration of NDDS with CIAO. The ultimate goal of thiswork is to enable next-generation DRE systems to run efficiently and predictably in a broad range of operational contexts. Having NDDS will enable us to conduct this work using the premier DDS implementation that is available today.

NDDS in the Classroom

CS 282: "Principles of Operating Systems II: Middleware for Distributed Real-time and Embedded Systems"

CS 282 provides an intensive focus on conceptual and practical aspects of designing, implementing, and debugging complex distributed real-time and embedded (DRE) software systems using middleware. Key topics covered in this course include:

  • Developing, documenting, and testing DRE systems using middleware.
  • Developing DRE systems using OO languages, OO frameworks, CORBA, and DDS.
  • Reuse of patterns and software architectures.

Design and implementation based on patterns and frameworks are central themes to enable the construction of reusable, extensible, efficient, and maintainable software for DRE systems. In addition, abstraction based on patterns and OO techniques (such as separation of interface from implementation) will be the central concepts and principles throughout the course. These concepts and principles will enable students to construct reusable, extensible, efficient, and maintainable DRE system software. Patterns will be taught so that students will have good role models for structuring their own designs, as well as to clearly articulate the tradeoffs of alternative methods for designing systems. OO techniques will be taught so that students will learn by example how to build highly decentralized distributed system software architectures that decouple inter-dependencies betweencomponents.

Students will construct DRE system components and applications using popular programming tools and middleware platforms available on modern operating systems, such as make, emacs, CVS, C++, CORBA, ACE, TAO, CIAO, and ideally NDDS if this proposal is supported by RTI. Students are expected to be familiar with C++ and UNIX or Windows.

DOC Group Computing Resources

Hardware

At ISIS - The DOC group at ISIS currently has over 50 high-performance dual-CPU Linux, Windows, and Solaris computers. ISIS recently received an equipment grant from the Office of Naval Research (ONR) Defense University Research Infrastructure Program (DURIP) that is enabling us to build a dedicated cluster of over 200 top-end x86 and PowerPC CPUs running many versions of Linux, Windows, Solaris, Mac OSX, and BSD UNIX. We are enhancing this cluster with control software from EMUlab, which was developed in an NFS-sponsored testbed at the University of Utah to facilitate experimental evaluation of networked systems.

ACCRE - The AdvancedComputingCenter for Research and Education ( at VanderbiltUniversity is a large-scale cluster several thousand Pentium 2.x GHz processors with 1 GB of memory that can be used to perform computationally-intensive research in a diverse range of disciplines at VanderbiltUniversity. ACCRE is available for high-performance computing research for researchers in VanderbiltUniversity, as well as outside of Vanderbilt via the Grid.

Software

The DOC group at ISIS develops and tests its software on a wide range of operating systems using a number of analysis tools. We outline the key operating systems and analysis tools below.

Operating systems

  • Windows
  • Linux
  • Solaris
  • Mac OSX
  • VxWorks

Analysis software

  • Purify
  • Quantify
  • valgrind
  • cachegrind