Developing software for distributed systems that effectively utilizes concurrency over high-speed, low-speed, and mobile networks is hard. This tutorial describes how to apply patterns and middleware frameworks to alleviate the complexity of developing concurrent and networked applications. These patterns and framework components have been used successfully by the speaker on production communication software projects at hundreds of commercial companies for telecommunication systems, network management for personal communication systems, electronic medical imaging systems, real-time avionics, distributed interactive simulations, and automated stock trading.
The tutorial illustrates by example how to simplify and enhance the development of applications that use concurrency and networking via the use of:
Upon completing this tutorial, attendees will be able to:
The material presented in this tutorial appears in the books "Pattern-Oriented Software Architecture: Patterns for Concurrent and Distributed Objects", Wiley & Sons, 2000 and the two-volume "C++ Network Programming" series, Addison-Wesley, 2002.
This tutorial is intended for software developers who are familiar with general object-oriented design and programming techniques (such as patterns, modularity, and information hiding), fundamental OO programming language features (such as classes, inheritance, dynamic binding, and parameterized types), basic systems programming concepts (such as process/thread management, synchronization, and interprocess communication), and networking terminology (such as client/server architectures and TCP/IP).
Dr. Douglas C. Schmidt is an Associate Professor in the Electrical and Computer Engineering department at the University of California, Irvine. His research focuses on patterns, optimization principles, and empirical analyses of object-oriented techniques that facilitate the development of high-performance and real-time distributed object computing middleware on parallel processing platforms running over high-speed networks and embedded system interconnects. Dr. Schmidt is currently the Deputy Director and a Program Manager at the DARPA Information Technology Office (ITO), where he helps set the US IT research and development agenda on autonomous systems, network-centric systems, distributed real-time and embedded systems, and augmented cognition.