Dr. Douglas C. Schmidt is a Professor in the Electrical Engineering
and Computer Science department at Vanderbilt University. His
research focuses on patterns, optimization techniques, and empirical
analyses of object-oriented frameworks that facilitate the development
of distributed real-time and embedded (DRE) middleware running over
high-speed networks and embedded system interconnects. In addition to
his academic research, Dr. Schmidt has over fifteen years of
experience developing DRE middleware, such as ACE and TAO, which are
widely used open-source object-oriented middleware frameworks that
contain a rich set of components that implement patterns for
high-performance DRE systems.
Presentation: "A Pattern Language for Message-oriented Networked Architectures"
Tuesday 14:00 - 14:45, Public Room
The knowledge required to develop complex message-oriented networked
software has historically existed in programming folklore, the heads
of experienced developers, or buried deep in the code. These
locations are not ideal since the effort required to capture and
evolve this knowledge is expensive, time-consuming, and error-prone.
Many popular software modeling methods and tools address certain
aspects of these problems by documenting how a system is designed.
However, they only automate limited portions of software development
and do not articulate why a system is designed in a particular way,
which complicates subsequent software reuse and evolution.
Pattern languages (along with frameworks and middleware) are
increasingly popular techniques for addressing key aspects of the
challenges outlined above. Pattern languages codify reusable design
expertise that provides time-proven solutions to commonly occurring
software problems that arise when developing message-oriented
networked software. Frameworks provide both a reusable product-line
architecture -- guided by patterns -- for a family of related
applications and an integrated set of collaborating components that
implement concrete realizations of the architecture. Middleware is
reusable software that leverages patterns and frameworks to bridge
the gap between the functional requirements of applications and the
underlying operating systems, network protocol stacks, and
databases. This talk presents an overview of pattern languages,
frameworks, and middleware, describes how these technologies
complement each other to enhance reuse and productivity, and then
illustrates how they have been applied successfully in practice to
improve the reusability and quality of complex networked software