Work sectionPlay sectionTrot home
   WORK : Projects
Curriculum Vitae
Projects
Programs
Useful links

The projects below are a few samples that I did at University from 2002-2004.


Web bookmark management and page update notification tool

A major project for my final year, this focused on the development of a system designed to store multiple user Internet bookmarks, providing users with management and organisation tools, as well as an automatic facility to check bookmarked web pages for changes. If changes are discovered the user is then alerted either by email or when accessing the system. In depth studies of the design were primarily on the usability of the system. The implementation was written in Java (also JSP and Java Servlets) using a MySQL database and a Tomcat web server.


E-Commerce & Agents

A project written for the Agent's module was a supply chain consisting of an Oracle, a client and a number of suppliers. These individuals were implemented as agents to communicate with each other in order to reach agreements. Initially, the Oracle will provide the client with a set of requirements and the supplier with a set of items for which it has ownership. When this process is complete, the client will then send a request to the suppliers of its requirements. The suppliers will then reply to the client either accepting the proposal or refusing the proposal. Only if the supplier can satisfy the request will the supplier send a proposal. If the supplier did refuse, there is no longer communication between the client and supplier agent. For the suppliers that send a proposal to the client, it is now for the client to decide which proposal to accept. When the decision has been finalised, the client will accept one proposal, and reject the remaining supplier proposals. If there were only to be one proposal, the client will automatically accept. The single supplier that has been accepted will now inform the client that it is aware it has won the task of satisfying the client’s requirements.

This scenario was implemented in JADE (Java Agent DEvelopment Framework), which has been specifically designed for the development of multi-agent systems.


Ray tracing

Ray Tracing is a highly successful method used in computer graphics to simulate a 3-D scene in a 2-D view. This technique allows the production of a realistic computer image, and has been implemented in a number of fields such as virtual reality and medical science. Naturally a ray of light will reflect off some object into a focal point i.e. the human eye. However, to use such a technique in computer graphics is highly expensive and inefficient due to the many rays not even reaching the focal point. Therefore a more feasible technique involves ray tracing from the focal point i.e. backwards ray tracing. A finite number of rays begin at the focal point and pass through a 2-D window. Some of these rays will then intersect with objects within the 3-D scene. The rays are mapped to the 2-D window as a RGB (Red, Green, Blue) value. The resultant is a 2-D window consisting of a finite number of pixels that simulate the 3-D scene. Now that the ray tracer can render a 3-D scene, other techniques can be added to improve the realistic properties of the scene. Such techniques include lighting sources, shadowing, and anti-aliasing. These will be discussed further in this document.

The implementation was written as a Java Applet, and modelled a sphere, an infinite chequer-board surface, light sources, and shadowing in one scene.


PDA Human-Computer-Interaction

The purpose of this group project was to design a UCAS day guidance system for prospective students and their families. In order to do so we first had to understand the domain fully. We achieved this through a variety of research methods including interviews, questionnaires and investigating similar systems. Analysing our research findings meant we were able to make basic assumptions about the end-users of the system and the technology available. We also listed some constraints that could affect our project.

We then examined Human Computer Interaction literature for methodologies that were appropriate for this project. It was decided that Task Knowledge Structures (TKS) would enable us to analyse the way users go about completing tasks. This analysis let us create two alternative designs based on the knowledge structures produced by TKS. Using the requirements document that had been created after the initial research these designs were analysed and the results of this analysis produced the final design. A mockup of the final design was demonstrated in Flash.


Web based Personal Organiser

Another group project that required a full software life cycle. The group worked together as a software team, dividing work loads and working towards set milestones. Group meetings provided collaboration of ideas, evaluation of design, and monitoring of progress. The result was a fully implemented multi-user personal organiser written in PHP, using MYSQL and Apache.



©2005 wesley.warner