Over the past decade, I have led influential R&D efforts at the University of California, Irvine; Washington University, St. Louis; the Defense Advanced Projects Research Agency (DARPA); and Vanderbilt University. In these efforts, I have conducted and managed pioneering research on a range of topics, including patterns, optimization techniques, and empirical analyses of software frameworks that facilitate the development of quality of service (QoS)-enabled middleware and model-driven development (MDD) techniques/tools for distributed real-time and embedded (DRE) systems running over high-speed networks and embedded system interconnects.

The research agenda throughout my career has involved:

I currently direct the Distributed Object Computing (DOC) group at the Institute for Software Integrated Systems (ISIS) at Vanderbilt University, which is internationally recognized as one of the leading research groups on middleware platforms and MDD tools for DRE systems. The research contributions of my work have involved:

The R&D efforts I have led have had a significant impact on academic research and commercial practice. For example, I have published over 300 technical papers and books and am listed as the 135th most cited computer scientist out of a population of 750,548 authors (citeseer.ist.psu.edu/allcitedn.html). Scores of universities throughout the world also use the middleware and MDD tools my research group has developed as the basis for their research and teaching efforts. Moreover, the middleware platforms and MDD tools developed in my research group is used by thousands of developers in hundreds of companies world-wide (including BBN, Boeing, Cisco, Ericsson, Kodak, Lockheed Martin, Lucent, Motorola, NASA/JPL, Nokia, Nortel, Raytheon, SAIC, Siemens, Sprint, and Telcordia) for a wide range of projects (including telecommunications systems, medical imaging systems, real-time avionic systems, and distributed interactive simulation systems).

The remainder of this section describe my research goals and key contributions in more depth, and cites representative examples of my publications. I also summarize my research accomplishments during the past decade.

Description of Research Goals and Contributions

My research on middleware and MDD has produced distributed services, protocols,and tools that enable DRE systems to invoke operations on target objects without concern for their location, language, operating system, or hardware. Software for these types of applications must be flexible, efficient, and predictable. Flexibility is necessary to respond rapidly to application requirements that span an increasingly wide range of media types and traffic patterns. Efficiency and predictability are necessary to support the QoS demands of performance-sensitive and time-sensitive DRE systems.

Despite dramatic increases in the performance of networks and computers, designing and implementing flexible, efficient, and predictable DRE systems remains hard, and substantial time and effort is required to develop and deploy these applications today. My research has therefore focused on innovative techniques, patterns, and MDD tools that have improved DRE system development by:

My specific research goals and contributions are described below.

Rigorously identifying performance bottlenecks and sources of priority inversion and non-determinism in middleware over high-speed networks and embedded systems interconnects. We have developed and employed middleware testbed environments to conduct extensive experiments that systematically identify the performance bottlenecks and sources of priority inversion and non-determinism in communication middleware software on high-speed networks. The experiments in our testbed have studied lower-level network programming mechanisms, such as socket-based C interfaces and the C++ wrappers for sockets, and higher-level middleware, such as Real-time CORBA, which is an open international standard for distributed object computing that has been highly influenced by the our R&D on patterns and middleware.

Our experiments on middleware performance have 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. Thus, the current generation of Real-time CORBA ORBs are now competitive with hand-coded C/C++ TCP/IP implementations. This improvement is important for performance-sensitive, mission-/life-critical DRE application domains, such as real-time avionics and high-speed digital imaging, where the use of higher-level middleware greatly decreases development effort and increases system reliability and flexibility.

Papers published in top journals and conferences related to our empirical studies of middleware performance include:

  1. Angelo Corsaro and Douglas C. Schmidt, ``The Design and Performance of Real-time Java Middleware,'' Special Issue on Middleware for the IEEE Transactions on Parallel and Distributed Systems, Volume 14, Number 11, November 2003.

  2. Andy Gokhale and Douglas C. Schmidt, ``Measuring and Optimizing CORBA Latency and Scalability Over High-speed Networks,'' IEEE Transactions on Computing, April, 1998.

  3. Aniruddha Gokhale and Douglas C. Schmidt, ``Measuring the Performance of Communication Middleware on High-Speed Networks,'' Proceedings of SIGCOMM '96, ACM, San Francisco, August 28-30th, 1996.

Additional publications related to our middleware performance experiments are available at www.dre.vanderbilt.edu/~schmidt.

Developing innovative optimization techniques and DOC middleware software that can achieve high-performance, low latency, and real-time predictability end-to-end. Based on the result of our empirical performance studies described above, we have developed middleware optimization techniques that can yield highly efficient and predictable Object Request Broker (ORB) implementations, without sacrificing flexibility, reuse, or standards-conformance. We have applied and demonstrated these optimization techniques in the context of:

ACE, TAO, CIAO, and ZEN are open-source software that have been used in thousands of DRE systems around the world. As a testament to our prowess in technology transfer, many companies (including OCI, OOMWorks, PrismTechnologies, Remedy, and Riverace) now provide commercial support for ACE, TAO, CIAO, and ZEN using an open-source business model.

The following is a synopsis of the key research contributions and publications stemming from the ACE, TAO, CIAO, and ZEN projects:

Additional publications related to the ACE, TAO, CIAO, and ZEN projects are available at www.dre.vanderbilt.edu/~schmidt.

