School of Computer Applications DCU
 
Home About Us Research People Prospective Students Current Students Alumni Career Opportunities Staff Intranet
Timetables
Project Submission Form

Final Year Projects - 2000
All links relating to further specifications of the projects are only available internally

The following is a list of URL's  for the final year projects 2000. In each case the students were asked to prepare a functional specification (in HTML), and create links from this to the documentation, source code etc.
Note: The code and documentation collected here represent work done as part of our undergraduate course, and are intended to be used as a reference for future students. The school makes no claim as to their completeness or suitability for a specific purpose, and users are advised to exercise extreme caution when unpacking and running them. As with any collection of third-party code, we strongly recommend that you apply suitable safeguards against viruses or other unexpected behaviour.

CATEGORIES: Artificial IntelligenceA.I. Multimedia
  E-Commerce Distributed Systems
  Language Engineering  

Artificial Intelligence (A.I.)

Virtual Racing Model: A Comparison of Autonomous Objects and their Steering Behaviours and Strategies (or "The red car and the blue car had a race") - Mick Barry & Brian McDermott, Esq.

The Virtual Racing Model (VvRrrrrrrMmmmm) aims to present a model of autonomous objects in a 3D virtual racing simulation and to compare their steering behaviours and strategies. Each car will have an array of options which will decide the behaviour of the cars as they "compete" around the track. These options correspond to the type of AI that is implemented in the cars eg. path following or wall following etc. These strategies and behaviours will enable the cars to improvise their actions to suit the situations as they arise, e.g. if a car is going round a bend not only must it negotiate the bend correctly (i.e. not hit the sides of the track) it must also try not to collide with any car in its vicinity. Various combinations of the given options should lead to radically different strategies and behaviours of the cars. To help illustrate the model more clearly the cars and track shall be rendered in 3D using OpenGL.

Mobile Robot with Camera / "No Strings Attached" - Sinead Armstrong and Louisa Nerney

The aim of this project is to get the robot from a start state to a gaol state avoiding all obstacles in its way. We intend to set up a street/town scenario where the robot has to, given directions, make its way to a certain place on the street, for example find it's way to the post office. The street/town will consist of buildings, traffic lights, pedestrians and other robots. We will make this as complex as we can. The user will be able to give the robot instructions and watch its progress around the world.

The images taken in by the robot and transmitted to the PC will be displayed on screen. So the user will be able to see the world through the eyes of the robot. The images taken in may need to be processed in order for them to make any sense to the user. Other details about the robot will be displayed on screen to the user, for example the maximum speed of the robot.

C++ (Microsoft Developer Studio Visual C++ 5), NQC - 'Not Quite C', a language for programming Lego Mindstorm Robots, Windows 98, VisionSDK and ImageMagick to communicate with the camera from DevStudio, WebCamera, Lego Mindstorm set to build robot.

A computerised version of the game of Chinese Checkers. - ANNE MCDONAGH

Chinese Checkers is played on a board shaped like a six-pointed star. Two to six players may take part. Each player places ten tokens arranged in a triangle of four rows in one of the points of the star. The aim of the game is to move your tokens to the triangle directly opposite. You may move your tokens one step at a time or you may make a series of jumps in one move. The player whose ten tokens arrive first is the winner.

The computer will play against one to five players. The objective is to use the MiniMax algorithm with alpha-beta pruning to ensure the computer always wins. There are variations of the MiniMax algorithm available, depth-first and breadth-first strategies and there is always a trade-off between efficiency and memory space.

The user interface will be a coloured representation of the board with the tokens as movable objects.

The project will be written in Java. A transposition table serves as a cache memory and is used to store information about positions. Each transposition table entry requires about ten bytes of memory and, to get an idea of the memory requirements, in chess most programs have tables in the range 32,000 to 1,000,000 entries.

Fuzzy Logic Backgammon - Allan Cahill

My project is based on producing a functional computer based Backgammon game, which will contest the game with the human opponent. The computer will use fuzzy logic in determining its moves to take during the game, taking into account the choices it has, depending on what is rolled, the present position of its pieces the board as well as the position of the opponents pieces.

Fuzzy Logic has become a popular computing framework, based on the concepts of fuzzy set theory, fuzzy if-then rules, and fuzzy reasoning. The theory in its logic that inputs and outputs are neither true or false, but instead are some degree in between the two, makes it a very useful implement in many areas, where the outcome of inputs and outputs are never certain. This will be useful in this game due to the uncertainty of many of the factors, such as the dice roll and the position of pieces on the board.

It has been proven that accurate evaluation of a position is more effective that a deep search, so for this game, evaluating the board positions is going to be vital. A deep search would not be of any use here, again due to the uncertainty involved

Facial Expressions And Recognition (F.E.A.R.) - Mark Cummins

Facial image recognition is a key area in machine vision and an important technology in areas such as person identification, advanced man-machine interface and security systems...The challenge of face recognition has attracted a lot of interest in recent years with many advances and possible new techniques. I hope to try use some of these techniques to try complete this interesting and challenging project.

I hope to produce an active camera real time system for tracking, shape description, and classification of the human face and facial expressions. The system will use a web cam to view the user, isolate their facial image from the background, locate key facial regions and use these regions in identifying the users changing expressions. The system should be able to tell any users expression (possibility of a graphical representation of the users expression). The system will use techniques such as deformable templates, 2-D blob features and colour histogram matching, and will probably include a neural network.

The project uses:

C++ and Visual C++, Creative Labs Web-camera, Microsoft Vision SDK libraries, advanced pattern matching techniques and will be designed and tested mainly using Windows NT Environment.

Project Estimator - Des Carroll

The aim of this project is to develop an application through Java which will predict project costs, duration and effort and will schedule dates for completion. The tool will use COCOMO (COnstructive COst Model) and estimation by analogy. The tool will account for each of the stages in the process levels of the lifecycle of each project. All results will be displayed by way of bar charts and tables to indicate the progress of a project.

Intelligent Poker Opponent - Alex McCabe

My objective is to create a computer poker opponent whose style and quality of play is similar to the style and quality of play of a human opponent. I intend to allow the computer opponent to assess and alter its style throughout the game, based on its success and the opponents that it is playing. It should adapt to minimise losses or to optimise its winning strategy according to the given opponents. The particular poker variant that I shall tackle is called Texas Hold'Em, a popular variety which includes 5 face-up cards, giving the computer enough information to make good probabilistic predictions. I'll be using artificial neural networks to allow the computer opponent to individually model each players behaviour.

Neural Network Modelling and Maximum Entropy - Marc Harrington

My project involves pattern recognition with a neural network using the maximum entropy method. Neural networks are useful in data modelling but have one drawback, they have too many parameters. Using the maximum entropy method I'll reduce the parameters in the neural net. When the network has been optimised I'll use it for the recognition of images. The images will consist of shapes or faces.

