: Monday : Requirements, Modeling, Architecture, and Design : Patterns and Pattern Languages : Monday All Day Tutorials (8:30 - 17:00)
Pattern-Oriented Software Architecture
Pacific Salon 1
Monday, 8:30, full day
Douglas Schmidt, Vanderbilt University
Tutorial number: 36
Patterns for Concurrent and Distributed Systems
This tutorial describes how to apply patterns, frameworks, and middleware to alleviate the complexity of developing concurrrent and distributed applications. These patterns and frameworks have been used successfully by the speaker on production applications at hundreds of commercial companies and projects.
The tutorial illustrates by example how to significantly simplify and enhance the development of distributed systems that effectively utilizes concurrency and distribution via the use of:
- Object-oriented design techniques, such as patterns, layered modularity, and data/control abstraction
- Object-oriented language features, such as abstract classes, inheritance, dynamic binding, and parameterized types
- Middleware, such as object-oriented frameworks for distributed object computing and component middleware
- Advanced operating system mechanisms, such as event demultiplexing, multi-threading, multi-processing, and explicit dynamic linking
The tutorial examines patterns and framework solutions abstracted from production systems in domains ranging from telecommunication systems, medical systems, real-time avionics and aerospace systems, e-commerce, and automated stock trading to illustrate key technical design and implementation issues. The material presented in this tutorial is based on the book "Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects", Wiley & Sons, 2000, which is the second volume in the highly acclaimed POSA series.
Advanced: The tutorial is intended for programmers familiar with OO development techniques and language features and systems programming and networking concepts.
Douglas Schmidt, Vanderbilt University: Dr. Douglas C. Schmidt is a Full Professor in the Electrical Engineering and Computer Science Department at Vanderbilt University. For over a decade, his research has focused on patterns, optimization techniques, and empirical analyses of object-oriented frameworks that facilitate the development of distributed real-time and embedded (DRE) middleware on parallel platforms running over high-speed networks and embedded system interconnects. In addition to his academic research, Dr. Schmidt has over 15 years of experience leading the development of ACE and TAO, which are widely used DRE middleware frameworks that contain a rich set of components that implement patterns for DRE systems.