Discovering and documenting patterns to simplify the development and evolution of middleware and applications for DRE systems. Achieving widespread reuse of middleware requires a concerted focus on the core patterns that underlie middleware and applications. Patterns formalize design expertise and articulate time-proven solutions to forces and problems that arise when developing software. Patterns also aid the development of middleware and applications by expressing the structure and collaboration of components at a level higher than source code or software design models that focus on individual functions, objects, and classes.

During the development of ACE, TAO, CIAO, and ZEN, my research group identified and captured a pattern language of essential middleware patterns for concurrency and networked collaboration. These patterns include the Acceptor-Connector, Active Object, Asynchronous Completion Token, Component Configurator, Double-Checked Locking Optimization, Extension Interface, Half-Sync/Half-Async, Interceptor, Leader/Followers, Monitor Object, Proactor, Reactor, Scoped Locking, Strategized Locking, Thread-Safe Interface, Thread-Specific Storage, and Wrapper Facade. Our experience applying these patterns throughout ACE and TAO illustrates their importance in generating flexible, efficient, and predictable middleware and application software architectures for DRE systems.

Discovering, articulating, and implementing the key patterns via ACE, TAO, CIAO, and ZEN enabled us to develop middleware that can support applications with statistical, e.g., multimedia applications, and deterministic, e.g., avionics flight and mission control systems, QoS requirements. When these patterns are reified into reusable software frameworks and components, they yield middleware that is considerably more efficient and predictable than is possible using existing middleware technologies. In particular, patterns facilitate reuse of middleware when other forms of reuse are infeasible, e.g., due to fundamental differences in operating system mechanisms or programming language features.

Publications related to this topic as part of our R&D activities include:

  1. Douglas C. Schmidt, Michael Stal, Hans Rohert, and Frank Buschmann, Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, John Wiley and Sons, 2000.

  2. Douglas C. Schmidt, David L. Levine, and Chris Cleeland, ``Architectures and Patterns for High-performance, Real-time CORBA Object Request Brokers,'' Advances in Computers, Academic Press, Ed., Marvin Zelkowitz, Volume 48, July 1999.

  3. Douglas C. Schmidt and Chris Cleeland, ``Applying Patterns to Develop Extensible and Maintainable ORB Middleware,'' IEEE Communications, April, 1999.

  4. Douglas C. Schmidt, ``Experience Using Design Patterns to Develop Reuseable Object-Oriented Communication Software,'' Communications of the ACM Special Issue on Object-Oriented Experiences, ACM, Vol. 38, No. 10, October, 1995, pp 65--74.

Additional publications related to patterns documented from the ACE, TAO, CIAO, and ZEN projects are available at www.dre.vanderbilt.edu/~schmidt.

Creating and validating model-driven development techniques and tools. Despite advances in middleware technologies, key challenges must be overcome to create and validate mission-critical DRE systems effectively and productively. For example, developers of DRE systems continue to use ad hoc means to select and compose their applications and middleware due to the lack of formally analyzable and verifiable building block components. To address these issues, we have created model-driven development (MDD) techniques and tools can be used to specify, analyze, optimize, synthesize, validate, and deploy middleware platforms and applications that can meet the needs of mission-critical DRE systems. MDD is an emerging paradigm that combines

Our work on MDD technologies has focused on CoSMIC, which is an open-source toolsuite containing an integrated set of MDD tools that address key lifecycle development challenges of DRE middleware and applications, such as modeling of DRE system deployment and configuration capabilities, their QoS requirements, and QoS adaptation policies used for DRE system QoS management. The CoSMIC tools enable developers of DRE systems to specify, develop, compose, and integrate application and middleware software.

Publications related to CoSMIC as part of our R&D activities include:

  1. Arvind S. Krishna, Emre Turkay, Aniruddha Gokhale, and Douglas C. Schmidt, Model-Driven Techniques for Evaluating the QoS of Middleware Configurations for DRE Systems, Proceedings of the 11th IEEE Real-Time and Embedded Technology and Applications Symposium, San Francisco, CA, March 2005.

  2. Krishnakumar Balasubramanian, Jaiganesh Balasubramanian, Jeff Parsons, Aniruddha Gokhale, and Douglas C. Schmidt, ``A Platform-Independent Component Modeling Language for Distributed Real-time and Embedded Systems,'' Proceedings of the 11th IEEE Real-Time and Embedded Technology and Applications Symposium, San Francisco, CA, March 2005.

  3. George Edwards, Gan Deng, Douglas C. Schmidt, Anirudda Gokhale, and Balachandran Natarajan, ``Model-driven Configuration and Deployment of Component Middleware Publisher/Subscriber Services,'' Proceedings of the 3rd ACM International Conference on Generative Programming and Component Engineering, Vancouver, CA, October 2004.

  4. Aniruddha Gokhale, Krishnakumar Balasubramanian, Jaiganesh Balasubramanian, Arvind Krishna, and George T. Edwards, Gan Deng, Emre Turkay, Jeffrey Parsons, and Douglas C. Schmidt, Model Driven Middleware: A New Paradigm for Deploying and Provisioning Distributed Real-time and Embedded Applications, Elsevier Journal of Science of Computer Programming: Special Issue on Model Driven Architecture, Edited by Mehmet Aksit, 2004.

Additional publications related the MDD efforts on the CoSMIC project are available at www.dre.vanderbilt.edu/~schmidt.