Maximum entropy is a predictive modelling technique for automatically acquiring knowledge from incomplete information, without making any unsubstantiated assumptions.

Art of War - Tim Lehane

My project is a one player turn-based military strategy game for a windowed environment. The game takes the form of a single battle with the user playing against a computer-controlled opponent. The game will allow mouse or keyboard control with all information available for a particular unit available when they are highlighted. The will also be general information such as the number of units left etc available on screen at all times.

It is written in Java using the JDK. It uses various algorithms to give the impression of an intelligent opponent.

2-d to 3-D Room Design - Dermot Lynch

The purpose of my project is to design and write a package which disabled people can use to design the outlay of a house according to their personal choice using a computer. The idea being to give anyone with a disability the chance to make the changes and decisions about their house/flat as they want without having to sort through stacks of information and documents

Objectives

An easy to use and useful application that will give a good real-time impression of what the 2-D design would look like in a 3-D world. All the objects within the environment will be suitable for use by disabled people.

Software Used.

The program will be written in c++ using the OpenGL library running on a Unix machine.

E-Commerce

Secure Communication over WAP (Wireless Application Protocol). - Ronan O’Brien

The main language I'll be using for this project will be Java.

The area I am concentrating on is the TCP/IP public network, as this has the highest vulnerability.

When the user requests information from the "Secure Web Site", the server will automatically initiate the secure transfer session. The user will actually be requesting data from an internal IP, which will then encrypt the request, and send it over TCP/IP to the external site. The external site will decrypt the information, process the request, and return the required information in an encrypted form. The internal server will decrypt the information and pass it on to the user. The end user will be unaware of the step up to secure data transfer. Essentially, it operates like a secure proxy server.

Java-Based Age Verification Server for Messages Sent over the Internet - Eoghan Ó hUallacháin

With the current size of the Internet, and the increasing growth of e-commerce, it is imperative that you can have the same feeling of protection when buying goods over the Internet as you would in a terrestrial store.

In a store, your receipt is your means of safety. However, when purchasing something over the Internet, or indeed making any transaction, your only means of proving that the action took place is a web page saying something similar to "Thank you for your payment."

JASMIN creates and verifies digital receipts, which provide the same sense of safety and confidence as a physical receipt. This receipt can be verified against the issuer’s JASMIN server, and it will be shown to be either valid or invalid.

A JASMIN digital receipt contains the text of the receipt e.g. "You paid £38.00 by credit card for good X." This content is then time-stamped by the JASMIN server, which acquires the time from the GPS satellites, thus providing an accurate and independent time source. The entire block (receipt content + time stamp) is then digitally signed using the private key of the issuer, and the receipt consisting of the digital signature + the time stamp + the content is returned to the user to save as a file on his/her hard drive.

The user can later verify this receipt by sending it back to the JASMIN server of the issuer. The response will be either valid or invalid, and the content of the receipt will be displayed on screen.

If any part of a JASMIN digital receipt is modified, even in the tiniest way, the entire receipt becomes invalid and cannot be successfully verified. This prevents tampering with receipts to modify amounts, dates, etc.

JASMIN paves the way forward for online shopping, because consumers will not buy online until they feel safe and comfortable. JASMIN provides this security to the consumer. JASMIN could also be used for online betting, online lotteries, online auctions, etc.

An application that will build and organise a Conference based on a user's input - Graham Valentine Bird & Lorraine Manning

In detail the Application will generate:

  • A schedule for the user for a successful conference.
  • A web site for the forthcoming conference and a VRML world detailing lectures and their speakers.
  • All relevant information to be collated and sent to the printers.
  • Relevant information to be extracted for the brochures and post conference publications.

To achieve the above, the system must have the ability to:

  • Gather papers from prospective/hopeful speakers for the conference and have them approved by the Programming Committee.
  • Collect general information about the Conference.
  • Get detailed information about speakers/times/rooms/days etc. from the user.
  • Generate schedule/User alteration of generated schedule within constraints specified previously (i.e. rooms/amount of days/day lengths etc.).
  • Generate webpages/VRML world for the conference.

Develop a web-site for Electramed Ltd. - Philip Keogh

Electramed Ltd. is a small company that supply medical and pharmaceutical products to hospital and retail sectors. They wish to extend their customer services by allowing their customers to order products over the Web. This project will:

Develop a web-site for Electramed Ltd. Visitors to the web site will be able to browse and search for information about the company and its products. Existing customers of Electramed will be able to order products on-line. Only existing customers of Electramed will have access to this facility by means of a username and password. They can search for or browse through products and then add them to their shopping cart as they go. When they have finished browsing they can then place an order for the products they have in their shopping cart.

A product database will be dynamically linked with the company's web pages to allow customers view the most up-to-date information on products. A suitable GUI for administration of the product database will be developed. This will allow staff of Electramed to update the product database in an easy to use and user friendly manner. The project will use Java Servlets and JDBC to achieve these goals.

Application Area: World Wide Web

Languages used: JAVA

Operating Systems: UNIX and NT

Mental Poker - Patricia Gunning

This project is called Mental Poker. It is a game played just like ordinary poker except that there are no cards. All communication between players must be accomplished using messages. It sets out to prove the fact that it is possible for two potentially dishonest people to play a fair game of poker over the Internet which will preclude any sort of cheating. It will ensure that a fair deal takes place where the hands dealt are disjoint and that all possible hands are equally likely for each player. The "cards" are appropriately encrypted and decrypted at all stages throughout the game. Neither player has no way of knowing anything about the cards in the other player's hand and each player can draw new cards from the remaining deck during the game without compromising the security of the cards remaining in their hand. Each player can check at the end of play that the game was played fairly and that the other player did not cheat.

Language: Java

Application Area: Games

Beautiful Text Extract - Hugh Larkin

In our current technological world, the need to store information securely and conveniently has lead to the use of Smartcards in many areas. Although they can only be to store small amounts of information, they are been used to store all types of information from Medical Details, to RSA Private Keys, and X.509 Certificates. This project integrates a Smartcard reader into the Windows shell, and allows browsing of information on Smartcards from Windows Explorer. This allows the user to treat their Smartcard as another Floppy Drive, to allow viewing, retrieval, and manipulation of information that is stored securely on their Smartcard.

Languages used: C++

