Projects


Course Projects

Here are some course projects I did at McGill.

  • COMP 522, Modeling and Simulation
    Project title: A Statechart-based Implementation of A CD Player Program.
    Description: In this project, a CD player program was implemented from its statechart model. The goal was to explore the feasibility of creating an automatic code generator that generates code directly from statechart models. I implemented two versions of the program: one for FreeBSD and one for Linux. The main module and the GUI part of the program were written in Python and the rest was in C.
    Report: Here is the project report in HTML.


  • COMP 766, Distributed Simulation
    Project title: Distributed Simulation of A Simplified PCS System
    Description: One conservative synchronization algorithm for distributed systems was proposed by K.M. Chandy and J. Misra in which null-messages are used for deadlock avoidance. This project is an implementation of that algorithm, and the application is a simplified PCS system.
    Report: Here is the project report in PDF format.

  • COMP 575, Fundamentals of Distributed Algorithms
    Project title: Distributed Knot Detection
    Description:In the communication model of distributed systems, deadlocks occur if and only if knots occur in the system. Therefore deadlock detection becomes knot detection. This project is an implementation of the distributed knot detection algorithm presented by K.M. Chandy and J. Misra in 1983.
    Report:
    Here is the project report in PDF format.

  • COMP 621, Optimizing Compilers
    Project title: Profiling with Jikes RVM
    Description: In this project, the Jikes Research Virtual Machine (RVM) was modified for profiling purposes. The goal was not only to obtain profiling data in a more time-efficient way, but also to allow compiler designers more control over what profiling data to collect.
    Report:
    Here is the project report in PDF format.