Computer Science Department
Section 001 ID -- 271793
Coming in Fall 2001
Section L01 ID -- 277642
Details of this course are available on WebCT. All course notes
and assignments will be available only through
Holly or Lamar account is needed to access WebCT.
Goals and Topics
CS581 is a graduate course in distributed system design and analysis.
Students will learn how to build distributed component-based systems
that are integrated across the internet. Students will be introduced
to design principles underlying distributed systems. This will be a
programming-intensive course and will have a project component.
The following topics will be covered in the course: (Subject to change)
- Characterization of Distributed Systems.
- Examples of Distributed Systems.
- System Models.
- Architectural Models.
- Fundamental Models.
- Distributed Objects and Remote Invocation.
- Communication between Distributed Objects.
- Remote Procedure Calling.
- Events and Notifications.
- Java RMI Case Study.
- Enterprise Java Beans
- CORBA Case Study
- Objects and the internet: IIOP, ORBS, brokers, Web integration, thin
- CORBA Services.
- Name Services.
- Trader Services.
- Event Services.
- Design patterns for Concurrent and Networked objects
- Service access and configuration patterns
- Event handling patterns
- Synchronization patterns
- Concurrency patterns
- Other topics
- Techniques for component-based development
- Issues in certification of distributed component-based software
- Fault tolerance (time permitting)
- Performance (time permitting)
- Operating Systems (CS451) or equivalent course
- and Object-Oriented Design (CS414) or equivalent course
- or Written consent of instructor
US Mail: Computer Science Department, Colorado State University, Fort Collins, CO 80523
Phone: (970) 491-4608
Fax: (970) 491-2466
Office Location: 224 University Services Center
Lectures: MWF 10:00-10:50 Clark C361
Office hours: MWF 2:30-3:30 UNVSC 224, or by appointment
- Required Text:
Distributed Systems: Concepts and Design by George Coulouris,
Jean Dollimore, Tim Kindberg, Addison Wesley Longman,
ISBN: 0-201-61918-0 Copyright 2001, 3rd edition.
- Supplementary Texts:
- Pattern-Oriented Software Architecture, Volume 2: Patterns for
Concurrent and Networked Objects, Douglas Schmidt, Michael Stal,
Hans Rohnert, Frank Buschmann, John Wiley & Sons, 2nd edition Vol 2
(September 25, 2000), ISBN 0471606952.
- Progressing to Distributed Multi-Processing 1/e,, Harinder S. Singh,
Harry Singh, Prentice Hall PTR (ECS Professional), 1999, ISBN 0-13-095683-X.
- Concurrent Programming in Java: Design Principles and Patterns, Doug
Lea, 2nd Edition, Addison-Wesley, Copyright 2000,
- C++ Programming with CORBA, Andreas Vogel, Bhaskar Vasudevan, Maira
Benjamin, Ted Villalba, 1 edition (February 11, 1999), John Wiley and
Sons, Copyright 1999, ISBN 0471283061.
- Programming with Enterprise JavaBeans, JTS, and OTS: Building
Distributed Transactions with Java and C++ , Andreas Vogel,
Madhavan Rangarao, John Wiley and Sons, ISBN 0471319724.
Selected from journals and relevant conferences
Workload and Grading Policy
- 4 individual programming assignments during August --- October
- Research project (groups of 2) - during November.
Several topics will be suggested. Students have the option of
suggesting topics as well. A demo and project report are required at the
end of the semester.
- Implement a distributed component-based system. OR
- Do a literature survey and implement a system. OR
- Do a literature survey and repeat experiments. OR
- Compare performance or qualities of existing implementations.
- Read assigned papers.
- 1 midterm
- 1 final
Last modified: August 24, 2001.