Technologies used: COM, Cryptoki (PKCS#11)

Hardware: DataKey 320, Celecom CR-100

Botanic Gardens Staff Tool - Zak Burke, Ray Shanley

The National Botanic Gardens are set upon a 19-hectare site in Glasnevin and contains more that 15,000 different species of plants. At present they are developing a new visitor centre which is due for completion in late June 2000. In October 1999, the Botanic Gardens approached DCU with respect to developing a computerised system for the gardens. This application is for use by the gardeners and other staff. It includes:

  • An interactive map generator which can be used to get the most up to date details about the garden.
  • Oracle database to store all plant and other information.
  • Database search facility.
  • Ability to upload voice descriptions about each part of a visitors tour, which are then converted to MP3 and can be downloaded onto a personal MP3 player.

Remote Alarm Access - Eamonn Corrigan and Desmond Anderson

This project is sponsored by a company called HKC. We intend to implement remote access to their alarm panel via the internet. This involves implementing a web server on an imbedded chip in the panel itself. This server will implement HTTP and the TCP/IP protocols. We also intend to implement the new specification W.A.P. (Wireless Application Protocol) on the server and make access available via a WAP enabled (i.e. Nokia 7110) mobile phone.

Objectives

1. Implementing the TCP/IP, WAP protocols as fully as possible on the panel and fully implementing

2. HTTP for the use of the web server.

3. Implementing programs in C on the panel, that will form the backbone of the server, to carry out the following functions.

  • To differentiate between TCP/IP and WAP transactions.
  • To decode the packet headers and pass them to the server program.
  • To decode the HTTP commands.
  • To interact with existing C code on the panel.
  • To implement security protocols to prevent re-play attacks and to secure the communication line.
  • To implement both a users and technicians interface for interacting with the panel. The technicians interface will provide for a more comprehensive set of commands.

Lightweight HTTP Client for Jini JavaSpace Service - Éimhín McManus

My project investigates the potential for accessing a JavaSpace service via a lightweight HTTP client, making this technology accessible on the Internet. Jini is a distributed object environment built on Java Technology. Javaspaces are a service provided by Jini. They are based on a persistent object store and exchange mechanism. Using JavaSpaces, processes don't communicate directly. Instead they co-ordinate their activities by exchanging objects through a space, or shared memory. In the project HTTP methods are mapped to methods for accessing the JavaSpace service. HTTP requests from the client are handled by a Java servlet. The servlet manages access to the JavaSpace and returns appropriate responses to its clients.

Application Area: Inter Process Communication in Distributed Systems

Languages Used: Java, C

Operating Systems: Windows NT, Solaris

Secure On-Line Banking System - Andrew Smith

My final year project implements a secure, on-line banking system. Customers will connect to it using SSL and digital certificates. The system will have a facility for bank staff to administer accounts and for the manager to administer the system.

To ensure security, each customer, staff member or manager wishing to use the on-line banking system must have a digital certificate issued to them by the bank. Within this certificate will be a certificate extension identifying the user type of the certificate holder. Through the use of these digital certificate extensions, combined with XML and different XSL stylesheets, I will be able to restrict access to information depending on what type of user is connecting to the system. Digital certificates and Private Keys will also be used to encrypt sensitive database information and to restrict access to some system functionality.

E-Commerce Development Tool - Thomas Duffy and John O'Flaherty

This project is to develop an E-Commerce development tool aimed at the small business. The web site they develop using this tool allows them to concentrate on the products to be sold and the style and layout of the presentation. The project will guide them through technical issues such as security. The IDE will use drag and drop, form filling and Wizard interfaces for simplicity of use and coverage. This will be achieved by the "look and feel" functionality of the Swing Library set. The control of the site design should transparent to user but internally sound and complete. The use of Java Beans will provide an elegant solution. The choice of database (i.e. ORACLE) is made due to its popularity and as a learning opportunity. A user may opt for Access or Xbase, these options will not touch the core functionality of the project. XML will abstract Data from presentation. Functionality can be tested fully and at a later stage a number of customised presentations can be created.

Website Management System - Piero Tintori

A user-friendly system for managing the structure and content of a web-site with auditing, logging, delegation and facility to publish to many web-sites. Basically allows any one within an organisation to moderate or publish content (of any format) to Intranet, Internet or Extranet Web-site. Can manage a web-site of any size and uses controlled security to allow people from various parts of an organisation to work together and update the parts of a website that they are responsible for. View: Can be used to manage and size of web-site. Written as Java Servlet.

Publishes to any platform.

Tested on Unix Apache & Microsoft NT IIS

Webserver security independent.

Works on all operating systems that have a Java VM

Tested on Linux

Tested on Solaris

Tested on Windows NT

Works on all hardware that supports Java.

Required a database management system that support JDBC

Tested on Oracle 8i, 8.05, 7.4

Tested on Sybase

Tested on mysql

Bill Pay - Eoin McGrath

My project is an Electronic Bill Presentment and Payment Protocol for the online payment of various utility bills. It will involve the development of a mediation process between currently installed (and possible legacy) billing servers and the internet. This will allow the user to pay bills from their desktop and monitor more closely their outgoings and expenditure. The biller will also experience a saving, by being able to retain their existing hardware, and have a bill payment avenue on the internet, which will reduce their bill payment cycle. The protocol will be secure and authenticated and based on an xml format to allow ease of data transfer to wireless platforms etc.

app area: server/middleware

languages: Java, poss perl or python. markup in html & xml with JavaScript

php etc.

os: multiplatform (poss some legacy)

hardware: x86/sparc for server & interaction with multiple platforms

Canteen Manager - Martina McGee

A catering management company stores its recipes and the catalogues of suppliers in a SQL server database. A Web-based application lets individual catering managers from the different sites plan menus via the Web. The ingredients are ordered through the company's purchasing system. The employees at each site can select their meals a week in advance via the Web. This is a 3-tier client/server application. The front end is Web-based with a GUI possible Java Beans inside an applet container. The client will invoke operations on CORBA middle-tier server objects via IIOP ORB. The server objects provide the business logic and store their persistent data in a JDBC-compliant SQL database. The database is accessed using JDBC-wrapper objects. A Transaction Processing Monitor is provided by the Object Dispenser.

Visual Transaction Protocols - Fiona O’Connor and David Johnston

Many businesses would like to use the Internet as an E-Commerce framework but are deterred not just by the technology but because of the lack of tools which allow agreed inter business transaction to be specified, implemented and deployed. We aim to create an application which allows the user to do just this.

We hope to create an environment where the user can easily create all the necessary forms e.g. purchase orders, invoices etc. using drag and drop techniques. Our application will then convert them into XML documents, which can later be modified if required.

The users can then fill out the XML forms (e.g.. purchase order) and then send them to the supplier.

It is hoped that both the supplier and the customer will be using our application. In such cases the documents will be sent via TCP/IP, however if the business we are attempting to send the document the to is not also using our application the document will be sent to them via e-mail.

For business-to-business e-commerce to supplant traditional, costly, and time consuming exchanges with low-cost and readily available Internet technology, the security of business documents must be ramped up considerably and comprehensively. By digitally signing and encrypting documents before transmission, we plan to provide a system where both senders and receivers are assured that messages originated at their advertised source and no tampering of message contents occurred en route.

The application will also be able to manage forms received from other companies and may be configured to deal with the data so that it may be used with other applications.

Web Based Vineyard Monitoring System  - Rodhan Hickey

The aim is to produce a system to allow investors and wine connoisseurs to speculate on the quality of the fruit produced by a vineyard based on both current and historical graphs of the environmental conditions at the vineyard, which will be made available on the vineyard's website. The system can be used for recording and generating graphs for any analogue phenomenon that can be measured, e.g. noise level, speed, heart rate, etc. A multithreaded Visual C++/MFC program reads the data from a custom built piece of hardware based on the 16C74 PIC. After some conversion the data is written to an Oracle8 database using ODBC. A Perl CGI script reads from this database and generates the graphs. The front end of the system is plain HTML served by an Apache HTTP server on a Red Hat Linux 5.2 system.

PSKPE: Protecting Secret Keys with Personal Entropy - Paul Doherty

The aim of my project is to provide a scheme whereby a user can protect a secret key using the "personal entropy" in his/her own life, by encrypting the passphrase using the answers to several personal questions. The scheme is designed so the user can forget answers to a subset of the questions and still recover the secret key. E.g. He/she only has to get t questions correct out of a total of n questions, where t<n. The project which is based on "Shamirs Secret Sharing Scheme" will be written in Java and will use the J/Crypto library from Baltimore Technologies.

DIGITAL TIMESTAMP SERVER - Oliver Lyttlton

My project is a Digital Timestamp Server, which basically performs the function of a digital notary. It produces timestamps which can be used to show that a file was in existence at a particular moment in time. The applications of this project are very wide, any type of file can be timestamped, such as video clips, word-processor documents, sound files, purchase orders, invoices, etc.

It is important to note that the actual file which is to be stamped is not transmitted over a network. A fixed-length message digest of the file is calculated on the user's machine locally (the software which does this can be downloaded from the Server), and this message digest is transmitted to the timestamp server. A message digest is a product of a one-way function which is a unique identifier of a file. No details of the original file can be ascertained from the message digest; therefore the contents of the file remain secure at all time. A non-repudatible, tamper-proof time-stamp certificate is returned to the user which is digitally signed by the timestamp server (using an RSA public key digital signature scheme).

XML Database - Scott Glover & Auriel Heavin

The objective of the project is to build an application to store and

retrieve XML documents to and from an object-oriented database. The three main parts are:

1). The XML MetaModel Uses the XML Document Object Model to map the XML objects onto ODMG objects.

