Course Synopsis

CS 395-2 provides an intensive focus on conceptual and practical aspects of designing, implementing, and debugging complex concurrent and distributed software systems using QoS-enabled middleware for distributed real-time and embedded (DRE) systems. Key topics covered in this course include: Design and implementation based on patterns and frameworks are central themes to enable the construction of reusable, extensible, efficient, and maintainable distributed system middleware and applications. In addition, abstraction based on patterns and OO techniques (such as separation of interface from implementation) will be the central concepts and principles throughout the course. These concepts and principles will enable you to construct reusable, extensible, efficient, and maintainable distributed system middleware and applications.

Patterns will be taught so that you will have good role models for structuring their own designs, as well as to clearly articulate the tradeoffs of alternative methods for designing systems. OO techniques will be taught so that you will learn by example how to build highly decentralized distributed system software architectures that decouple inter-dependencies between components.

We will construct distributed system components and applications using popular programming tools available on modern operating systems, such as make, emacs, CVS, C++, CORBA, ACE, OpenDDS, OpenSplice, and TAO. You are expected to be familiar with C++ and UNIX or Windows.


Back to CS 395-2 home page.