CS518 2010

Home

General Information

Topics

Materials

Requirements

Policies

The schedule is subject to change as the semester progresses. This page may not be updated once the semester starts. At that point, please refer to the RamCT calendar for the most current information.

Week 1
Introduction and Preliminaries
(Jan 18 - 24)
Topics
  • Course policies, syllabus
  • Characterization of distributed systems (Text chapter 1)
  • System models (Text Chapter 2)
  • Assignment
  • A1. Java RMI: Given Jan 21, Due Feb 18
  • Week 2
    Distributed objects and remote invocation
    (Jan 25 - 31)
    Topics
  • Broker architectural pattern
  • Java RMI
  • Assignment
  • No new assignment
  • Week 3
    Distributed objects and remote invocation
    (Feb 02 - 07)
    Topics From text chapters 4 and 5
  • Programming models
  • Request-reply protocols
  • External data representation
  • Remote references
  • Object models
  • Failure models
  • Assignment
  • No new assignment
  • Week 4
    Distributed objects and remote invocation
    (Feb 08 - 14)
    Topics From text chapters 4 and 5
  • Invocation semantics
  • Implementation of remote method invocation
  • Distributed garbage collection
  • Event notifications
  • Assignment
  • No new assignment
  • Week 5
    Aspect-oriented software development
    (Feb 16 - 18)
    Topics
  • The AOSD paradigm
  • Crosscutting concerns
  • Join point model
  • Pointcuts
  • Aspect weaving
  • AspectJ
  • Assignment
  • A1 due Feb 18
  • Surveys of adaptive software development
    Week 6
    (Feb 22 - 28)
    Topics
  • Guest lecture by Chris Wilcox
  • IBM paper on autonomic computing
  • Survey of compositional adaptation
  • Assignment
  • A2 AspectJ: Assigned Feb 23, due Mar 9
  • Week 7
    Component-based software development (Mar 01 - 07)
    Topics
  • CBSD paradigm
  • CBSD using UML
  • Java Beans model
  • CORBA object model (Text chapter 20)
  • Assignment
  • A2 due Mar 4
  • Week 8
    CBSD and Midterm
    (Mar 08 - 14)
    Topics
  • CORBA component model (papers)
  • Enterprise Java Beans model
  • Assignment
  • No new assignment
  • EXAM Midterm on March 11
    Week 9
    Spring break
    (Mar 15 - 21)
    Week 10
    EJB, Design Patterns
    (Mar 22 - 28)
    Topics
  • Enterprise Java Beans model
  • Interceptor pattern
  • Assignment Project proposal due Mar 25.
    Week 11
    Design patterns
    (Mar 29 - Apr 4)
    Topics
  • Component configurator pattern
  • Overview of OSGi
  • Synchronization patterns
  • Assignment April 1: Document describing use cases and high level design (in class)
    Week 12
    Adaptive software development
    (Apr 5 - 11)
    Topics (Guest lectures)
  • FRACTAL (Minhazur Rahman)
  • Reactor Pattern (Aritra Bandyopadhyay)
  • Assignment April 8-9: Schedule demo of sample application that uses the technology you will incorporate in your project
    Week 13
    Technologies
    (Apr 12 - 18)
    Topics
  • Proactor pattern
  • Introduction to the Spring Framework
  • Assignment April 15-16: Iteration 1. First implementation of application (need not include adaptive features). Schedule a demo in the lab/office.
    Week 14
    Service oriented architectures
    (Apr 19 - 25)
    Topics
  • Introductory concepts (Text chapter 19 and other sources)
  • Loose coupling
  • Stateful vs stateless
  • Idempotent requests
  • Web services
  • SOAP RPC
  • Choreography
  • Assignment April 22-23: Iteration 2. Second implementation of application (must include at least one adaptive feature). Schedule a demo in the lab/office.
    Week 15
    Student project presentations
    (Apr 26 - May 2)
    Topics
  • Team 1: April 27
  • Team 2: April 29
  • Assignment Prepare for final demo and report.
    Week 16
    Student project presentations
    (May 3 - 9)
    Topics
  • Team 3: May 04
  • Team 4: May 06
  • Assignment
  • April 4-6 final demos
  • Final project report due May 7
  • Week 17
    FINAL EXAM WEEK
    (May 10 - 14)
    EXAM Final exam May 12, 3:40 -- 5:40 PM
    Last updated: Mar 27, 2010