2). XML Interpreter layer will be the mechanism used for storing and retrieving the XML documents in the XML-OODB. It will break down and rebuild the documents accordingly.

3). Object Oriented Database. The OODB will store the XML documents as the Interpreter breaks up the data contained therein. The query language used is OQL (Object Query Language).

The application offers an alternative method of storing XML documents rather than in a folder.

Developed using MSVC++ 6.0 and the Versant OODBMS

XML, EGB’s and ORACLE – RESEARCH AND IMPLEMENTATION  - Aidan Crum

The main objective of this project is to research and implement XML (eXtended Mark-up Language), EJBs (Enterprise Java Beans) and Oracle in setting up an e-commerce web page Template.

The overview of this project is to research and implement the latest in e-commerce tools on a three-tier level as follows.

1. Create a template e-commerce web page implementing XML and XSL to design different style sheets for different devices.

2. Implement the use of Enterprise Java Beans in conjunction with XML to create connectivity and manipulation of data within the Oracle database.

3. Examine the use of the Oracle environment and interactions with the XML web page and the EJBs.

Majmun Personal Travel Organiser - Stephen Healy and Jasenko Ibrahimbegovic

Our 4th year project is a travel management application for executives which will automatically create an itinerary for business travel. This tool will organise booking of flights, hotels etc. automatically. The user need only input his/her preferences and requirements and the system will return an acceptable itinerary, which the user can then accept, or ask the system to try and find an alternative schedule.

Application Area:

Languages being used are Java, and also XML. The Servlets will be run on a Java Webserver. The application will be platform independent as a result of using Java.

Dublin Route Planner - Nicholas Grufferty

This is basically going to be a web based route planner for the city of Dublin. This applet provides the user with a route across Dublin from specified start and terminating points. We will incorporate a shortest path algorithm to calculate the route. The user can either choose a bus route or a car route. The bus route will be planned according to the current set routes.

Also another objective would be to allow users to create their own graphs to represent other cities etc. This would make the project much more expansive and it wouldn’t be limited to just Dublin. The user will be able to chose components that make up a graph and will be able to create a custom graph. The user will be able to chose nodes and position them within the overall graph structure. Names can be associated to these nodes. The user will also be able to create edges between these nodes, assign weights and names to the nodes and also assign a direction. This was seen as a suitable project due to the lack of such a resource on the web.

Botanic Gardens Information System and Website. - Patrick Purcell and Marie Gibson

Description: The Information System and Website are designed specifically for the Botanic Gardens here in Dublin. The system will enable visitors to the Botanic Gardens design their own personalised tour of the gardens and view information about the plants in the garden at various degrees of detail. The Information System runs in Windows NT and is written in Java and the website is implemented in HTML and Javascript with the communications to the database being handled using Java Servlets.

Yellow Wapages - Barry O'Donohoe and Orla Clancy

Wireless phones have size, weight and cost constraints which limit the memory and processing capabilities they possess. Our application will maximize the Internet access capabilities of these devices while maintaining a small memory and CPU footprint. WAP devices empower mobile phone users with rapid access to their most important and personal information - email, Calendar, Contact lists, To-Do Lists and corporate applications. It also enables access to a wealth of public content available on the Web from content providers such as Reuters etc.

The interactive microbrowser presents graphical and textual information, accepts user choices and interprets alphanumeric data entry, enabling any Web-based application to perform sophisticated interactions with a wireless subscriber. Wap devices also provide a Universal Inbox that notifies subscribers with a visual or audible indication when there is a Web based update such as stock quote alerts, traffic alerts, news flashes, and flight information changes. Wap increases productivity by bringing the power of two-way Web communication to the wireless handset.

The use of SMS on Mobile phones to interact with computer applications in remote locations. - Cameron Ross Dunne

Current GSM phones can offer us a range of services beyond speech, including the Short Message Service (SMS). At present the SMS service is not widely used because of its lack of usefulness and functionality. This project addresses the above issues, and takes advantage of the full power and potential of SMS. My project can be broken into two sections:

(1) SMS/Database Interaction:

To use the SMS on a mobile phone to gain direct access to an SQL database to query and update it.

(2) SMS/Email Interaction:

A gateway to receive email messages, convert them to SMS, and send them to the SMS mobile phone.

Application Area: My project is intended for small to medium business that who have several employees that work in the field but need to be in contact with their base office.

For example field engineers in a computer support company recording that a task is complete with costing information, and then getting details about their next task; couriers recording that a delivery have been made and getting collection details; or vets getting details for their next callout; to mention just a few.

