User Tools

Site Tools


ongoing

This is an old revision of the document!


Ongoing projects

CPS/1 Emulator

Student: Vahid Bahreman

Supervisor: Z. Stachniak

Description

The manufacturers of tablets, pocket PCs, smart-phones, etc. frequently release software simulators (or emulators) of these devices to emulate the functionality of actual products for cost-effective development of application software (e.g. to test how a given device's software, screen, keyboard, or trackwheel will work with an application under development). These simulators can also be used as sophisticated tools for testing, training and in presentations. The design and implementation of such emulators require a broad computer science expertise from hardware architecture to operating systems and computer graphics.

The history of computing is another area that actively supports the development of emulators of historically significant hardware (mostly computers and game consoles). As a result, there is at least one emulator of almost every significant system. This activity contributes, in the first place, to the preservation and dissemination of significant hardware and software technologies. The project's objective is to design and implement an emulator of the CPS/1 computer – one of the earliest commercially available microprocessor-powered computers. York University Computer Museum is in the possession of CPS-1's design blueprints and other technical documentation. The completed project would be a significant contribution to the preservation of unique Canadian computer technologies.

Background information: The CPS/1 computer was designed and built by a Canadian company Microsystems International Ltd. between 1972 and 73. The computer was built around the first Canadian microprocessor–the MF7114–one of world's earliest microprocessors. Although none of the CPS/1 computers have survived, technical information about the CPS/1 has been preserved. This makes the design and implementation of an emulator possible. More information on http://www.cse.yorku.ca/museum/collections/MIL/MIL.htm

Implementation and Analysis of a Non-blocking Chromatic Search Tree

Student: Trevor Brown

Supervisor: Eric Ruppert

Description

This project seeks to take the theoretical description of the non-blocking chromatic search tree that was developed in a previous CSE4080 project and produce a Java implementation, then perform experiments to test it and compare it with other leading concurrent dictionary structures.

Additionally, many potential performance improvements and structural or algorithmic variations on the aforementioned theoretical description were identified during the last project. This project would attempt to explore many of these variations to further refine the theoretical description, and produce a competitive dictionary algorithm. In particular, this project would provide a dictionary implementation with better worst-case performance guarantees than previous non-blocking dictionary implementations.

Finally, the project would attempt to establish formal proofs that the structure provides guarantees regarding balance and worst-case performance. If time permits, further work will be done towards establishing the correctness of the algorithm.

UCOSP: Development for Encyclopedia of Life

Student: Feng Sun

Supervisor: Vassilios Tzerpos

Description

The Encyclopedia of Life (EOL) is a free, online collaborative encyclopedia intended to document all of the 1.8 million living species known to science. It is compiled from existing databases and from contributions by experts and non-experts throughout the world.

The ultimate criteria of success for a web application is the user experience. EOL is no exception. This project involves creating a framework for describing how visitors are supposed to interact with Encyclopedia of Life. It automatically checks that a new version the EOL code is functioning as expected. It is very beneficial for open source projects to be released often, and automated tests decrease the cost of releases dramatically and ensure the integrity of the data, code, and visual representation. The tests are run either in production or a duplicate of the production environment. The acceptance testing framework can be extended to check any website, not only EOL, by changing the configuration and defining new test suites. It also enables testing a web application with different browsers and operating systems.

Acceptance testing is an import skill for aspiring developers. By participating in this project you will learn the inner mechanics of operating a browser automatically using scripts, emulating a real person's actions. This project will provide experience using Selenium (a leading open source acceptance testing tool), XML, XPATH, CSS selectors, and Behavior Driven Development.

More information: http://www.eol.org

ongoing.1304371065.txt.gz · Last modified: 2011/05/02 21:17 by bil