This course has been renamed to 18-749: Fault-Tolerant Distributed Systems in Spring 2005
Click here for the new course website.


Dependable Distributed Middleware Systems
Spring 2004

18-846: Dependable Middleware Systems
17-654: Analysis of Software Artifacts

HOME  |   RESOURCES   |   LECTURES  |   PROJECTS  




18-846/17-654 Course Home


COURSE DESCRIPTION
This course provides an in-depth and hands-on overview of distributed programming using object-oriented middleware (CORBA and EJB, specifically), with particular emphasis on understanding the fault-tolerance, real-time and performance issues and trade-offs for distributed applications. From this course, students can expect to learn (i) the individual and the combined aspects of real-time and fault tolerance, (ii) the basics of middleware, (iii) tools and techniques for analyzing dependability, and (iv) strengths and weaknesses of current distributed technologies from the respective viewpoints of real-time, fault-tolerance and scalability.

Since the only real way to appreciate dependability issues is to experience them first-hand, a substantial portion of the course content will involve a cooperative team software system implementation project. The project requires the design, implementation, empirical evaluation and end-to-end analysis of a real-time fault-tolerant high-performance distributed middleware application. The lectures, along with regular project meetings with the instructor, will allow students to design and implement realistic middleware applications, to develop working infrastructures to make these applications dependable, and to analyze the effectiveness of their techniques.

12 units (3 hours lecture + 1 hour project meeting per week)

PREREQUISITES
(1) Solid knowledge of C++ and/or Java (if you have a knowledge of Java, you will need to pick a Java-based project in this course; if you have a knowledge of C++, you will need to pick a C++-based project in this course).
(2) Understanding of basic operating systems concepts

MEETING TIMES
TUESDAY AND THURSDAY, 5.00-6.20 PM NSH 1305
PLUS: recitation/project meeting times TBD

PREVIOUS OFFERINGS OF THIS COURSE
18-841/17-654 in Spring 2002

INSTRUCTOR
Prof. Priya Narasimhan contributed significantly to the establishment of the Fault-Tolerant CORBA standard and released a reliable CORBA product as the CTO and Vice-President of Engineering at Eternal Systems. She is now an Assistant Professor of ECE and ISRI. She conducts research in the area of dependable middleware systems, specifically, the MEAD real-time fault-tolerant system and the Starfish proactively survivable system.

Office: Hamerschlag Hall A-303
Tel: 412-268-8801
Email: priya@cs.cmu.edu