Languages used :JAVA,C++ Using Win32, but project is platform independent

Nokia Communicator (or any GSM phone with RS232 interface)

XML Enterprise Document Solution - Ronan Derby

Businesses are awaiting the time when they can send purchase orders, invoices and other everyday business documents to their business partners and customers in a non-proprietary electronic format that everyone can use. My project aims to provide a system that will facilitate the ease of document transfer across the internet. This will be accomplished by creating documents in XML that are then subsequently routed to their intended destination. There are a number of initiatives under way to aid in the standardisation of the use of XML, such as eb-XML and Biztalk. Due to the lack of a clear leader in this area I will be coming up with my own framework to use for creating the XML documents. I will also be using Enterprise Java Beans to implement the server side of this system that will interface with a relational database. The database will store the contents of the XML documents that have been sent/received.

Asset Management System - Neil Delamere

This project will focus on implementing and expanding upon the asset management aspect of ISO 9000/14000,allowing users to manage and track information on all assets via both Lotus Notes Clients and Internet Browsers. This system is applicable to any organisation across all industry sectors. The system will maintain levels of security and workflow hierarchy, with relevant individuals automatically being informed by email. The workflow will involve approval and signoff cycles, reminders and deadline management and will be implemented in accordance with existing ISO procedures. There will be four distinct areas in the project:

Asset management

Maintenance Schedule History Management

Calibration Schedule History Management

Depreciation History Management

The application area is any business sector that must manage any type of asset. The languages used are Lotus Script (Notes and Domino), Javascript and html. The Lotus Notes client and the browser are platform independent.

WParse - An investigation into and implementation of a HTML/WML converter - Ciaran Byrne

Desc: WParse consisted of two objects

(a) The investigation of a HTML/WML converter

(b) An implementation of these results in an easy to use GUI.

WParse allows users to convert existing html content to wml content in a static context and view the results of the conversion process in a Java Desktop environment. The aim of this process is to create a WML template from an existing HTML document which the user can then save. In addition errors in the conversion process can easily be looked up in the HTML document.

This project has been sponsored by The Think Tank Ltd.

Web Site Navigation Analysis Tool - Darren Macken

This project involves generating a set of metrics calculated from a distance matrix. These metrics are used to measure the navigational connectivity of a web site, both as a global measure and as individual web page measures. The metrics are based on a set of metrics as specified by Botafogo, Rivlin and Shneiderman in Bota92. The centrality metrics can be used to compare individual web pages on the site, or to compare web pages in different sites. The Compactness metric can be used to compare the connectivity of different web sites.

These metrics are used to identify areas of a website that are totally disconnected from other areas of the site. The user can add links to these pages in order to improve the navigation of the website and to improve the centrality and compactness metrics.

The project is implemented in two parts:

  1. A web robot phase to spider a web site and gather data on the structure of the site. (This was implemented in Java).
  2. An analysis phase, this generated the metrics for the site. (This was implemented in C++.)

The GUI was implemented using Java Swing components. The tool also generates a graphical representation of the site.

 Multimedia

Latex to Braille Converter - Esmond Walshe

The Latex to Braille converter translates a subset of Latex commands in to fully formatted grade 2 Braille. These commands include some of the formatting commands such as centering and bold. But the main focus of the program is to translate math's equations into a readable format while using grade 2 Braille.

The file is read in to an object hierarchy of sections, paragraphs and words. The formatting is performed on these objects and the final result is fully formatted grade 2 Braille that is outputted through a Braille Embosser.

In Braille, Math's has to be written with a certain amount of formatting. The program translates the different tags into their Braille equivalent, then analysis the equation and formats it accordingly.

Virtual Ennis Navigator - Mark Hassett

This is graphics project, incorporating multimedia technologies. Using OpenGL I will create a 3 dimensional application allowing user interaction via the arrow keys for movement .The application will depict a scene of Ennis town centre as accurately as possible. I will use .wav audio capabilities. The effect it will have will be that every time the user passes a monument or particular building etc. while on their trip, an audio file starts up, relaying information about the monument or building. This will add an important dimension to the walk through. There is a chosen a route through the town which the user will be restricted to taking

Photomontage generator from MPEG - Kevin Walsh and Gabriel Louet Feissier

Our project is to generate a photomontage (mosaic) from a selected MPEG stream. The user can upload a JPG image to our server where it will be processed.

The resulting image will be comprised of a multitude of micro images (44*36) from the MPEG. The advantages are that there are potentially millions of images in video, each slightly different from the other and thus a more accurate photomontage will be generated as opposed to a static database of images. A global and regional colour index representation for each frame and tile will be generated. Comparisons algorithms will be used to extract the most similar image using its colour index. This project will be coded in C, C++, HTML, Perl and Javascript and will be web based

View: Written in C, C++, HTML, Perl and Javascript.

Operating Systems - Unix and Windows NT.

Emergency route tracing algorithm - John Rowan

This application is basically the development of a browser that will enable the viewing of Spatial data, and determine the shortest route between a destination point and a group of emergency vehicles. The user will be able to view an area, which may consist of roads, land, housing etc. The user will be able to specify a destination either by supplying the address, or by clicking it on the map. A GPS will be used to determine the positions of the emergency vehicles. When the user selects the destination, the application will find the shortest path between the nearest vehicle, along with some alternative routes.

These routes will be highlighted on the map, along with the spatial data. The user will also be able to specify when a road is blocked. Different times during the day, such as commuting times, will be taken into consideration and will have an effect on the algorithm. The project will be an applet developed using Java 1.2, and Oracle's 8I database system. The spatial data is digitised (inserted) into the database using Bentley's Microstation Geographics. It is run on Windows NT, or Windows 95 or more.

XML Meta-Editor - Damien Malone

Written in Java, input is an XML Schema file, from which a DOM is created.

From this DOM, a Java class structure is generated, which can be used to slot into the second part of my project, a generic XML editor. Using the Java classes created by the meta-editor, this program can be used by anyone to enter in XML information conforming to the original Schema. The end user need not know anything about XML. Using XT, and an XSL file that was referenced in the meta-editor, an HTML outlook on the XML file can be viewed in the editor.

CARL – Continuous Assessment Revision Learning - Emer O’Flaherty & David Cassidy

For our fourth year project, we hope to interactively deliver a course over the internet. The system consists of a computer based lecture series and compulsory continual assessment component. This will be implemented using Java Servlets, JSP, SQL Server & DHTML.

The aim is that CARL can be accessed in conjunction with conventional lectures. With this revision tool, students can view any specific aspect of the course as frequently as they wish. There is no limit to the number of times a student accesses the course.

Each student will have a unique account, which keeps track of their continual assessment progress. This enables them to view their own scores so far and continue from where they’ve left off. On initial login the student is only eligible to attempt the continual assessment section for chapter one. Only on achieving a pass mark for this chapter can the next continual assessment be attempted. Any section that has previously been passed may be taken again in an attempt to improve the mark.

