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:
- Conducting innovative research that created and refined core
middleware and MDD technologies, such as design formalisms, QoS
specification/enforcement techniques, end-to-end middleware
optimizations, and automated tools for specifying, analyzing, and
synthesizing software from higher-level models and
- Working in conjunction with colleagues in academia and
industry to demonstrate and mature middleware technologies in the
context of real-world mission- and life-critical DRE systems, such as
real-time avionics, missile defense, electronic medical imaging,
high-speed network management, distributed interactive simulations,
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
- Developing innovative optimization techniques, middleware
frameworks and components, and MDD tools that can achieve
high-performance, low latency, and real-time predictability end-to-end
across high-speed networks and embedded interconnects.
- Discovering and formalizing patterns and pattern languages to
enhance the development and evolution of middleware and MDD tools to
meet the stringent QoS requirements of DRE systems.
- Identifying and alleviating key performance bottlenecks and
sources of priority inversion and non-determinism in middleware
platforms over local-area and wide-area networks.
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
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
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 middleware bottlenecks
and key sources of priority inversion and non-determinism
- Optimizing end-to-end middleware performance and
- Simplifying and automating middleware software development,
validation, and evolution.
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:
Additional publications related to our middleware performance
experiments are available at
- 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.
- Andy Gokhale and Douglas C. Schmidt,
``Measuring and Optimizing CORBA Latency and Scalability Over
High-speed Networks,'' IEEE Transactions on Computing, April,
- Aniruddha Gokhale and Douglas C. Schmidt,
``Measuring the Performance of Communication Middleware on High-Speed
Networks,'' Proceedings of SIGCOMM '96, ACM, San Francisco, August
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
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
- ADAPTIVE Communication Environment (ACE), which is an
object-oriented toolkit containing frameworks and components that
implement key patterns for DRE systems.
- The ACE ORB (TAO), which is a high-performance, real-time
ORB targeted for DRE systems with hard and soft QoS requirements.
- The Component-Integrated ACE ORB (CIAO), which is a
real-time CORBA Component Model (CCM) implementation built on top of
- ZEN, which is an implementation of Real-time CORBA
implemented using Real-time Java.
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
- A real-time ORB Core that supports deterministic
scheduling and dispatching strategies. TAO's ORB Core concurrency
models are designed to minimize context switching, synchronization,
dynamic memory allocation, and data movement. TAO was the first
standards-based ORB with these capabilities. Papers published on this
- Douglas C. Schmidt, Sumedh Mungee, Sergio
Flores-Gaitan, and Aniruddha Gokhale, ``Software Architectures for
Reducing Priority Inversion and Non-determinism in Real-time Object
Request Brokers,'' Journal of Real-time Systems, Kluwer,
Vol. 21, No. 2, 2001.
- Douglas C. Schmidt, ``Evaluating Architectures
for Multi-threaded CORBA Object Request Brokers,'' Communications
of the ACM, Special Issue on CORBA, ACM, edited by Krishnan
Seetharaman, Volume 41, No. 10, October 1998.
- An optimal active demultiplexing strategy that associates
client requests with target objects in constant time, regardless of
the number of objects and operations. TAO was also the first ORB with
these capabilities. Papers published on this topic include:
- Irfan Pyarali, Carlos O'Ryan, Douglas
C. Schmidt, Nanbor Wang, Vishal Kachroo, and Aniruddha Gokhale,
``Using Principle Patterns to Optimize Real-time ORBs,'' IEEE
Concurrency, Volumn 8, Number 1, January-March 2000.
- Andy Gokhale and Douglas C. Schmidt,
``Measuring and Optimizing CORBA Latency and Scalability Over
High-speed Networks,'' IEEE Transactions on Computing, April,
- A highly optimized CORBA IIOP protocol engine and a
highly optimizing IDL compiler that generates compiled and/or
interpreted stubs and skeletons, which enables applications to make
fine-grained time/space tradeoffs. Papers published on this topic
- Alexander B. Arulanthu, Carlos O'Ryan, Douglas C. Schmidt,
Michael Kircher, and Jeff Parsons, ``The Design and Performance of a
Scalable ORB Architecture for CORBA Asynchronous Messaging,''
Proceedings of the IFIP/ACM Middleware 2000 Conference, Pallisades,
New York, April 3-7, 2000.
- Andy Gokhale and Douglas C. Schmidt, ``Optimizing a CORBA IIOP
Protocol Engine for Minimal Footprint Multimedia Systems,'' IEEE
Journal on Selected Areas in Communications special issue on Service
Enabling Platforms for Networked Multimedia Systems, September,
- Andy Gokhale and Douglas C. Schmidt,
``Techniques for Optimizing CORBA Middleware for Distributed Embedded
Systems'' Proceedings of INFOCOM '99, March 21-25th, New York, New
- A real-time I/O subsystem that minimizes priority
inversion interrupt overhead over high-speed ATM networks and
real-time interconnects, such as VME. Papers published on this topic
- Fred Kuhns, Douglas C. Schmidt, Carlos O'Ryan,
and David L. Levine, ``Supporting High-performance I/O in QoS-enabled
ORB Middleware,'' Cluster Computing: the Journal on Networks,
Software, and Applications, Volume 3, Number 3, 2000.
- Fred Kuhns, Douglas C. Schmidt, David Levine,
and Rajeev Bector, ``The Design and Performance of a Real-time I/O
Subsystem,'' Proceedings of the 5th IEEE Real-Time Technology and
Applications Symposium (RTAS99), Vancouver, British Columbia, Canada,
June 2-4, 1999.
- Real-time event and scheduling services that integrate the
capabilities of TAO described above to form the basis for
next-generation DRE systems for many research and commercial projects,
including Boeing, Cisco, Lockheed Martin, Raytheon, Siemens, and SAIC.
Papers published on this topic:
- Irfan Pyarali, Douglas C. Schmidt, and Ron Cytron,
``Techniques for Enhancing Real-time CORBA Quality of Service,'' the
IEEE Proceedings Special Issue on Real-time Systems,
co-editors Yann-Hang Lee and C. M. Krishna, Volume 91, Number 7, July
- Christopher D. Gill, Douglas C. Schmidt, and Ron Cytron,
``Multi-Paradigm Scheduling for Distributed Real-Time Embedded
Computing,'' IEEE Proceedings Special Issue on Modeling and
Design of Embedded Systems, Volume 91, Number 1, January, 2003.
- Chris Gill, David Levine, and Douglas
C. Schmidt, ``The Design and Performance of a Real-Time CORBA
Scheduling Service,'' The International Journal of Time-Critical
Computing Systems, special issue on Real-Time Middleware, guest
editor Wei Zhao, Volume 20, Number 2, March 2001.
- Douglas C. Schmidt, David Levine, and Sumedh Mungee, ``The Design
of the TAO Real-Time Object Request Broker,'' Computer
Communications, Special Issue on Building Quality of Service into
Distributed System, Elsevier Science, April, 1998.
- Tim Harrison and David Levine and Douglas
C. Schmidt, ``The Design and Performance of a Real-time CORBA Event
Service,'' Proceedings of OOPSLA '97, ACM, Atlanta, GA, October 1997.
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
Publications related to this topic as part of our R&D activities
Additional publications related to patterns documented from the ACE,
TAO, CIAO, and ZEN projects are available at
- Douglas C. Schmidt, Michael Stal, Hans Rohert,
and Frank Buschmann, Pattern-Oriented Software Architecture:
Patterns for Concurrent and Networked Objects, John Wiley and Sons,
- 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.
- Douglas C. Schmidt and Chris Cleeland,
``Applying Patterns to Develop Extensible and Maintainable ORB
Middleware,'' IEEE Communications, April, 1999.
- 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
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
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.
- Metamodeling, which define type systems that precisely
express key characteristics and constraints associated with particular
DRE system application domains, such as software defined radios,
avionics mission computing, and total ship computing environments.
- Domain-specific modeling languages (DSMLs), which provide
programming notations that formalize the process of specifying
application logic and quality of service (QoS)-related requirements in
- Model transformations and code generation that automate and
ensure the consistency of software implementations with analysis
information associated with functional and QoS requirements captured
by models of DRE system structure and behavior.
Publications related to CoSMIC as part of our R&D activities include:
Additional publications related the MDD efforts on the CoSMIC project
are available at
- 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.
- 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.
- 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.
- 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.
Honors and Awards
- Interviewed for Software
- Vice-chair of the IEEE Chapter in
- Elected to three year term as member of the Vanderbilt University Faculty Senate.
- Invited speaker at the dedication of the Henry
Samueli School of Engineering, along with UC Irvine Chancellor,
Ralph Cicerone; Dean of the School of Engineering, Nicolaos
Alexopoulos; Chairperson of the Regents of the University of
California, S. Sue Johnson; President of the University of California,
Dick Atkinson; and CTO and co-founder of Broadcom Henry Samueli.
for Dr. Dobb's journal TechNetCast, October, 24th
for iX magazine, October,
- Received early tenure as an Associated Professor at Washington
University, St. Louis, five years after joining the faculty as an
Assistant Professor in 1994.
- Director of the Center for
Distributed Object Computing at Washington University,
St. Louis since spring of 1999.
- The paper Optimizing the Performance of
the CORBA Internet Inter-ORB Protocol Over ATM was selected as
the best paper in the Software Technology Track in the 31st
Hawaii International Conference on System Sciences (HICSS), Hawaii,
January, 1998 (188 submitted, 77 accepted).
- Listed in Marquis' ``Who's Who in Media and Communications,'' 1997.
- US patent 7,523,471 -- ``Interpretive network daemon implemented
by generic main object,'' in conjunction with Karlheinz Dorn, Dieter
Quehl, Detlef Becker, and Christian Scharf of SIEMENS Medical
Engineering, Erlangen, Germany.
Received joint appointment to the Mallinckrodt Institute
Department of Radiology, Washington University School of
Medicine, February 1996.
- Invited to write the forward section for Dr. Nayeem Islam's
book on Distributed Objects: Methodologies for Customizing
Operating Systems (IEEE Computer Society Press, 1996).
- Selected to participate in the ACM OOPSLA '94
- Invited by Dr. Martina Zitterbart to participate in a 4-week
international exchange program at the Universität Karlsruhe
Institut für Telematik in Karlsruhe, Germany, April 1993.
- Invited to co-author a regular column on distributed object computing
entitled ``Object Interconnections'' for the C++ Report magazine
from July 1994 to present. The co-author is Steve Vinoski, chief
architecture for the HP ORB Plus CORBA object request broker product.
- Invited contributor to the C++ Report magazine from July
1992 to present.
- Served as elected representative to the Associated Graduate Student
organization at the University of California, Irvine from May 1991 to
- Served as elected graduate student representative to the
Computer Science Computing Resource Committee at the University of
California, Irvine from August 1988 to August 1990.
- Invited to work with Dr. Peter G. W. Keen at the International Center
for Information Technology, Washington D.C. on a project assessing
techniques for improving software productivity in the summer of 1987.
- Awarded Teaching and Research Assistantships in Computer Science at
University of California, Irvine during 1986-1994.
- Awarded Research Assistantship in Sociology at the College of William
and Mary during 1985-1986.
Supervision and Advising
- Full-time Staff
- Will Otte
- Jeff Parsons
- Doctoral Student Advisees
- Mike James
- Graduated Students and Former Staff
- Alexander Babu Arulanthu,
currently working for Sylantro in Campbell, CA.
- Shawn Atkins,
currently working at Lucent, in Columbus, OH.
- Everett Anderson,
currently an exchange student in Japan.
- Jaiganesh Balasubramanian, currently works for Zircon Computing,
Balasubramanian, currently at Mathworks, Boston, MA.
- Matt Braun is living in New Zealand with his mother, Carol
Mosley-Braun, who is US ambassador to New Zealand.
- Darrell Brunsch,
currently at Microsoft, Redmond, WA.
- Chris Cleeland,
currently working for OCI.
- Angelo Corsaro,
Doctoral degree, 2004, currently working for PrismTech (AMS) in Italy.
- Gan Deng,
Doctoral degree, 2007, currently working for ADT in Charleston, SC.
- Mayur Deshpande, Doctoral Degree, May 2009.
- Sean Eade, Siemens Corporate Research, Princeton NJ.
- Sergio Flores,
Master's degree, May 1998, currently working at Microsoft.
- Chris Gill,
Doctoral degree, December 2001, currently working at Washington
University, St. Louis, MO.
- Andy Gokhale,
Doctoral degree, May 1998, currently working at Vanderbilt University,
- Priyanka Gontla, MS 2000, working for OCI, Irvine, CA.
- Pradeep Gore, MS
2000, working for OOMWorks, New Jersey.
- Tim Harrison,
Master's degree, January 1997, currently working for Mayasoft.
- James Hill, Doctoral Degree, March 2009, Professor of Computer Science at Indiana University
Purdue University Indianapolis.
- Prashant Jain,
Master's degree, June 1997, currently working at Siemens ZT in Munich,
- Vishal Kachroo, MS
1999, working at Stentorsoft, CA.
- John Kinnebrew, Ph.D., 2010, currently a research scientist at ISIS.
- Michael Kircher,
currently working at Siemens ZT in Munich,
Krishna, PhD 2005, currently working for Qualcomm in San Diego,
- Fred Kuhns,
currently working in the Applied Research Lab at Washington
University, St. Louis.
- Shanshan Jiang, PhD student at Vanderbilt University.
- David Levine,
Director of Engineering, CombineNet, Inc, Pittsburg, PA.
- Sumedh Mungee
Master's degree, May 1998, currently working at Fujitsu in Santa
Parameswaran, MS 2000, working at Telcordia, Morristown, NJ.
- Stoyan Paunov, MS 2006, working at Bloomberg, NYC.
- Irfan Pyarali, PhD
2001, working for OOMWorks, New Jersey.
- Carlos O'Ryan
Doctoral degree, December 2002, currently working at Automated Trading
Desk in Charleston, South Carolina.
- Ossama Othman MS
degree, December 2002, currently at PhD student at UC Irvine.
- Marina Spivak, MS
2000, working at AT Desk, Charleston, SC.
- Nagarajan Surendran,
MS 1999, working for Sylantro in Campbell, CA.
- Sumant Tambe, PhD 2010, working for RTI in the Bay Area.
Turkay, MS in 2005, living in Turkey.
- Pooja Varshneya, May 2010, working for Zircon Computing, Wayne, NJ.
- Nanbor Wang,
Doctoral degree, April 2004, currently working as a research scientist
- Jules White, Doctoral Degree, October 2008, research scientist at ISIS, Nashville, TN.
- Seth Widoff,
currently an MS student at CMU.
- Friedhelm Wolf, MS May 2009, in Germany.
- Ming Xiong, MS in 2007, currently working at ATD, Charleston, SC.
- Doctoral and Masters Committees
- Served on the doctoral dissertation defense for Hamilton Turner, November 2014.
- Served on the doctoral topic defense for Faruk Caglar, November 2014.
- Served on the doctoral topic defense for Hamilton Turner, February 2014.
- Served on the doctoral dissertation defense for Fan Qui, February 2014.
- Served on the doctoral defense for Xiaowei Li, May 2013.
- Served on the doctoral topic defense for Fan Qiu, April 2013.
- Served on the doctoral dissertation defense for Janos Mathe, August 2012.
- Served on the doctoral dissertation defense for Tripti Saxena, July 2012.
- Served on the doctoral dissertation defense for Akshay Dabholkar, April 2012.
- Co-chair of the doctoral dissertation defense for James Edmondson, March 2012.
- Served on the doctoral topic defense for Xiawei Li, March 2012.
- Co-chair of the doctoral topic defense for James Edmondson, December 2011.
- Co-chair of the doctoral dissertation defense for Will Otte, November 2011.
- Served on the doctoral topic defense for Janos Mathe, August 2011.
- Served on the doctoral defense for Liang Dai, April 2011.
- Served on the doctoral defense for Daniel Balasubramanian, March 2011.
- Chair of the doctoral dissertation for Brian Doughtery, March 2011.
- Served on the doctoral topic defense for Will Otte, February 2011.
- Served on the doctoral topic defense for Akshay Dabholkar, February 2011.
- Served on the doctoral defense for Joe Hoffert, February 2011.
- Served on the doctoral topic defense for Tripti Saxena, January 2011.
- Served on the doctoral defense for Nilabja Roy, November 2010
- Served on the doctoral topic defense for Daniel Balasubramanian, October 2010.
- Chair of the doctoral topic defense for Brian Doughtery, June 2010.
- Chair of the masters defense for Pooja Varshneya, May 2010.
- Served on the doctoral topic defense for Sumant Tambe, April 2010.
- Chair of the doctoral topic defense for Nilabja Roy, March 2010.
- Served on doctoral dissertation defense for John Kinnebrew, March 2010.
- Served on doctoral dissertation defense for Shanshan Jiang, November 2009.
- Chair of doctoral topic defense for Joe Hoffert, November 2009.
- Chair of the doctoral dissertation defense for Jai Balasubramanian, September 2009.
- Chair of the masters defense for Friedhelm Wolf, March 2009.
- Served on doctoral dissertation defense for James Hill, March 2009.
- Served on doctoral topic defense for Liang Dai, December 2008.
- Served on doctoral topic defense for Shanshan Jiang, November 2008.
- Served on doctoral dissertation defense for Amogh Kavimandan, November 2008.
- Chair of the doctoral dissertation defense for Nishanth Shankaran, October 2008.
- Served on doctoral topic defense for James Hill, October 2008.
- Chair of the doctoral dissertation defense for Jules White, October 2008.
- Served on doctoral topic defense for Jai Balasubramanian, August 2008.
- Served on doctoral topic defense for Jules White, April 2008.
- Served on doctoral topic defense for Amogh Kavimandan, February 2008.
- Chair of doctoral dissertation defense for Gan Deng, December 2007.
- Chair of doctoral dissertation defense for Krishnakumar
Balasubramanian, September 2007.
- Chair of the doctoral topic defense for Nishanth Shankaran,
- Served on final doctoral dissertation defense for Michael Stal,
University of Groningen, March 2007.
- Chair of doctoral topic defense for Krishnakumar Balasubramanian, March 2006.
- Chair of doctoral topic defense for Gan Deng, March 2006.
- Chair of final doctoral dissertation defense for Arvind Krishna,
- Chair of MS thesis committee for Emre Turkay, summer 2005.
- Chair of doctoral topic defense for Arvind Krishna, summer 2005.
- Served on doctoral topic defense for Karlkim Suwanmongkol, fall 2004.
- Served on the final doctoral dissertation topic defense committee for Aditya Agrawal,
- Served on the final doctoral dissertation defense for Angelo Corsaro, July 2004.
- Served on the final doctoral dissertation defense for Nanbor Wang, April 2004.
- Served on the doctoral topic defense for Angelo Corsaro, October 2003.
- Served on the final doctoral dissertation defense committee for Jonathan
Sprinkle, July, 2003.
- Served on the doctoral dissertation topic defense committee for Aditya Agrawal,
- Served on masters committee for Kirk Kelsey, March 2003.
- Served on the doctoral dissertation topic defense committee for Jonathan
Sprinkle, February, 2003.
- Served as external examiner for Bob Jolliffe's masters thesis
Department of Computer Science, University of South Africa, March,
- Chaired the MS thesis committee for Ossama Othman, December,
- Chaired the final doctoral dissertation committee for Carlos O'Ryan,
- Served on final doctoral dissertation committee for Irfan Pyarali,
- Served on final doctoral dissertation committee for Chris Gill,
- Chaired dissertation topic defense committee for Carlos O'Ryan,
- Served as external examiner for Daniel Heggander's doctoral dissertation
in the Department of Software Engineering and Computer Science at
Blekinge Institute of Technology, Sweden, September, 2001.
- Served as external examiner for Mohammad Radaideh's masters thesis
in the Electrical Engineering department at McMaster's
University, Winter 2000.
- Served as external examiner for David Holmes' doctoral dissertation in the
information and computer sciences department at Macquarie University,
Sydney, Winter 2000.
- Served on final doctoral dissertation committee for Priya Narasimhan, August, 1999.
- Chaired masters committee for Nagarajan Surendran, August, 1999.
- Served on Doctoral final dissertation defense for Christo Papadopoulos,
- Chaired masters committee for Alexander Babu Arulanthu, July, 1999.
- Chaired oral exam committee for Chris Gill, June, 1999.
- Served on dissertation topic defense for Michael Plezbert, February,
- Served on masters committee for Craig Nauman, February, 1999.
- Served on Doctoral exam committee for Chuck Cranor, July, 1998.
- Chair of Doctoral oral exam committee for Andy Gokhale, May, 1998.
- Chair of Masters oral exam committee for Sumedh Mungee, May, 1998.
- Chair of Masters oral exam committee for Sergio Flores, May, 1998.
- Served on Doctoral oral exam committee for Mihai Tutunaru, April, 1998.
- Served on Doctoral oral exam committee for Michael Plezbert, June, 1997.
- Served on Masters committee for Todd Rogers, June 1997.
- Chair of Masters committee for Prashant Jain, June 1997.
- Chair of Doctoral topic defense for James Hu, February 1997.
- Chair of Masters committee for Tim Harrison, February 1997.
- Served on Masters committee for Robert Engel, January 1997.
- Served on committee for final Doctoral dissertation defense of R. Gopalakrishnan, November, 1996.
- Chair of Doctoral topic defense committee for Andy Gokhale, October, 1996.
- Served on committee for final Doctoral dissertation defense of Lorrie Cranor, September, 1996.
- Served on Doctoral dissertation topic proposal committee for Christos
Papadopoulos July, 1995.
- Served on Doctoral dissertation topic proposal committee for Charles Cranor
- Served on oral exam committee for Andy Gokhale
- Served on Doctoral dissertation proposal committee for Lorrie Cranor,
- Served on Doctoral final dissertation defense committee for Donald Wilcox,
- Served on Masters committee for Madhavapeddi Shreedhar,
- Served on Doctoral dissertation topic proposal committee for R. Gopalakrishnan,
- ARINC, Fountain Valley, CA
- ACM, NY, NY
- Advanced Institute of Information Technology, Seoul, Korea
- AG Communication Systems, Phoenix, AZ
- Anderson Consulting, Chicago, IL
- Apple, Cupertino, CA
- AT&T Research, Murray Hill, NJ
- BAE Systems, Greenlawn, NY
- BAE Systems, Wayne, NJ
- BEA, San Jose, CA
- Bellcore, Morristown, NJ
- BellSouth, Atlanta, GA
- Boeing, St. Louis, MO
- Boies, Schiller, and Flexner, Santa Monica, CA
- Bridges and Mavrakakis, Palo Alto, CA
- Credit Suisse, Zurich, Switzerland
- Crosskeys, Ottawa, Canada
- DARPA, Arlington, VA
- Edward D. Jones, St. Louis, MO
- Envision Inc. St. Louis, MO
- Ericsson, Cypress, CA
- GaN Corporation, Huntsville, AL
- Gibson, Dunn, and Crutcher, NY, NY
- Jet Propulsion Lab, Pasadena, CA
- Kilpatrick Stockton, Atlanta, GA
- Kirkland and Ellis, San Francisco, CA
- Kodak Imaging, Rochester, NY
- Lockheed Martin Tactical Systems, Minneapolis, MN
- Lockheed Martin Mission Systems, Boulder, CO
- Lockheed Martin Advanced Technology Lab, Cherry Hill, NJ
- Lucent Bell Labs, Naperville, IL
- Lucent Bell Labs, Murray Hill, NJ
- Lucent, Whippany, NJ
- McDonnell Douglas, St. Louis, MO
- Microsoft, Redmond, WA
- Morgan Stanley, New York, NY
- Motorola Cellular Infrastructure Group, Arlington Heights, IL
- Motorola Iridium, Chandler, AZ
- Motorola Land Mobile Products, Chicago, IL
- National Security Agency, Ft. Meade, MD
- Naval Air Weapons Stations, China Lake, CA
- Nortel, Ottawa, Canada
- Object Computing Institute, St. Louis, MO
- Object Technologies International, Ottawa, CA
- Odetics Broadcasting, Anaheim, CA
- Park, Vaughan, and Fleming, Boise, ID
- PrismTechnologies, Newcastle, UK
- Qualcomm, San Diego, CA
- Raytheon, San Diego, CA
- Riverace, Boston, MA
- SAIC, Washington D.C.
- Siemens Medical Engineering, Erlangen, Germany
- Siemens Corporate Research, Princeton, NJ
- SIGS, New York, NY
- Software Engineering Institute, Pittsburgh, PA
- Teradyne, Chicago, IL
- UC Berkeley Extension, Palo Alto, CA
- UCLA Extension, Los Angeles, CA
- USENIX, Lake Forest, CA
- Wong, Cabello, Lutsch, Rutherford and Brucculeri, Houston, TX
- WMS Gaming, Chicago, IL
- Zircon Computing, Wayne, NJ
Software Tool Expertise
- Guru-level proficiency (12 years) with BSD and System V UNIX (in
particular SunOS 4.1.x, Solaris 2.x, and Sequent Symmetry). Possess
extensive knowledge of UNIX system call APIs, networking protocols,
and kernel functionality (such as BSD TCP/IP network architecture and
System V STREAMS).
- Guru-level proficiency with C++ (11 years) and C (12 years).
- Guru-level with the Common Object Request Broker Architecture
(CORBA) (4 years).
- Guru-level proficiency (10 years) with the user-level communication
interfaces (such as BSD sockets and System V TLI) and numerous UNIX IPC
facilities such as message queues, shared memory, semaphores, STREAM
pipes, and memory mapped files.
- Highly proficient (5 years) with Windows Win32 systems programming APIs
(e.g., networking, virtual memory, and processing/threads).
- Highly proficient with RPC toolkits ONC (4 years) and DCE RPC (1 year).
- Highly proficient with Pascal (4 years), Ada (4 years), YACC and Lex
(8 years), RPCGEN (4 years), CORBA IDL (4 years), Java (1 year).
- Experienced with Mach, x-kernel, Primos, MS DOS, VMS, IBM
TSO, and Macintosh System 7 OS.
- Experienced with UNIX Csh, LaTeX, and ASN.1.
- Experienced with Eiffel, LISP, Prolog, UNIX Ksh and Bourne
shell scripts, and various assemblers.
System Development Experience
- 8/96 -- present: Chief Architect and Systems Programmer
Used C++ to develop The ACE ORB (TAO) at
Washington University, St. Louis. TAO uses ACE to provide a high
performance, real-time CORBA ORB endsystem. TAO is the first real-time
ORB endsystem to support end-to-end Quality of Service guarantees
over ATM networks.
- 5/92 -- present: Chief Architect and Systems
Used C++ to develop the ADAPTIVE Communication
Environment (ACE) at the University of
California, Irvine and Washington University, St. Louis. ACE provides
a set of object-oriented networking programming tools that perform
event demultiplexing, event handler dispatching, connection
establishment, routing, dynamic (re)configuration of application
services, and concurrency control. ACE has been ported to many
versions of UNIX and Windows NT and is currently being used on major
commercial projects by companies such as Motorola, Ericsson, Bellcore,
Siemens, DEC, and Credit Suisse.
- 1/95 -- present: Systems Architect/Programmer
Used C++, CORBA, and the ACE toolkit to design and implement the core
distributed services component for Project Spectrum at the Electronic
Radiology Lab (ERL) at the Washington University School of Medicine
and BJC Health System, in collaboration with the industrial partners
IBM/ISSC, Kodak Health Imaging Systems, and Southwestern Bell
Corporation. Project Spectrum is linking the stand-alone
heterogeneous computer systems of 15 acute care facilities and over
5,500 physicians in the BJC system into a single integrated network.
- 10/94 -- present: Systems Analyst/Programmer
Used CORBA, C++, and the ACE toolkit to design and implement portions
of the distributed systems infrastructure for the Motorola Iridium
project, working as a consultant. Iridium is a global mobile
communication system that will internetwork 66 low-orbit satellites in
order to provide interconnectivity between personal communications
devices operated throughout the world.
- 3/95: Systems Analyst/Programmer
Used C++ and the ACE toolkit to develop a set of distributed
programming infrastructure tools for a Global Limiting System (GLS)
developed by the Swiss bank Credit Suisse. GLS is designed to
calculate the real-time exposure of Credit Suisse to market and credit
risks. GLS is written in C++ and it operates in a distributed
environment linking together several Sun SPARCcenter 2000
- 11/94 -- 2/95: Consultant
Used C++ and OSI NetExpert to design a network management system for
Edward D. Jones, Inc., working as a consultant. The Jones network
management system performs automated fault detection, isolation, and
recovery for a large-scale, satellite-based telecommunication network
that links stock brokers throughout North America with the central
data center in St. Louis, MO.
- 2/94 -- 9/94: Systems Analyst/Programmer
Used C++, CORBA, HP OpenView, and the ACE toolkit to design and
implement portions of the network management subsystem for the
Motorola Iridium project as a consultant for the ARINC Research
Corporation in Fountain Valley, California.
- 11/92 -- Present: Systems Analyst/Programmer
Used Microsoft Visual C++, Windows NT, and the ACE toolkit to design
and implement portions of the uStreams framework, working as a
consultant for Ericsson Business Communications in Cypress,
California. uStreams supports the dynamic configuration of
concurrent, multi-service client/server applications on Windows NT
platforms. This framework utilizes sophisticated object-oriented
techniques to implement and dynamically configure a family of
applications that monitor and manage the Ericsson MD110 PBX and AXE
- 6/90 -- 11/90: Member of the Technical Staff
Designed and implemented portions of the iTRAN distributed
online transaction processing system at Independence Technologies
Inc. in Fremont, California. The iTRAN system runs across
TCP/IP networks that connect UNIX-based workstations and symmetric
multi-processors. Major contributions included a distributed object
management system written in C++ based upon the ASN.1 data description
- 2/88 -- 6/90: Computing Support Programmer
Worked for the computer support group at University of California,
Irvine, maintaining GNU compiler and language processing tools
software on a distributed network of Sun workstations, Sequent
multi-processors, and a Convex C240 supercomputer.
- 5/86 -- 9/86: Statistical Programmer/Analyst
Worked at the National Center for State Courts, Williamsburg, Virginia
on a project concerned with isolating the causes of judicial delay.
This project uses the SPSS statistical analysis package on an IBM 3090
mainframe running TSO.
Back to Douglas
C. Schmidt's home page.