|
A Scalable & Extensible Peer-to-Peer Network Simulator
This document describes the background research and system architecture and design for JP2PSim, a Java based
scalable & extensible Peer-to-Peer network simulator. This document is my Master's thesis.
|
p2pThesis.pdf [2553k] |
|
Towards A Peer-To-Peer Simulator
This paper summarizes the background research, and open research problems involved in the development of scalable and extensible
Peer-to-Peer network simulator. This document was accepted for publication in the Proceedings of the International Conference on
Internet Computing, IC '04, Las Vegas, Nevada.
|
HarrisDeugoIC2004.pdf [156k] |
|
JGraphEd - A Java Graph Editor and Graph Drawing Framework
This document describes the system architecture of JGraphEd, and summarizes the implementations of the many algorithms
that were implemented. This document was submitted for evaluation for a graduate-level directed studies course.
|
JGraphEd.pdf [384k] |
|
Embedding Planar Graphs on the Grid - A Review of the Paper by Walter Schnyder
This document provides a review of the landmark paper by Walter Schnyder, which showed that in linear time, a planar graph can
be embedded on linear sized grid. The review of this paper is what inspired the creation of JGraphEd.
|
508-paper-review.pdf [328k] |
|
A Graphical Java Implementation of PQ-Trees
This document describes an implementation of the PQ-Tree data structure introduced by Booth and Lueker.
In addition to implementing this complex data structure, an application was built to visualize and animate the various PQ-Tree operations.
This application was developed as the final project for a graduate level advanced data structures course, and was later incorporated into JGraphEd.
|
pqtreereport.pdf [252k] |
|
A Parallel Algorithm for Answering Shortest Path Queries in Planar Graphs
This presentation describes the C++ implementation of a parallel algorithm for computing the single source shortest path from any node
in a large graph. Graph separator theory was utilized to partition the graph into equal-sized chunks, which were then distributed across
multiple processors. In this manner, the running time of computing shortest paths was dramatically reduced compared to sequential algorithms.
|
parallelsp.pdf [184k] |
|
Parameter-View Generator - A Proto Pattern
This project involved the documentation of a software design pattern.
I chose to document a pattern that I had devised myself for the generation of part of the user interface of the Map Detector System from my
undergraduate honours project. This document was submitted as a final report for a graduate course on Software Design Patterns.
|
pattern.pdf [292k] |
|
Detection of a Graph Representation of Road Networks from City Map Images
This document describes the system architecture of a Java based Map-Detector application. This application allows the user to load a sample image
from a map generating tool such as MapQuest, and use image processing to automatically detect a network graph of the city streets within that image.
The user can then apply algorithms to the resulting graph, such as shortest path computation between two street intersections.
This application was the subject of my undergraduate honours project.
|
mapdetector.pdf [596k] |
|
Online Election System
This document describes the implementation of a 'Virtual Election Booth' where voters can securely and confidentially request
authentification to vote in an election, receive a list of candidates and submit a vote for a candidate of their choice.
This was accomplished through the use of public license cryptography library that provided implementations of algorithms such
as RSA public key crytography and Blowfish symmetric key cryptography. This document was submitted as part of the final project
for a senior undergraduate course on Computer Security & Cryptography.
|
413FinalReport.pdf [63k] |
|
Carleton University Bank System
This document details the software engineering practices employed in the development of a simulated ATM Banking System.
The document includes Requirements Capturing, Use Case Diagrams, Message Sequence Charts, and a summary of Design Decisions.
This was the final report for a group project from a senior undergraduate course on Software Engineering.
It was accompanied by a C++ & ObjecTime model, which had full traceability between the report and the model.
|
304_Final_Doc.pdf [229k] |