CARL enables the lecturer to easily obtain continuous assessment scores for an entire class & provide an invaluable addition to conventional lecture notes.

GUPPI (GPS Using Palm Pilot Interface) - Serena Byrne

Ever been late for that all-important crunch meeting with potential clients?

Feel like you're going around in circles in those complex business parks?

Does the thought of finding that tiny start up company's office in the middle of an ever-expanding industrial zone give you a headache? We may just have the answer. And the answer is, empower your trusty PDA (in this case a Palm III) with our GUPPI technology. GUPPI allows you to combine your PDA's mobility with the directional capabilities of a GPS receiver. The PDA will display a map of the general area and the users position. Our software will prompt the user for their desired destination and will calculate the shortest path from the users current position. The GPS input is continually updating the current location and displaying the calculated path to the user, thus guiding them to their required destination.

Application Area: The software could be adapted to provide similar tour guides of any area.

Languages used: C, C++

Operating Systems: Palm OS 3, Win NT

Hardware: Palm III, Garmin GPS

ChessView - Gerry Gainford

My project is a chess game viewer for a PalmPilot. It will enable a user to download files from a PC to a PalmPilot and view the games on a representation of a chessboard.

The games, in PGN notation are available widely on the internet and is the standard for chess notation

It will be written in Java, Palm C, running under NT and Palm OS.

Map Maker-Cartographic Package - Dave Campbell

Map Maker is a Cartographic package written in Java, using Swing and JDBC with an Oracle or possibly Access database. It will allow a user to draw, edit, and print maps containing up to several layers of detail (For instance: road systems; telephone lines; forestation, and rivers, would each consume a different layer). There would also be differing levels of magnification. Normally this would be seen as an inset map on a day to day physical map.

3D Model Generator - Jill Blanc

The 3D Model Generator creates a three-dimensional VRML model of an object from a series of two-dimensional images, taken by six digital cameras. These cameras are set up in a controlled environment, i.e. a studio, and are triggered to take the images at the same time, so an accurate 3D representation can be created of the object. The images are then analysed by a suite of programs which use the concepts of stereopsis and photogammetry to determine the data required for the VRML model.

Stereopsis and Photogammetry:

When a person looks at an object, what they are actually seeing is an amalgamation of two images. What the brain actually does is take the image from the left eye and the image from the right eye and merge them together to give the perception of depth or three dimensions.

Languages: C++, VRML

Hardware: 6 Digital Cameras

An XSL Interpreter - Jean English

XSL (eXtensible Style Language) is a specification for separating style from content when creating HTML or XML pages. The specifications work much like templates, allowing designers to apply single style documents to multiple pages. Cascading Style Sheets (CSS), is similar to XSL but does not include two major XSL's innovations -- allowing developers to dictate the way Web pages are printed, and specifications allowing one to transfer XML documents across different applications. W3C released the first draft of XSL in August 1998, and promotes the specifications as helpful to the Web's speed, accessibility, and maintenance. The idea of my project is to create a parser to allow a user to edit and validate their XSL documents with an easy to use GUI.

Digital Video key-frame extraction techniques - Gary Cullinan

A video sequence is broken down into a number of logical scenes, a scene is broken down into a number of shots (a shot is a continuous recording by a single camera) and a shot is broken down into a number of frames.

In order for a user to browse through and navigate a piece of video then it is necessary to map an entire shot to a small number of representative images or key-frames. It would be infeasible to index all of the frames in a shot for retrieval so the frame or frames that best represent the shot have to be indexed and stored.

The aim of my project is to code two key-frame extraction techniques: The first one uses motion vectors and the idea that a frame with the most motion could be a content bearing frame and thus could be used as a representative frame. The second one uses pixel scanning for edge detection and using averages to calculate a frame that might best represent that shot. I will then test and compare these against the existing technique used in DCU. The challenge is that the extraction needs to be content based so that the keyframe maintains the important content of the video while removing redundancy.

Retrieval of information from an image database - Mark Masterson

My project will involve building a system where one can issue queries of the type "find all images where the tree is to the left of the house" etc. This will involve assembling a database of images containing simple objects arranged in different combinations. The system will be able to recognise the objects and their relationships.

The system will be developed using Java and will run on Windows NT

Camera Motion Detection for MPEG Files - Stephen Donnelly

This project takes an MPEG file and shows the motion of the camera which filmed the file with the aid of a visual compass. The project will allow the viewer to see easily which way the camera was moving when it filmed the sequence i.e. pan left, pan right etc. The motion detector will also allow the user to see if a zoom in or zoom out is performed. This system is intended to help with the overall storage, manipulation, and editing of MPEG video files.

Information Exchange in a Federated Database Environment using XML - Laura Daly

This project aims to allow a user to access structural information about an ODBC database and read it in an XML format over the web.

The project will connect to any ODBC database, read the structural information contained in the data dictionary and construct an XML document representing that information. The XML document will then be structured using an XSL stylesheet so that it can be viewed over the web. The structural information contained in the XML document can then be used to create an object-oriented database or another ODBC database.

Languages & software used: C++, MFC, XML, XSL, ODBC, OODB.

Online Phone Directory Using WAP - Liam Sinnot

WAP is the de-facto global standard for providing Internet communications and advanced telephony services on digital mobile phones, pagers, personal digital assistants and other wireless terminals. WAP is positioned at the convergence of two rapidly evolving network technologies, wireless data and the Internet Both the wireless data market and the Internet are growing very quickly and are continuously reaching new customers. The goal of WAP is to extend the Web to handheld wireless devices by providing services to do limited Web surfing, for example, to check stock quotes, access bank accounts and in this case retrieve a phone number, resident address, email address for a particular person. This project also has advanced searching criteria for cases when limited information is known about the person. This project also allows a new person to be inserted into the database, a persons details to be updated for deleted altogether. Java Servlets have achieved a strong position in web application development, the same concept was selected to make it easy for developers to start developing wap applications for the nokia Wap server. Therefore Servlets are the pieces of software that I used to implement the project

VRML world builder - Siobhan Judge

My project will be an Interactive VRML Workbench capable of creating VRML worlds to a users requirement. It will result in an application, which will allow a user with no prior knowledge of VRML (Virtual Reality Modeling Language), to create and maneuver within interactive VRML worlds. The world and its objects will be easily manipulated using mouse input.

I will create an Interactive VRML Workbench, which will enable the user to create a virtual scene from a library of objects by using mouse input. The user will be able to add, delete, move, rotate, and manipulate the objects in the scene using the mouse. The user will have no boundaries in terms of coding and general understanding of 'how' the system works. Instead, they will only know 'what' the system is capable of. The completed project will be a stand-alone application implemented using Java and VRML.

