CMPUT 498:
Concurrency, Performance, (Pride), and Architectures in Software Systems
Department of Computing Science
January 2004

Project: Trigger Scripts Group Project
Due Date, Phase 1: Wednesday, March 3, 2004
Due Date, Phase 2: Wednesday, April 7, 2004
Have one group memember email tar file to instructor before 9 P.M. on due date.
This is a group assignment. Do NOT work individually.

Overview:

You are asked to used the PTrace-based approach from Assignment #1 and implement the functionality that your group proposed. Your assignment should work on the Linux-based workstations in CSC 219.

Phase 1, Part 1 Instructions

  1. Phase 1 is due Wednesday, March 3, 2004. Phase 2 (the final project) is due Wednesday, April 7, 2004.
  2. The Project is worth 50% of your mark for CMPUT 498. Phase 1 is worth 20% of the Project mark (i.e., 10% of your final mark).
  3. This is a group project. You should document, for each phase, what each group member completed towards the group effort.
  4. Phase 1's marks distribution will be: 30% for functionality of the base system (e.g., how much of the promised functionality is working), 20% for your test suite (e.g., coverage, completeness, automation), 30% for code quality and design (as judged by code inspection), and 20% for your report.
  5. You may develop your code on any Linux-based workstation that you care to use. For my own sanity, please make sure it works on the Linux workstations in CSC 219.
  6. As you know Unix groups have been created by ISG/labdmin. I strongly recommend that you use CVS or a similar version control system to manage your code base.

Phase 2 Instructions

  1. Phase 2 (the final project) is due Wednesday, April 7, 2004.
  2. The Project is worth 50% of your mark for CMPUT 498. Phase 2 is worth 80% of the Project mark.
  3. This is a group project. You should document, for each phase, what each group member completed towards the group effort.
  4. Phase 2's marks distribution will be: 50% for functionality of the base system (e.g., how much of the promised functionality is working), 20% for your test suite (e.g., coverage, completeness, automation), 10% for code quality and design (as judged by code inspection), and 20% for your report.
  5. You may develop your code on any Linux-based workstation that you care to use. For my own sanity, please make sure it works on the Linux workstations in CSC 219.
  6. As you know Unix groups have been created by ISG/labdmin. I strongly recommend that you use CVS or a similar version control system to manage your code base.

Mid-Point Project Snapshots

  1. scruf-raid [Tar file]

    Team Members: Benj Carson, Denis Crotty, Bryan Guzak, Johnny Hyunh, Ryan Vogt

  2. Abstracting FTP File Access [Tar file]

    Team Members: Benjamin Chypak, Jay Hoang, Sze-Lai Mok, Todd Mortimer, Stephen Paskaluk, Isaac Yuen

  3. {pride,prejudice} - {pride} [Tar file]

    Team Members: Nolan Bard, Morgan Kan, Mark Lee, Jeff Nouwen, Curtis Onuczko

What to hand in:

All elements are to be handed in by email to your instructor.

All of the following must be packaged into a tar file with the name submit.tar. Information about tar is available from the manual page (see man tar). For example, tar cvf submit.tar Makefile main.c my.h is an archetypal command; be very, very careful of the tar cvf submit.tar part. Before you submit, make sure your tar file works from within a fresh directory.

  1. A README file (ASCII text is fine) for your assignment with: (1) your names (all group members), (2) student numbers (all group members), (3) Unix ids (all group members). The README file must also include a short description of your program, as well as a description of the relevant commands to build (e.g. make all) and how to execute your programs including command line parameters.
  2. A report in HTML file format, in a file called report.html, describing the design, implementation, and testing of your assignment. The report should contain no more than 3000 words. (If lynx -dump -force_html report.html | wc -w is greater than 3300 (i.e., 3000 + a small margin; 3301 is too many words), then marks will be deducted.) You do not need to repeat any information contained in this assignment description. I recommend you spend 25% of your report on an overview of your assignment, 50% on your design and implementation, and 25% on how you tested your program, and some concluding remarks. Note the emphasis on testing your program.
  3. Your source code file(s), including all header files.
  4. All required trigger scripts.
  5. Your Makefile.

Also, make sure that your program does not produce any debugging or extraneous output. Use conditional compilation.