I aim to make the world builder a tool which is easy to use yet has much functionality. I have decided to use Java3D also. The Java3D API was designed with high performance 3D graphics as a goal. Java3D will allow me to import VRML objects into the 3D world.

Digital Signal Processing Project - Jeremiah O'Byrnes and David Allen.

This is a Multi-Media project. It is a professional application engineered through MS Visual C++. The project captures Digital Signal Processing (DSP) techniques, and incorporates Windows GUI and multimedia interfaces.

The project performs analysis of the sound i.e. frequency and spectral analysis using the FFT, special effects functions to simulate different room acoustics (reverb) as well as the usual DSP functions: graphing the waveform (frequency and spectral analysis data), sample rate conversion, silence removal, horizontal and vertical zoom, noise reduction, normalize/DC bias adjust, DTMF tone generator, delay effects, chorus, graphic EQ, cut, copy, paste and mixing of waveforms.

Using the MDI (Multi Document Interface) architecture of Visual C++ we constructed a GUI which allows the user to edit the waveform in much the same way as a user can edit a document in MS Word or a picture in Paint Shop Pro.

The Multi Document Interface will allow the user to have several documents open at once allowing him/her to cut and paste between wave files and mix pieces of one waveform with another.

JavaScout Web Browser - Caoimhin Barry
 
The JavaScout web browser is a simple browser written in 100% Java. It includes the ability to predict page download times and filter out multimedia content. It also has many features of a modern web browser, such as navigation buttons, proxy support and page statistics. It supports up to HTML version 3.2.

Distributed Systems

Internal Messaging System - Fintan Fitzsimons and Edwin Durkin

This system enables workers in an office environment to share information and ideas on common subjects of interest. It implements an interactive electronic bulletin board that can be accessed by every worker in a company. Each user of the system is able to browse the various subject categories and view the existing messages. They have the choice of replying to a particular message or posting a new message to a subject category. Not only that, but each user has the capability of deciding what subjects they are interested in. In essence, each user has the power to create their own profile of interests and change this profile as and when they so wish. We view the system as an extension to the current emailing systems in the world today. What this system does, is give workers the ability to share information in a common, central environment, thus maintaining the centralisation of information, but also providing a service to the workers through a very practical, easy to use software tool.

CoCoMo: COnstructive COst MOdel - Declan Gallagher

A Case Tool for the implementation of CoCoMo

CoCoMo uses different algorithms and cost factors to estimate the number of man months and the development schedule of software projects.

The estimate will be divided up based on the phase distribution of the software lifecycle.

The front end will be a graphical user interface written in Java, it will contain detailed help instruction to guide users through the estimation process. The back end will be a database stored on SQL server. Connection between the two will be obtained using a JDBC/ODBC bridge.

GUI Display Tool for an ODMG database - Gordon Conroy

ODMG Database Utilities

GUI Display Tool

This project requires the display of ODMG virtual types. We have the facility to create virtual sub-schemata (or views in relational databases). This program will display the results of queries. Using an MFC GUI.

This project involves querying the ODMG schema repository to determine the structure of the virtual types, using the Versant Query language, executing a query, and displaying the results in a meaningful (retaining the o-o structural representation) manner.

Technologies: C++, MFC, odmg oodb (Versant).

Construction of a Global Database Server within a Federated Database Architecture - Fiona McKittrick & Catriona McCann

The objective of this project is to read metadata from multiple ODMG OODB schema repositories and transport this metadata to a global server, which will display this data. CORBA (Common Object Request Broker Architecture) acts as the communication protocol. It consists of a CORBA client and a CORBA server. The CORBA client will send a request for the metadata to the CORBA server, which will extract the metadata from the ODMG. There is a MFC GUI at the client end, to make it more user-friendly.

CORBA is composed of ORBs which communicate using IIOP (Internet Inter ORB Protocol) which works across TCP/IP connection.

ODMG (Object Data Management Group), is standard for storing objects in databases.

Touch Screen Cross-Platform Network Information Tool - Dave Donohoe & Keith O'Gorman

This Project is a Touch Screen Cross-Platform Network Information Tool. The purpose of this Project is to bring together Network information on both Operating Systems – NT & UNIX that are present here in the Labs in the College, for the benefit of the System Administrators & Helpdesk. This system will allow the System Administrators to monitor the Network, its Users & its computers. There will also be sections available to the Students, Lecturers & Visitors depending on their Authority Levels. The system will allow the Users to search for a particular User, or see where the free computers are. The System will be developed in Java, using the SWING Utility for the Interface.

Transfer of OODB rules using OCL - Michael Flynn & Chris Hegarty

This project involves creating an Object Orientated Database and creating a system repository to hold the metadata for the Database. We must store OCL rules about the Database in order to maintain Database integrity. These rules are store within the system repository which is altered to add another class to handle the rules. A browser will be written to access the rules in the repository when trying to create a new object thus inferring the rules over the database.

A 3D Navigational Device using a 2D overlay - Niall Spiros Fennell

The application will be a networked system allowing multiple users to log onto the server using a client whose front end will be designed using Ben Schneidermans "Overview first, zoom and filter, then details-on-demand model" as a guideline. In keeping with the Schneiderman Visual Information Seeking Mantra (see above) I intend to use a Multiple Window Strategy. A User will be presented with a 2D (overview) world to act as a map for the 3D (detail view) environment. A field-of-view (FOV) indicator in the overview indicates the location of the detail view within the overview. There will be a bi-directional coupling between these views, so that manipulating either the FOV or the detail view causes the other to immediately update to reflect the changes. This front-end design should enable the user to navigate through the environments in a speedy and natural manner. The user will be able to dynamically insert objects from a library of objects into the world using mouse, and if time permits, a limited form of natural language. The views both 2D and 3D of all users should be immediately updated to reflect any changes made to the world by other users. The users will also be able to send messages to other users using both broadcast and private chat functions.

Languages Used: C++ and OpenGL

Operating System: Windows NT

Hardware: MS ViaVoice (time dependant)

Project Espresso - Accelerating Java - Jonathon Walsh

One of the main charges levelled against the Java programming language, is that in the name of interoperability, it has sacrificed execution speed. Java compilers produce "class" files in a well-understood, and well-specified format. Project Espresso is an attempt to optimise these files, using program-level analysis information, so that they can be executed in a more time-efficient manner. The implementation will be through Java so that Java developers will be able to analyse and optimise their Applications and Applets in a platform-independent manner to produce runtime efficiency savings.

Water Engineering Problem - Audrey Foran

To ensure correct drainage of our rivers countrywide, engineers must ensure that the work they do is effective, reducing the amount of flooding which occurs in Ireland each year. To reduce flooding engineers must analyse the flow of water in selected rivers.

I intend to design a system for engineers that allows them to enter data retrieved from selected rivers and hence solve such problems of, calculating the volume of water in a river and the flow of water through a water pipe.

(a) Flow through a water pipe.

The proposed system will be capable of calculating the volume of water through a pipe allowing the user to vary the input volume, the size of the pipe, and the output volume. A graphic output will be provided, simulating the effects of any changes made to the variables.

(b) Calculation of water volume.

The system will receive the rate of flow of water at various depths along a cross-section of river, and from this calculate the volume of water flowing through the river. The system will be generic allowing for a variation in measurements taken, width of the river, depth of the river, and other factors described below which may affect the volume. A graphic output of the cross-section a river will be provided allowing the user to visualise the results.

Role Mapping Database - Andrew McDermott

For my final year project I have produced a database tool that will allow Business Authorisers within Guinness to closely monitor access to their SAP system in a concise, accurate and easy to use manner. It enables the authorisers to view a user’s access to SAP without needing to log into the system and go through the laborious process of viewing a users details. This, in fact, provides badly needed functionality that is not available within the vast SAP architecture.

The database contains information pertaining to system users, system profiles, system transaction of the SAP system and the key relationships therein – People to Profiles and Profiles to Transactions.

I have developed a single screen, easy to use graphical user interface as a front end to the database using Sun’s Java Development Kit (JDK1.2.2), incorporating Swing components. The front end connects to the database allowing two way transfer of information. Details of people (i.e. system users) can be edited, deleted and/or updated from this screen. The database tool used is Microsoft Access.

Details of system profiles and system transactions meanwhile, are updated by means of two ABAP (Advanced Business Application Programming) extracts in the SAP system that are run daily. One to extract People to Profiles information, the other to deal with Profiles to Transactions information.

The database front end allows the user to search for different entities on several different fields (as opposed to just the unique identifying field as in SAP)

The database is a tool which will be in widespread use within all Guinness sites worldwide and will offer many benefits to the business. This tool will provide the information required to manage the security of Guinness’ core system more efficiently and tightly, thus enabling the balance between tight system security and delegating the required amount of access to users.

Language Engineering

Psycholinguistics - A Word Association Study - Lynda Nethaway

The field of Psycholinguistics is one of great personal interest. Having taken Psycholinguistics as one of my fourth year options, inter-twining the computing aspect of the degree with it was very appealing and so the project idea was born. Combining the world of computers and that of psycholinguistics is not a new one, in fact it's been done many times before, and so you might ask, why do it again? To the best of my knowledge it is the first time this has been done in Dublin City University and feel that my system will be of great benefit to future studies, word association studies or not. It also may hopefully pave the way forward for further projects of this kind with future years of Applied Computational Linguists, who knows what the future may bring. My project runs a Word Association test in either English, French or German, compiles the results and displays them whereupon an analyst can determine the presence of 'norms' in the responses given.

Automatic Text Categorization for Domain-Specific Corpus Compilation - Aoife Gorby

This project is designed to categorize texts and compile corpora on the domains asthma and eczema and their sub-domains of symptoms and treatment.

The system consists of two categorization processes. The first level of categorization deals with domains. This is based on a keyword search technique. The second level of categorization further classifies tagged text into two different sub-domains. This is based on indicative clusters (part of speech tags) found during the manual analysis of the tagged test corpora.

The actual categorization is programmed using perl pattern matching functions. There is also a level of user interaction which gives the user an option in the corpus compilation stage of the project.

There is great scope for future extensions in a project of this nature. More medical domains could be incorporated to create a broader medical categorization / corpus compilation system. If a similar system with a wider scope was to be developed, an integrated approach combining the use of a lexical database or statistical methods with a training collection, would be worth considering.

BetterSpeech - Caroline Nolan

The BetterSpeech application improves the accuracy of a speech recognition system for speech that is recorded in a noisy environment. To decide what part of the waveform needs to be filtered out, the output from a speech recognition system is taken and compared with what the actual input was. These corrections are entered by the user. The two sentences are then taken and translated into their phonetic transcriptions. These transcriptions are then compared, and depending on what mistakes the recognition system makes, recommends what frequencies should be filtered out of future speech files recorded in the same environment.

Possible uses for this application are situations where speech files are being recorded in a noisy environment to be passed to a speech recognition system at a later stage. This would include dictation whilst driving a car, in a kitchen with a fan on in the background, or in a noisy office environment.

Alignment Tool - Marian Hegarty & Audrey O'Connor

Our automatic comparison tool, which is written in C++, will enable the user to take two text files (French and English), from the Canadian Hansard Corpus of Parliamentary Proceedings, and compare corresponding segments for word matches.

The various functions preprocesses the texts (removing unwanted lines, numbers and spaces) and segments them (using predefined punctuation markers) placing markers at the end of segments.

This is achieved through file handling. The comparison program uses string comparisons to match segments and their words, using string length and the number of matching characters. The more characters that are matching the greater the probability of a word match. The program then outputs a list of the most likely corresponding words.

Development of a localisation tool to aid the localisation of HTML based projects - Adrian Corcoran

The objective of my 4th year project is to develop a tool that is of use to people who wish to localize HTML based projects. The tool is to be an aid to all the people involved at the different stages of the localization process - Project Managers, Localization Engineers, Translators and Quality Assurance Engineers alike by providing them with the information that they need to carry out successful localization.

Development of a tool to control a Microsoft Windows based OS using voice recognition - Graham Mooney

My project is a speech-controlled system for a windows platform. Using this system the user can use speech as a way of communicating with the computer. In other words the user will be able to tell the computer what applications they want to open, close etc. The program should aid people who have not had that much exposure to computers and so as a result are unable to open programs or applications and also people with disabilities.

The Implementation of a Natural Language Processing Tool - Triona Cummins

The purpose of this project is to develop a tool, which will be written in Prolog, that will take a clause as input and perform a syntactic and functional parse on this clause followed by a theme extraction process using a critique system.

This program, which will aid in the understanding of thematic and clause structure, will pick out the element(s) that is in theme position in the clause and says whether it is a topical, textual, or interpersonal theme. Finally, it will acknowledge if a theme is marked or unmarked in a clause. All of these results, including the syntactic and functional parse of the clause will be outputted to the screen.

A Bilingual MT System Component for Derived Forms in German and English - Denise Carey

My project is a MT system component created to deal with the translation of derived forms from German into English and vice versa. With this system the translation of derived forms is not performed using direct term to term translation but is based on the translation of suffixes, prefixes and roots individually and assembling the translated form based on semantics and correct morphological formation of the words. This type of system cuts down on the need for a full form dictionary in a MT system.

To develop this tool I will use Prolog. I have chosen Prolog as the language of implementation as it lends itself easily to Natural Language Processing (NLP). Another advantage of using Prolog is that it is based on First Order Predicate Logic (FOPL) which is often used to describe Natural Language.

 

Page last updated: 22 January, 2001 by web@computing.dcu.ie