university of wollongong - csci 321 - software project, autumn 2005.pdf

40
___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 1 CSCI 321- SOFTWARE PROJECT, AUTUMN 2005 SCHOOL OF INFORMATION TECHNOLOGY & COMPUTER SCIENCE Monday, February 21, 2005. Dear friends; In this document a number of projects from SITACS staff are presented. The projects are in a number of diverse areas ranging from imaging, compilers to robotics. You should read each project and approach the supervisors of those that interest you/ your group. When selecting projects you should be mindful of your strengths and weaknesses as a individual and group. Different supervisors will handle project allocation differently. Some will allocate projects on a first come first served basis whilst other tend to be more selective. THE SUPERVISOR MUST SIGN THE GROUP FORM BELOW. Groups should be around 4 – 5 people. If groups have any other projects they wish to propose then they should see the 321 Project coordinators (Daniel Saffioti & Willy Susilo) as soon as possible. Below is a summary of ALL projects on offer this year ordered by staff surnames. ABRANTES, Dr Jo Web Based Robot Control. (JA-01) Software for Gesture Based Human Robot Interaction. (JA-02) AWYZIO, Gene Fil-it-In Puzzle. (GA-01) A collection of single player puzzle style games for the Palm OS. (GA-02) Pocket Schedule Navigator. (GA-03) BAKER, Valerie Conference Organiser. (VB-01) BEWSELL, Glenn Online auction game. (GB-01) CASTLE, Peter Program for the pre-show presentation of recorded material in a digital theatre. (PC-01) The use of a game engine for real estate industry. (PC-02) FULCHER, Professor John Health Level-7 Message Transcription. (JF-01) Complexity Assessment in Aged Care Usability. (JF-02)

Upload: sensey05

Post on 03-Jan-2016

118 views

Category:

Documents


0 download

TRANSCRIPT

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 1

CSCI 321- SOFTWARE PROJECT, AUTUMN 2005 SCHOOL OF INFORMATION TECHNOLOGY & COMPUTER SCIENCE

Monday, February 21, 2005. Dear friends; In this document a number of projects from SITACS staff are presented. The projects are in a number of diverse areas ranging from imaging, compilers to robotics. You should read each project and approach the supervisors of those that interest you/ your group. When selecting projects you should be mindful of your strengths and weaknesses as a individual and group. Different supervisors will handle project allocation differently. Some will allocate projects on a first come first served basis whilst other tend to be more selective. THE SUPERVISOR MUST SIGN THE GROUP FORM BELOW. Groups should be around 4 – 5 people. If groups have any other projects they wish to propose then they should see the 321 Project coordinators (Daniel Saffioti & Willy Susilo) as soon as possible. Below is a summary of ALL projects on offer this year ordered by staff surnames. ABRANTES, Dr Jo

Web Based Robot Control. (JA-01) Software for Gesture Based Human Robot Interaction. (JA-02)

AWYZIO, Gene

Fil-it-In Puzzle. (GA-01) A collection of single player puzzle style games for the Palm OS. (GA-02) Pocket Schedule Navigator. (GA-03)

BAKER, Valerie

Conference Organiser. (VB-01)

BEWSELL, Glenn

Online auction game. (GB-01)

CASTLE, Peter

Program for the pre-show presentation of recorded material in a digital theatre. (PC-01) The use of a game engine for real estate industry. (PC-02)

FULCHER, Professor John

Health Level-7 Message Transcription. (JF-01) Complexity Assessment in Aged Care Usability. (JF-02)

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 2

Visual Programming of Data Stream Applications. (JF-03) FULLER, Anne

Reconstitution of Edustream Content. (AF-01)

GETTA, Dr Januzs

Hybrid XML-Relational Database System. (JRG-01) XQuery Language for Relational Database System. (JRG-02) Visual Programming of Data Stream Applications. (JRG-03)

GHOSE, Professor Aditya

Agent Based Modelling and Simulation of Biological Pathways. (AG-01)

GIBSON, James

Leading edge application of an open source Business Process Management System. (JG-01)

GRAY, A/Prof Neil

Gong Java Foundry. (NABG-01)

HYLAND, A/Prof Peter

A suite of Knowledge Management tools for use in the Faculty of Informatics. (PH-01)

LI, Dr Wanqing

Data hiding and transmission in real time video. (WL-01)

KHARYIONENKO, Dr Igor

A Software Environment for Development and Evaluation of Image and Video Processing Algorithms. (IK-01)

MCAVEN, Dr Luke

A graphical tutorial for illustrating Dirac’s string trick. (LM-01) A toolbox for experiments in colour blindness. (LM-02) Oracle queries in authentication, encryption and authenticated encryption. (LM-03)

MCKERROW, A/Prof Phillip

QuickTime VR Library. (PM-01) Macintosh embedded development suite. (PM-02)

MICHAEL, Dr Katina

Nortel Networks- Enterprise Location Assertion Database. (KM-01) Mobile Location Centre Phone Tracker. (KM-02)

MU, Dr Yi

Remote Control of audio/visual systems on a computer. (YM-01)

SAFFIOTI, Daniel

Cross Platform Port of Hydra (SubEthaEdit). (DFS-01) An Open Source Shell Compiler. (DFS-02) iHome for Mac OS X. (DFS-03) Userspace File systems for Darwin. (DFS-03)

SUSILO, Dr Willy

Automatic Media Encryption – Tools for Securing Sensitive Data in Removable Data Storage. (WS-01)

TOOTELL, Holly

Tutor Management System. (HT-01)

WARD, Dr Koren

GPS Vehicle Speed Monitoring System. (KW-01)

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 3

WIN, Khin Than

Ongoing Needs Identification and Priority Rating Project. (KTW-01)

XIA, Dr Tianbing

Secure Network File System. (TX-01)

Once you have established a group and identified a project, you should approach a project supervisor. You should try to get as much information about a project before committing to it. When you have found a project that you are happy with you must provide the details of all your members and supervisor. You will need to get the supervisor to sign the form. You must choose a project by the end of Week 2. This form should be returned to Daniel Saffioti, Building 3, Room 107. If you have any questions or problems, please be do not hesitate to contact either subject coordinator. We wish you the best of luck in your project and studies this year :). Regards Dr Willy Susilo & Daniel F. Saffioti School of Information Technology and Computer Science University of Wollongong

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 4

• CSCI321 Autumn 2005: Group Project Selection Form • Project Description Project ID: ________________________________________________________________ e.g. DS-01 Project Title: ________________________________________________________________

Group Membership (Clearly write all contact details for each member in the group)

Name Email Student Number Signature

Name Email Student Number Signature

Name Email Student Number Signature

Name Email Student Number Signature

Name Email Student Number Signature

Name Email Student Number Signature Supervisor Support (Supervisor must sign before project is allocated to your group) Supervisor ________________________________________________________________ Signature:

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 5

CSCI321 – AUTUMN 2005

PROJECT DESCRIPTIONS

Supervisor and/or client(s)

Dr Jo Abrantes Building 3, Room 212. [email protected]

Proposed Title Web Based Robot Control. (JA-01) Project

Description & Group Size

The main purpose of this project is to develop a software application for the control of a robot via a web browser. The key components of the system to be developed in this project are:

a) A mobile robot designed and built by the project group using RoboLab (Lego’s Robotic System).

b) A web site providing all the necessary functionality to allow a user: a. To create Java programs for the mobile robot, b. To download programs to the robot (example programs available on

the web site, or programs created by the user), c. To run a program and watch the robot’s behavior via a camera

connected to the web server and showing the image on the web site. c) The web server software. d) The client software. e) The robot software.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

The main language to be used is Java.

Additional Resources

See the following websites for more information on Java for the RCX (the Lego programmable brick): http://www.lejos.org/tutorial. http://lejos.sourceforge.net/. The book Programming Lego Mindstorms with Java by Dario Laverde may also contain relevant information.

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 6

Supervisor and/or client(s)

Dr Jo Abrantes Building 3, Room 212. [email protected]

Proposed Title Software for Gesture Based Human Robot Interaction. (JA-02) Project

Description & Group Size

The purpose of this project is to develop software for the use of arm and hand gestures as a natural mean of human-robot interaction. To be able to communicate with a robot via hand and arm gestures the robot must be able to correctly observe each gesture from start to end. Therefore, it is necessary to equip the robot with the ability of gaze control. This ability consists of tracking the object of attention as it moves so that the object it always kept in the centre of the image. The software to be developed in this project will provide a robotic head with the ability of gaze control, involving the combination of the head’s pan and tilt movements (horizontal and vertical “neck” movements).

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

The main language is Labview, but some functions will need to be written in C.

Additional Resources

The robotic system is composed of a stereovision head and a robot arm. The stereovision head is controlled by software implemented on a host Macintosh computer and the robot has its own controller. I/O hardware provides communication functionality between the host system, the stereovision head and the robot arm. The stereovision head is a mechanical model of a human head and the robot arm is a six-degree of freedom arm (refer to Figure below). The control software that integrates the robot arm and the stereovision head, thus allowing the arm actions to be determined by the information acquired by the stereovision head, has been developed and implemented in previous projects. The software that enables a moving object to be tracked by one eye (i.e. one camera) of the stereovision head has also been developed and implemented.

Robot Arm Robot Controller Stereovision Head

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 7

Supervisor and/or client(s)

Gene Awyzio Building 3, Room 106, [email protected]

Proposed Title Fil-it-In Puzzle. (GA-01) Project

Description & Group Size

The project consists of two parts: Puzzle Generator On the PC, you may import lists of unique words or numbers (or auto-generate lists of words) and build “Fill-It-In” puzzle games (of custom size). Puzzle Player These puzzles can then by downloaded to a PALM PILOT (through “hotlink”) and played on the handheld machine. A Player profile will be maintained to record the number of games won and the speed of completion. Players will be able to choose froma number of puzzles (currently stored on the palm) according to size & degree of difficulty. A Fil-It-In game is like a crossword without clues … the list of words (the ‘answers’) is known to the player and can ONLY be fitted into the puzzle in one correct combination. The list of possible words is sorted by size and alpha. As each word is correctly placed into the puzzle, the word in the ‘answer list’ is struck-through to show it has been used. The challenges will be:

a) to build a puzzle generator, b) to master the hot-link process, and c) to design a workable interface for this often large-format game on the small

screen (320x320) of a Palm PDA. Assumed

Knowledge

Platform, Key Technologies

and Tools to be used

Palm based computing platform using Palm Development SDK and emulation software.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 8

Supervisor and/or client(s)

Gene Awyzio Building 3, Room 106, [email protected]

Proposed Title A collection of single player puzzle style games for the Palm OS. (GA-02) Project

Description & Group Size

The project group is to develop a collection of s single player puzzle style games for the Palm OS. Development is to be done via a palm emulator but the final product is to work on any of the Palm Tungsten family (eg Tungsten C, Tungsten E, Tungsten T2 etc).

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

Palm based computing platform using Palm Development SDK and emulation software.

Additional Resources

Palm provides information on Palm OS emulators at: http://www.palmos.com/dev/tools/emulator/ Some old information and a tutorial on Palm emulation for Linux can be found at: http://www.netmeister.org/palm/POSE/POSE-HOWTO.html

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 9

Supervisor and/or client(s)

Gene Awyzio Building 3, Room 106, [email protected]

Proposed Title Pocket Schedule Navigator. (GA-03) Project

Description & Group Size

The project group is to develop a c Pocket Schedule Navigator for the Palm OS. Development is to be done via a palm emulator but the final product is to work on any of the Palm Tungsten family (eg Tungsten C, Tungsten E, Tungsten T2, TungstenT3, Tungsten T5 etc). The project consists of two parts: Timetable Creator On the PC, you may create your Schedule (typically a University Subject TimeTable) Schedule-Navigator The Time-Table will be downloaded to a PALM PILOT (through “hotlink”).The Schedule-Navigator will not only allow display of the time tale (sortable by numerous criteria, including day, time, subject etc) BUT will also sound a reminder alarm for scheduled classes etc. Scheduled events may be assigned different priorities and alarm sounds. The Palm PDA application will also have a FULL MAP of the University campus, with ‘clickable’ descriptors of each major location (including carparks, bus-stops & other infrastructural needs etc). Each Scheduled event will be assigned a location. At any time, the user will be able to request that the Palm display on the map a “best route” from their current location to any scheduled location. The challenges will be:

a) To build the scheduler engine. b) To master the hot-link process. c) To build a workable interface for the navigation feature on the small format

Palm PDA display (320x320). Assumed

Knowledge

Platform, Key Technologies

and Tools to be used

Palm based computing platform using Palm Development SDK and emulation software.

Additional Resources

Palm provides information on Palm OS emulators at: http://www.palmos.com/dev/tools/emulator/ Some old information and a tutorial on Palm emulation for Linux can be found at: http://www.netmeister.org/palm/POSE/POSE-HOWTO.html

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 10

Supervisor and/or client(s)

Dr Katina Michael & Valerie Baker Building 39, Room 150E, [email protected] Building 3, Room 220, [email protected]

Proposed Title Conference Organiser. (VB-01) Project

Description & Group Size

Conferences are very time consuming to organise and manage. This 321 project seeks to make the organisation of a conference “end-to-end” an effortless Web-based process with information collected to be stored in a back-end database for re-use. Collecting delegate details, and presenter contact information, as well as abstracts and completed papers are an important aspect of the Conference Organiser. Speakers should be able to enter and maintain biographies, photos and contact info. One of the most difficult tasks is to facilitate a double blind peer review process of paper submissions and receiving adequate feedback from reviewers in a timely fashion. Automating this process, in addition with providing ongoing feedback to clients is important. Sending email alerts and web links for uploading documents is integral to the Conference Organiser. Conference attendees should also have the ability to download the latest conference schedule to their PDA from their MyConference account (see below). Another task is to ensure that registration money is collected from all presenters and conference delegates and to allow this to happen via a web-based electronic payment system that accepts Credit Cards. Booking accommodation and air travel is another feature that is time-consuming and creates headaches for conference organisers if not done in appropriate fashion. Access to all the data can only be made by the relevant persons who have varying degrees of privileges including, Conference Chair, Author(s), Reviewers, Financial Secretary. The Conference Organiser should facilitate meeting deadlines for various stages of publication including: working paper, camera ready copy, publication date. It should also help to organise ACCEPTED conference submissions in a timetabled format ready for delivery, based on the theme of the paper.

The system should also have the ability to determine conference expenses. For example expected numbers, resources needed, meals etc. It should also have the ability to manage resources, helping organisers to answer questions such as: Do room capacities allow for the room set-ups you will need? Will any rooms need different set-ups in the same day? If so, please allow us to confirm that there is adequate time between meetings to complete the change. Has space been reserved for all your needs, including catered breaks, storage, office space, etc.?

The system should allow conference presenters to request audio visual equipment,

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 11

such as microphones and sound systems, podiums, blackboards, projection screens, easels, etc. If presenters plan to provide their own AV equipment, we need to know what they are bringing so we can ensure availability of outlets. The system needs to allow management of conference entertainment and meals, such as guest speakers and other special guests, total headcounts and special dietary requirements.

Those attending the conference will be able to create a personalised MyConference registration account which will allow them to access personalised schedules, maps etc. There should also be interactive floor plans, conference schedule and speaker and session details of all conference sessions. There is both an “administration” aspect to this project and “user” aspect. The administrators should be able to preview before publishing information to the public.

Assumed Knowledge

Students will need to have a background in web based systems and database technologies.

Platform, Key Technologies

and Tools to be used

The desired operating system will probably be a PC running some variant of Unix e.g., Linux. Students can choose which underlying database technology they wish to use.

Additional Resources

The following URL’s point to examples of real sites. http://www.edas.info/Conferences.cgi http://managementconference.com/

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 12

Supervisor and/or client(s)

Glenn Bewsell Building 3, Room 109, [email protected]

Proposed Title Online auction game. (GB-01) Project

Description & Group Size

The purpose of this project is to develop an online auction game. The difficulty with this project will be to:

a) cater for and easily switch between different online auction configuration b) time preset c) track, store and report on gamers d) archival of gamer history e) develop an agent for a standard or “English” type of auction

The game should support multiple default configurations that can be easily selected by the instructor. These default configurations should also be able to be modified by a user with authorised access. For example: inclusion/exclusion of web pages, different presentation of web pages, different seller statistics and history. The default configuration should appear to a gamer that they are visiting a real auction that is in progress. On the start of each game the time of listing and time left for each item being auctioned should be adjusted to the current time plus/minus some amount/s. These amounts may be changed per item. The game should be able to track, store and report on gamers. For example: basic data repository access, what web pages were visited, how many times a page was visited, in what order, what bids were entered, time reporting functionality. This reporting could be by gamer and for all gamers using the same configuration. Gamer history should be able to be archived and deleted from the game to maintain user confidentiality. These archives should be readily accessible and able to be interpreted for reporting purposes. An agent needs to be developed that supports the normal or “English” type of auction. In this type of auction the bid starts low and increases. When the time for the auction completes the highest bidder wins the auction as long as the highest bid is equal to or greater than the reserve. Bids for an item can increment by a set amount. A registered user can enter a bid equal to or exceeding the current bid and the next increment. The agent should be able to cater for bidders who want to bid up to a certain amount. The online auction site should appear real and be operational. The site should at least include the following:

a) A Home page with icons for the type of goods at the auction. b) Conditions of Use c) Security Statement

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 13

d) Privacy Statement e) Registration f) Ability to search for items g) Ability to post items for auction h) Seller reputation and ability contact the seller i) Ability to choose which item to bid for j) Bidding k) Contact with the seller should be appear to bidder to go to the seller’s email

but should be redirected to the supervisors Email (a remote PC) The site should be able to run on a stand alone PC and allow participants to log onto the auction using a web browser. The online auction site should appear real to the user. Some thought will be required to ensure that the system remains within the control of the game supervisor and that the ordinary internet users are not able to view or access the system

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

The client platform could be anything. The server platform should be Unix, running Apache (as the web server). The program may be written in any language.

Additional Resources

Supervisor and/or client(s)

Peter Castle Building 3, Room 102, [email protected]

Proposed Title Program for the pre-show presentation of recorded material in a digital theatre. (PC-01)

Project Description &

Group Size

To develop a suite of programs to organise and present a mixture of media files as part of the pre-show entertainment in a cinema. This would involve scheduling of still images and digital video utilising different compression schemes and file formats.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

Students will implement this project using a PC running either Windows (XP) or Linux.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 14

Supervisor and/or client(s)

Peter Castle Building 3, Room 102, [email protected]

Proposed Title The use of a game engine for real estate industry. (PC-02) Project

Description & Group Size

To take an open-source game engine and develop a method of generating walkthroughs of real houses by collecting textures and applying to a suitable geometry for enhancing promotion in the real estate industry. This may also involve conversion of photos to three-dimensional geometry and textures.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

The software should be implemented for either the Windows XP or Linux operating system.

Additional Resources

Supervisor

and/or client(s) Professor John Fulcher Building 3, Room 223, [email protected] Ms. Isobel Frean, Standards Australia IT 14-6-6 Working Group (Client)

Proposed Title Health Level-7 Message Transcription. (JF-01) Project

Description & Group Size

The aim of this project is to develop software to parse descriptive data within HL7 message segments in order to produce images. The program will also parse high-level segment images to produce a descriptive statements of the message segments showing optionality & repeatability.

Assumed Knowledge

It is assumed students will have a background in C++, Java and HTML.

Platform, Key Technologies

and Tools to be used

Core technologies including Windows, Java and Scripting.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 15

Supervisor and/or client(s)

Professor John Fulcher Building 3, Room 223, [email protected] Associate.Professor. Rohan Jayasuriya, Health & Behavioral Sciences (client)

Proposed Title Complexity Assessment in Aged Care Usability. (JF-02) Project

Description & Group Size

The aim of this project is to develop software to assess the complexity of tasks prior to older adult users undertaking computer skills training. Testing will be undertaken in the School's Usability/HCI laboratory.

Assumed Knowledge

It is expected that students have at least a background in C++. Enrollment in 3rd year Artificial Intelligence or 4th year Neural Networks would be desirable.

Platform, Key Technologies

and Tools to be used

The project would be dependant upon PC and AI/ANN packages.

Additional Resources

Supervisor

and/or client(s) Professor John Fulcher Building 3, Room 223, [email protected] Illawarra Division of General Practice (client)

Proposed Title Visual Programming of Data Stream Applications. (JF-03) Project

Description & Group Size

The aim of this project is to extend the capabilities of an existing IDGP program - TAADIS - that enables the Division to support the treatment of Diabetes patients across GP surgeries, IDGP & the Area Health Service. Currently TAADIS has been incorporated into Medical Director (the GP practice software package). AI techniques are to be used to provide automatic parsing & create an intelligent website within this context.

Assumed Knowledge

It is assumed students have a backgroun in C++ and Java.

Platform, Key Technologies

and Tools to be used

The project should run on a PC. Students will need to use C++ and Java to impliment the system.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 16

Supervisor and/or client(s)

Anne Fuller Building 3, Room 221. [email protected]

Proposed Title Reconstitution of Edustream Content. (AF-01) Project

Description & Group Size

Edustream is technology used by UOW to stream lecture content to remote campuses in real-time. It is also possible to save the lecture for later viewing. In this case, the slides appearing on the desktop are saved separately, as HTML or .pdf files, and the audio is saved as .mp3 or .mp4 files. Students subsequently viewing the lecture must try to match the audio playback to the individual slides. The project aims to create a multi-platform tool whereby students can reassemble the lecture from its component parts. Students will need to research the way in which Edustream saves the separate parts to determine the best way to reconstitute them.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

The technologies for this project will be outlined by CEDIR. Edustream is a Macintosh (OS X) and PC (Windows) product.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 17

Supervisor and/or client(s)

Dr Janusz Getta Building 3, Room 210. [email protected]

Proposed Title Hybrid XML-Relational Database System. (JRG-01) Project

Description & Group Size

The general aim of this project is to design and implement a small database system for storing and managing relational tables and XML documents Specifically students must:

a) Design and implement a command based data definition and data manipulation language for a hybrid XML-Relational database system.

b) Implement a subset of XQuery language for querying relational tables and XML documents.

c) Implement a command based and Web based interface to manage the system

d) Implement application programming interface to the system. It is possible to create a view of a relational table as XML document. It is also possible to transform the hierarchical structures of XML document into a collection of indexed relational tables. One of these methods can be used to create a hybrid XML-Relational database system. A practical approach to implementation of the system is to start from one of the open source embedded relational database systems like for instance SQLite, Derby, etc and expand the system towards XML data model. Another approach would be to start from the "opposite corner" i.e. one of the native open source XML database system and expand it with a relational view of data.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

Possible implementation environments include, Windows XP, Linux, C, C++, Java and web server.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 18

Supervisor and/or client(s)

Dr Janusz Getta Building 3, Room 210. [email protected]

Proposed Title XQuery Language for Relational Database System. (JRG-02) Project

Description & Group Size

The general aim is to implement XQuery (RXQuery) as a query language for relational database systems Specifically students must:

a) Extend the semantics of XQuery for relational model of data. b) Implement a simple command based interface and application-programming

environment where XQuery replaces SELECT statement of SQL in database retrieval applications.

XQuery language is one the latest and most important achievements of XML technologies. At present, XQuery has been defined as a language for expressing queries over the collections of XML documents. XQuery is the only fully computational complete query language. The extensions of traditional relational-based database systems with XML data structures create a dilemma: which language should be used for programming database applications, SQL or XQuery. This project attempts to show that XQuery general enough to be used for querying both relational and XML structures.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

Possible implementation environments include Windows XP, Linux, C, C++, Java and Web server.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 19

Supervisor and/or client(s)

Dr Janusz Getta Building 3, Room 210. [email protected]

Proposed Title Visual Programming of Data Stream Applications. (JRG-03) Project

Description & Group Size

The aim of this project is to design and implement a graphical interface to a data stream processing system. Specific objectives:

a) Extend the operation level graphical interface to data stream processing systems.

b) Design and implement user application level graphical interface to data stream processing systems

A starting point for this project is the results of two software projects implemented in previous years. The first one was a simple and quite successful implementation of data stream processing system on a top of relational DBMS. The second project was rather unsuccessful implementation of a stand-alone data stream processing system. In this project you are to concentrate on the graphical interface for visual programming of data stream applications. Two levels of such interface should be considered. The first one is an extension of an already available graphical interface for implementation of elementary operations on data streams. A higher interface level suppose to provide the programmers with the abilities to create the data stream processing operations at a level of already created elementary operations. It should be possible to create, save, and reload the user applications. Moreover the system should translate the graphical designs into intermediate XML based language suitable for implementation of the applications.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 20

Supervisor and/or client(s)

Professor Aditya Ghose Building 3, Room 105. [email protected]

Proposed Title Agent Based Modelling and Simulation of Biological Pathways. (AG-01) Project

Description & Group Size

This project will involve applying agent-oriented modeling techniques as well as agent-oriented programming in modeling and simulating molecular interactions and pathways. The project does not involve the development of new techniques but the implementation of relatively well-developed frameworks. Most of the development is likely to involve Java and Java-based agent development environments. No prior specialized knowledge of biology/bioinformatics will be required (but a little bit may have to be picked up along the way). The project is of special interest from a software engineering viewpoint because of the parallels between the modeling and simulation of biological pathways on the one hand and software processes and systems on the other.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

The main language to be used is Java.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 21

Supervisor and/or client(s)

James Gibson Building 3, Room 208. [email protected]

Proposed Title Leading edge application of an open source Business Process Management System. (JG-01)

Project Description &

Group Size

There is a revolution occurring in the design of enterprise systems. This revolution has the potential to increase productivity tenfold, and will redefine jobs and skills in industry. Its impact will be equivalent to the change from assembler level coding to source code. This project offers you the chance to be part of this ‘third wave’ of software development and to assess the implications of this technology. Current approaches: Corporate enterprise systems are notoriously difficult to create. This difficulty has led to technologies represented by the current plethora of acronyms including BPMN, BPEL, Web Services, SOA, J2EE, websphere etc. This technology led approach also inherited the baggage from earlier platforms and standards. Unfortunately, the result has been even higher risk for projects as technologies become more daunting and choice overwhelming. The ‘Process’ paradigm: Fortunately, there is a new paradigm for the development of these systems based around the concept of process oriented programming. Now the world is conceptualised as comprising processes, not objects. To support this approach, a virtual process engine is required which executes processes. Such systems are called Business Process Management Systems (BPMS). Adopting this viewpoint holds the promise of ease of development of business processes within a corporation, and provides a way to determine the appropriate choice of supporting technology for inter-company communication. BPMS inStock 2005 is designed to assess the effectiveness of a new paradigm for business system development and to stimulate further architectural development of this system. Your aim is to test the BPMS approach by performing the first implementation of a corporate system on the open source jBPM/jBOSS platform using methodologies and tools provided by the DLAB research group (a part of DSL). The project will provide an outstanding learning environment for top students and an opportunity to make a meaningful contribution to a leading open source project What is the outcome? You shall implement, evaluate and document the strengths and weaknesses of the approach, how it relates to users, how it scales and other issues relating to its suitability for the development of corporate systems. In addition, you shall optimize, stabilize and document a software process and tools based on this approach suitable for the development of corporate systems. A possible outcome of this project may be a paper or case study outlining the learning process, the final engineering process, strengths and weaknesses, metrics and testing, and possible improvements. Staffing the project? This project is intended to provide significant challenges to good students. You will need to have strong conceptual thinking, the ability to view issues from a business perspective, plus excellent java object-oriented skills. A suitable team will have staff multi-skilled to fill different roles including project manager, business process analyst, systems architect/programmer and systems

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 22

administrator. At completion of this project, it is hoped that students will have a strong grasp of an emerging and revolutionary approach plus the underlying software engineering process, paradigms and architecture. This knowledge will act as a sound foundation for either industry or further academic research. Mentoring? This project is an element of the strategic plan to allow the DLAB team (of which you will be part) to become leaders in this evolving field. As such, you will be mentored by myself, plus honours students who are specialists in various aspects of these systems. This system is also built on experience implementing previous inStock systems based on j2EE architectures. Other? The DLAB team has chosen jBPM/jBOSS as the leading open source vendors of enterprise strength software. It is a strategic goal that the DLAB team will be recognized as an important contributor in this area. Your work will directly contribute to this open source effort.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

The BPMS inStock 2005 team will be inaugural users of the Software Engineering Dynamic Lab (DLAB) system. The DLAB provides infrastructure support for corporate system development including dynamically configurable n-tier servers and networking, knowledge management, document management, version control, testing and analysis, network traffic analysis and timesheet tracking. SITACS possesses licenses for research use for all technologies required.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 23

Supervisor and/or client(s)

Associate Professor Neil Gray Building 3, Room 206. [email protected]

Proposed Title Gong Java Foundry. (NABG-01) Project

Description & Group Size

Ideally, the group will set themselves up as if they were a small independent software development company specializing in Java utilities. They are to create a portfolio of Java products that are to include: a simple environment (suitable for CSCI213 students) that can be used to generate, automatically, a set of javax.swing or java.awt based classes for a graphical user interface that is sketched in a GUI editor, a tool to help compose RSS news feeds and a parser for feeds, a tool that helps compose and test XSL scripts for displaying XML data, a tool to help automate some operations on databases (again, aimed at usage in CSCI213), an XMLize tool (uses reflection to analyse a class, composes a DTD defining equivalent data elements, and code that converts a class instance to XML), and others. While the products themselves are important, the group will also be assessed on aspects such as the managerial organization of the "company", the use of development and test tools, the adoption of a consistent approach to product development across the range of products, version management of products, consistent approaches to product testing and regression testing, and even the publicity portfolio describing the product range. Examples of some Java applications similar to those that must be developed are available at sourceforge or at the Java community net.

Assumed Knowledge

Java – more then just CSCI213; these students should have an interest in Java and should already have explored on their own Java related technologies such as the ant build tool, XML-libraries, JDBC, ...

Platform, Key Technologies

and Tools to be used

Students would have to implement this project on either Windows/Linux. Development environments such as Eclipse, JUnit, ant may need to be used.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 24

Supervisor and/or client(s)

Associate Professor Peter Hyland Building 3, Room 104. [email protected] Faculty of Informatics (client)

Proposed Title A suite of Knowledge Management tools for use in the Faculty of Informatics. (PH-01)

Project Description &

Group Size

This project is a continuation of an ongoing project to develop a suite of web-based Knowledge Management (KM) tools for the Faculty of Informatics. KM tools allow people in an organisation to locate employees with specific skills, find policies and procedures, share their knowledge about organisational procedures and so on. The previous phases of the project have developed or are developing the first three tools in the set. This project will develop two additional tools in the set, and enhance the capabilities of previously developed tools. All of the tools are being developed in accordance with the University’s procedures for system development, so students have an opportunity to work in a “real-world” development environment. The project is even more realistic because students need to combine their database structures with those of the other tools in the set and with information drawn from the University’s own databases.

Assumed Knowledge

Students need to be able to:

a) carry out requirements gathering, b) design a number of databases and integrate those with exisiting databases. c) develop multiple web interfaces to the integrated databases.

These web interfaces may need to provide quite complex search functions, depending on the tools being developed.

Platform, Key Technologies

and Tools to be used

Both the University and the Faculty use standard development platforms and this project MUST be carried out using those platforms. However, this project requires only the basic functions provided within those platforms, which are typically:

a) Script support: PHP or Perl. b) Database support, MySQL. c) Apache 1.3.2 Web server. d) Java

Students with a working knowledge of any of the “usual” databases (e.g. Access) and web development environments (e.g. .net, asp Java etc) should be able to complete the project, although this may take some additional learning on the part of the group.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 25

Supervisor and/or client(s)

Dr Igor Kharitonenko Building 3, Room 108. [email protected]

Proposed Title A Software Environment for Development and Evaluation of Image and Video Processing Algorithms. (IK-01)

Project Description &

Group Size

Most of the digital cameras currently available on the market produce images that require further PC based processing. The most commonly applied processing is image enhancement and geometrical manipulations. These operations are usually performed by the users running such applications like Adobe Photoshop, Paint Shop Pro, PhotoFinish, etc. These applications contain a collection of built-in algorithms that cannot be easily extended or modified as they are designed for end users. Thus, these commercial applications cannot be used for development and evaluation of new image enhancement and manipulation technologies and theoretical research. The objective of this project is to create a software environment which can become a flexible and convenient tool for researchers on image processing. The tool shall minimise the programming load on algorithm developers giving them an opportunity to focus mostly on theoretical aspects and experiments.

Assumed Knowledge

Students should have a backgroun in C/C++, Java, HTML and UNIX system programming. No previous experiense in the area of image processing is required.

Platform, Key Technologies

and Tools to be used

The key technologies used include UNIX, Windows.. Multithreding. Inter process comunication. (GNU C/C++ and Java).

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 26

Supervisor and/or client(s)

Wanqing Li, Building 39, Room 105, [email protected]

Proposed Title Data hiding and transmission in real time video. (WL-01) Project

Description & Group Size

This project is to build a real time system where text or audio data is inserted (hidden) into a video sequence and transmitted together with the video over Internet. A newly proposed algorithm, Block Quantization Index Modulation (BQIM), will be used for hiding data in the video. The video together with hidden data shall be compressed by motion JPEG (or MEPG-4) and transmitted over internet. On the receiver side, the video is decompressed and hidden data will be recovered and presented.

Assumed Knowledge

Students must have a background in MS C/C++ and network programming. Student should have a solid Math background. It is desirable that students have some background in multimedia programming and image/video processing.

Platform, Key Technologies

and Tools to be used

Window based operating system.

Additional Resources

Supervisor

and/or client(s) Dr Luke McAven Building 3, Room 111. [email protected]

Proposed Title A graphical tutorial for illustrating Dirac’s string trick. (LM-01) Project

Description & Group Size

Dirac’s string trick is one of several physical illustrations of the double connectedness of space. This property means some objects are not invariant under a rotation by 2π (360 degrees), but are invariant under a rotation by 4π (720 degrees). The idea is to understand Dirac’s string trick (physically not the mathematics and physics behind the connectedness) and/or some similar illustrations, and to develop and present a graphical tutorial for explaining it.An interactive toolbox for studying it would be useful to, with the tutorial running as a specific set of parameters.

Assumed Knowledge

The students wouldn’t need to understand the underlying mathematics and physics but having an interest in mathematics and physics would help. A familiarity with computer graphics and image representations (CSCI236, CSCI336) is probably necessary.

Platform, Key Technologies

and Tools to be used

Software should run on a Windows machine using either C/C++ or Java.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 27

Supervisor and/or client(s)

Dr Luke McAven Building 3, Room 210. [email protected]

Proposed Title A toolbox for experiments in colour blindness. (LM-02) Project

Description & Group Size

There are standard colour blindness tests which involve such things as embedding numbers in colour fields such that colour blind persons cannot see the number, while full colour seeing persons can. The first aim would be to implement a colour blindness test, probably allowing any (short) series of symbols to be included in a suitable image. The second aim would be to propose and test a hypothesis regarding whether colour blind persons can distinguish any patterns which full seeing persons cannot. Note there are several types of colour blindness and probably focusing on the most common sort would be best. A group of four or five students would probably be best here.

Assumed Knowledge

Some basic statistics might be necessary for the second part.

Platform, Key Technologies

and Tools to be used

Software should run on a Windows machine using either C/C++ or Java.

Additional Resources

Some colour blind people would be useful.

Supervisor and/or client(s)

Dr Luke McAven Building 3, Room 210. [email protected]

Proposed Title Oracle queries in authentication, encryption and authenticated encryption. (LM-03)

Project Description &

Group Size

The security of cryptographic systems is often measured by the strength of attacks given certain information. The different information, or attack models, are specified by the different number and type of queries available to an attacker. This project involves implement a query system for authentication, encryption and authenticated encryption schemes. The authenticated encryption schemes can be built from authentication and encryption schemes. This system should be implemented for computationally secure cryptosystems and can serve as a useful illustration of cryptographic concepts. A sample system, something like DES, would need to be implemented. Group size of four to five

Assumed Knowledge

This is a security based project so CSCI361 is a pre—requisite or co—requisite.

Platform, Key Technologies

and Tools to be used

Software should run on a Windows machine using either C/C++ or Java.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 28

Supervisor and/or client(s)

Associate Professor Phillip McKerrow Building 3, Room 219. [email protected]

Proposed Title QuickTime VR Library. (PM-01) Project

Description & Group Size

In 2004 a team of students developed a package to stitch images into a panorama, transform the panorama to cylindrical coordinates and map it into the VR format for display in the QuickTime player. This project follows on from that one and includes: learning how that project works, pulling it to pieces and redesigning it so that most of the functionality resides in a VR library, porting it to Mac OSX 10.4 and QuickTime for Java 7, and adding directional sound and range data. The release of Java 1.4 resulted in significant design changes in QuickTime for Java and the pending move from Mac OSX 10.3 to 10.4 will result in further changes. This project is to be done in QuickTime for Java on a Macintosh computer.

Assumed Knowledge

Students should have familiarity with Java programming.

Platform, Key Technologies

and Tools to be used

The project must work using Mac OSX 10.4 and QuickTime for Java 7.

Additional Resources

Supervisor

and/or client(s) Associate Professor Phillip McKerrow Building 3, Room 219. [email protected]

Proposed Title Macintosh embedded development suite. (PM-02) Project

Description & Group Size

An embedded development suite consists of an editor, a cross compiler, a downloader and a debugger running on a host computer. The software is developed on the host, downloaded onto the target embedded system, run on the embedded system and interactively debugged on the host communicating with the embedded system. The first stage of this project is to identify a suitable embedded system for controlling a hovering robot. The second sage is to investigate available development suites (open source) and determine whether any are portable to the Macintosh. The third stage is to investigate a Java suite developed by a French team for the PIC micro-controller (we can get the source code). The fourth stage is to choose a solution. The fifth stage is to implement and test the solution. The project is to be done in Java on a Macintosh.

Assumed Knowledge

Students should have experience in both Java programming and machine code

Platform, Key Technologies

and Tools to be used

The platform and technologies needed for this project are Mac OS X and Java.

Additional Resources

Will need to purchase one or two embedded cards for testing the software.

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 29

Supervisor and/or client(s)

Dr Katina Michael Building 39, Room 150E, [email protected] James Winterbottom, Martin Dawson (Nortel Networks) (client)

Proposed Title Nortel Networks- Enterprise Location Assertion Database. (KM-01) Project

Description & Group Size

Location determination within IP networks is complex as an IP address, much like a mobile phone number, provides no indication of where a user is. This is problematic in many cases particularly if the user needs to be able to relay his/her location to a service or service provider, emergency services for example. Location information can be presented in may forms, the two most commonly acceptable forms being geodetic (latitude, longitude) and civic (street) addresses. Geodetic may in addition to latitude and longitude also include altitude and/or an area of uncertainty (often expressed as a circle radius in metres around the point). The Internet Engineering Task Force (IETF) has adopted a format for expressing location called GeoPriv and all location information returned from the database in this project MUST be represented in well formed GeoPriv object. http://www.ietf.org/internet-drafts/draft-ietf-geopriv-pidf-lo-03.txt describes the GeoPriv XML schema. draft-winterbottom-geopriv-pdif-lo-profile-00 describes what is meant by a well formed GeoPriv object. Large campuses are often made up of a large number of managed switches that logically separate the network into groups of smaller subnets. Each switch in turn has a number of ports that are similarly linked to patch panels and subsequently wall sockets in a room or office. It is also possible that Ethernet ports may be linked to wireless access points (WiFi) creating a catchment area or uncertainty around the final location.

Managed Switch

Building 39 , flr 2, room xyz

10BASE-T wall plate

Shelf 1

Shelf 2

Shelf 3

Shelf 4

Rack1

Location

Equipment Room

The aim of this project is to produce a database that can map Ethernet managed

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 30

switches and ports to locations. The database must support the storing of both geodetic and civic locations. Further more geodetic locations must be capable of supporting an uncertainty representation of either a circle or polygon (see draft-winterbottom-geopriv-pdif-lo-profile-00 for an example of what these forms look like). In addition, locations are expected to be well formed and follow the conventions laid out in (draft-winterbottom-geopriv-pdif-lo-profile-00). The base key for querying the database would therefore be switch-id (IP address preferably) and port number. In addition to mapping Ethernet managed switch ports to locations, it must be possible for a user to assert a location against the database to determine if a location is valid. The location assertion mechanism must support the asserting of civic and geodetic locations though not for the same query. Further more geodetic locations may include point, point with uncertainty circle, or a polygon. The percentage of polygon or radius overlap to determine a match should be configurable system wide. Should a location match, simply returning the asserted location is preferred. In this case the query would consist of switch-id, port number and location. A set of standard java interface classes for querying the database are provided and must be used. The database MUST support multiple access both for location data entry, and querying. An extension to this project would be to include client software that can connect to the database and allow a technician the capability to update cabling, and hence location, information. Data entry is left to the discretion of the project group.

Assumed Knowledge

Students may consider using these technologies XML, Java and C#. Students may opt to use other technologies.

Platform, Key Technologies

and Tools to be used

The software should run on Linux (preferrable) or Solaris. A relational database with full referential integrity constraints, DB2, PostGres or Oracle should be used.

Additional Resources

Nortel Networks Documentation can be found online at http://www.ietf.org/internet-drafts/draft-ietf-geopriv-pidf-lo-03.txt * You will be required to liaise with a UOW PhD student who will be working on another part of the LIS. Your software output will be required to “plug in” to a larger software project.

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 31

Supervisor

and/or client(s) Dr Katina Michael Building 39, Room 150E, [email protected] David Evans (Nortel Networks) (client)

Proposed Title Mobile Location Centre Phone Tracker. (KM-02) Project

Description & Group Size

The Nortel Mobile Location Centre provides geographic co-ordinates of the location of a mobile phone. Applications are able to query the MLC for the location of a specific mobile phone using the Mobile Location Protocol. This project will built upon components of the Universal Entity Location System to enable these components to be shared via an open-source license. The components would include:

a) the Mobile Location Protocol parsing subsystem b) the Mobile Location Request Manager c) the Mobile Location Simulator

In this project you will also build an application to track mobile phones and provide services for:

a) the mobile phone owner b) a group or person associated with the phone owner (e.g., friend, family,

business owner etc)

This application has the option to build upon the Mobile Entity tracker. Potential work products include:

a) the above open source products b) mobile phone tracking application

Assumed Knowledge

Students should be familiar with the Java Programming language.

Platform, Key Technologies

and Tools to be used

Students will need to develop software on either Windows or Macintosh machines using Java and other web based technologies. The interface should be implemented as a series of web pages. Students will be required to use the Nortel Networks MLC Software Development Kit.

Additional Resources

Mobile Location Protocol standards can be found at www.openmobilealliance.org/tech/wg_committees/loc.html Nortel Networks Mobile Location Protocol Compliance Statement. Doc# 1951

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 32

Supervisor and/or client(s)

Dr Yi Mu Building 3, Room 203, [email protected]

Proposed Title Remote Control of audio/visual systems on a computer (YM-01) Project

Description & Group Size

The project aims to develop software which can provide an interface for users to remotely control a audio/visual system (by a PDA). The software should be written with Java JINI technology. On completion of the project, the candidates should provide a software package consisting of an audio/visual program, a Server program (for PC), and a Client program (for PDA) that takes as input, user instructions which control the audio/visual program by invoking some control functions in the Server.

Assumed Knowledge

Students should have a background in Java Programming.

Platform, Key Technologies

and Tools to be used

The project requires students to develop software for the Microsoft Windows platform. Students will need to use Java and JINI.

Additional Resources

PC (x86), PDA plus wireless cards (for both PC and PDA)

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 33

Supervisor and/or client(s)

Daniel F. Saffioti, Building 3, Room 107, [email protected]

Proposed Title Cross Platform Port of Hydra (SubEthaEdit) (DFS-01) Project

Description & Group Size

SubEthaEdit started its life off as a simple text editor called Hydra. Over time this text editor has evolved into something more elegant and powerful. SubEthaEdit is known as a collaborative text editor. This therefore means that a document can be shared in real time with a number of other individuals via a network. Alterations to the document are shared in real time. SubEthaEdit has a wealth of functionality including Unicode (UTF) support, HTML parsing, code formatting and colouring, regular expression matching etc. However its major strength is the way a document can be shared with parties in the same room using ZeroConf (Rendezvous – a resource discovery protocol) and BEEP an information-encoding standard. The only problem with this software is it only works on a Macintosh using Mac OS X 10.2 and above. This therefore restricts who you can work with. The aim of this project is to create a port of SubEthaEdit for other platforms. This would more then likely be done using Java. The real challenge however is ensuring that your port of SubEthaEdit is partially interoperable with the real offering. In order to do this you will have to dissect the protocol it uses by using tools such as Ethereal to capture and process network traffic. The project is basically an exercise in reverse engineering and developing an application that performs similar functionality for a number of other platforms. There is no expectation that students implement every function of the commercial offering. That said a reasonable list of functionality would be negotiated with the supervisor.

Assumed Knowledge

It is expected that students have received satisfactory grades (Credit or more) from CSCI204 (C Family and Unix) and CSCI214 (Distributed Systems). Specifically students should or be prepared to develop knowledge in the following areas;

1. Graphical Interface Programming using a toolkit/ library such as GTK, QT or Swing.

2. Networking programming with Berkley Ports and Sockets. 3. Understanding of Network Protocols and tools that can be used to examine

them e.g. Ethereal, tcpdump etc. 4. Ability to learn network discovery libraries such as Rendezvou.

Platform, Key Technologies

and Tools to be used

The following technologies are core to the project.

a. Apple’s Open Source implementation of Rendevous. b. Java with the use of Swing c. Berkley Ports and Sockets (or equivelent Windows Sockets frameworks).

It is expected that the resulting software works on Mac, PC and Unix operating

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 34

systems – thus it is believed groups will probably opt to use Java.

Additional Resources

Here is a list of resources that may help you understand the project a little better. SubEthaEdit Home Page http://www.codingmonkeys.de/subethaedit/ http://www.drunkenblog.com/drunkenblog-archives/000292.html The site outlines the functionality of the SubEthaEdit product. The second site is basically a blog outlining the roadmap for SubEthaEdit. Apple Rendezvous Home http://developer.apple.com/macosx/rendezvous/index.html The page describes how to implement Chesire’s version of ZeroConf (as described in the RFC below) using DNS-SRV records and Multicast DNS. The page also contains a port of the Apple framework for Windows based Machines. ZeroConf IETF Specifications http://www.zeroconf.org/ Provides valuable RFC material on how the underlying protocol works. It also provides insight into how you would use Zeroconf in a real applications. The most significant sections of the RFC are DNS-SRV and Multicast DNS (ignore Link Local as it is typically part of the operating system). Beep Homepage http://www.beepcore.org/beepspecs.html This page give you a wealth of resources (and academic papers) on the BEEP protocol. Ethereal http://www.ethereal.com/ Ethereal is an Open Source packet analyzer. It has been ported to a number of platforms and provides a great degree of functionality and flexibility. You can follow entire TCP streams in this environment thus allowing you to dissect and understand a underlying protocol

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 35

Supervisor and/or client(s)

Daniel F. Saffioti, Building 3, Room 107, [email protected]

Proposed Title An Open Source Shell Compiler. (DFS-02) Project

Description & Group Size

Whether it be Bash (Bourne Again Shell), Zsh (The Z Shell), Csh (The C Shell) or Ash (the el-cheapo GNU Bourne Shell distributed with Cygwin) they all suffer from two major problems. They are all too slow and don’t have much in the way of debugging support. Let me explain. Shell code regardless of the language is interpretered – that is the code is parsed and then acted upon. The trade off with this is that it means its slower to run. That said interpreters are a little easier to write then compilers. Probably another limitation is debugging. It is hard to know how shell code actually works and behaves in real time. The aim of this project is to write a tool that can take shell code (regardless of interpreter) and convert it into an executable. The compiler should detect what interpreter is being invoked and then convert it into a binary accordingly. This would be done by reading in the code and converting it into C code, which would then be run through a compiler such as CC (Forte) or GCC (Gnu C). Your compiler could be thought of as a pre-compile. (Many years ago if you wanted to use SQL libraries in C/C++ you had to run the C code with SQL extensions through a precompiler which produced C code and appropriate linkages which could be then run through a real compiler). The difficult bit is not the development of the tool that does this conversion rather the system to allow you to debug shell code. Your job is to implement a graphical development environment, which allows you to trace variables in shell programs, watch the output of externally, executed programs, break on a set number of iterations and so on. You would implement this at either the interpreted or compiled levels (if it were to be done on a binary that is much more difficult).

Assumed Knowledge

It is assumed students have a solid programming background and have received satisfactory grades in CSCI204 (C Family and Unix) and CSCI203 (Algorithms and Datastructures). Students should also have an interest in programming languages and compiler design.

Platform, Key Technologies

and Tools to be used

The project is to be implemented in C/C++ (that is the actual code generator). The debugger is to be implemented using the GTK graphical environment. This is after all a Unix project. This is largely a systems programming project so students should perform some background reading into systems programming and various forms of IPC (Interprocess Communication).

Additional Resources

Further information can be obtained by reading the commerical information for the CCsh compiler which is commerically available. http://www.comeaucomputing.com/faqs/ccshlit.html

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 36

Supervisor and/or client(s)

Daniel F. Saffioti Building 3, Room 107, [email protected]

Proposed Title iHome for Mac OS X. (DFS-03) Project

Description & Group Size

For some time now, Apple has been talking about the digital hub. The digital hub is the idea that the computer can be used to create, store and edit digital media (video, audio, pictures). As a consequence of this Apple has developed a number of software solutions to facilitate this. Such solutions include iTunes, Quicktime and so on. With the introduction of the Apple Mac Mini, Apple now has a consumer PC that has an excellent price point. It is believed that some people will simply use the Mac Mini as an all-purpose Media unit, which could be linked to a television. This coupled with other devices such as Airport Express (Apple Wireless technology for streaming audio to devices) make the Macintosh a serious contender in this space. The aim of this project is to develop a Blue Tooth Application that can work with Mac OS X, which allows you to interact and control your media resources. In affect you will be building a remote control for an all-purpose media centre. It is expected that the program provide access to mail, music, photos, web, news, stock information, weather and movies. You can assume the device has a link to the internet for some of these services. Additionally the project should support playback and control of various media resources e.g. playing back an AVI on a display. You software should be able to deal with various forms of media i.e. video, pictures and audio in various formats. The project also requires you to be able to interact with devices such as Apple’s Airport Express which allows audio playback via wireless networks. You mission is to design a intuitive and powerful environment which allows you to do all this.

Assumed Knowledge

It is assumed students have a solid programming background and have received satisfactory grades in CSCI204 (C Family and Unix) and CSCI14 (Distributed Systems) Students should have some background in object oriented programming environments and network protocols.

Platform, Key Technologies

and Tools to be used

To complete this project students will probably be using the following technologies;

a. Objective C/ Coccoa. b. C++/Java. c. Bluetooth Frameworks. d. Windowing environment e.g. Aqua.

Additional Resources

An excellent example of the work that is desired can be found at the itheatre site which is currently under development. http://digitalducktape.net/.

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 37

Supervisor and/or client(s)

Daniel F. Saffioti Building 3, Room 107, [email protected]

Proposed Title Userspace Filesystems for Darwin. (DFS-04) Project

Description & Group Size

FUSE is a technology for Linux that allows users to create their own file system types without the need for developing complex kernel modules. Architecturally FUSE consists of a library and a kernel module. Developers using this library would typically write a number of entry points (as per FUSE specification) and link in the library. The result is a user space application that can transparently manage a file system. The key word here is transparency because all POSIX file system calls should continue to work. Darwin is the open version of Apple’s core operating system. Darwin is basically a Mach Micro-Kernel, which means that the kernel is not one monolithic piece of software rather a number of small components that communicate with one another using well-formed messages. The aim of this project is to take the current implementation of FUSE for Linux, learn how it works and then port it to Darwin. This will therefore mean that Macintosh Developers can implement user space file systems easily. Such developers would not require a strong background in file system or kernel development. Once this is done students need to demonstrate the potential of the port by showing various file systems implemented using FUSE. Students would have to demonstrate the operation of the Wayback file system (a versioning file system) from source (available online). Students will also have to implement their own file system, which behaves like ElephantFS (it should be noted that ElephantFS is a file system that never loses files – when files are deleted they are moved of the actual file system but kept for later retrieval). This is a difficult project but can potentially be a heap of fun.

Assumed Knowledge

It is assumed students have a solid programming background and have received satisfactory grades in CSCI204 (C Family and Unix), CSCI14 (Distributed Systems) and CSCI212 (Operating Systems) Students should have an eagerness to learn the design of the Linux Kernel and be prepared to learn about the Mach Microkernel as implimented in Darwin. In actual fact students may not really need to learn about Mach as it is probable it could be simply implemented as a Kernel Extension.

Platform, Key Technologies

and Tools to be used

To complete this project students will probably be using C/C++.

Additional Resources

Students may become familiar with the following works. The paper entitled “The Wayback Filesystem” by B. Cornell, PA Dinda and FE Bustamante can be found here: http://www.aqualab.cs.northwestern.edu/publications/Cornell04VFS.html

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 38

The paper outlines versioning file system which uses the FUSE library. FUSE is a library which provides User Space filesystems in Linux. Information can be found on FUSE at the FUSE project site: http://fuse.sourceforge.net/

Supervisor and/or client(s)

Dr. Willy Susilo Building 3, Room 203, [email protected]

Proposed Title Automatic Media Encryption – Tools for Securing Sensitive Data in Removable Data Storage. (WS-01)

Project Description &

Group Size

These days, removable data storage has become cheaper and indispensable in our life. However, storing sensitive data in removable data storage can be disastrous, since the removable data storage can be easily lost or stolen. The purpose of this project is to automate encryption/decryption that is done between a PC and removable data storage. Conceptually, the program will sit behind the explorer and perform the required task without user’s knowledge. The user is only aware to enter his secret information before the operation proceeds. It is expected that the program will work with modern devices, which are hard disk based, for instance iPod, Nomad Creative Player, iRiver, etc. The choice of the product will be determined later depending on the availability of the device required for the tradeshow. The encryption algorithm used will be discussed with the supervisor.

Assumed Knowledge

This project will require a deep understanding and good programming skill. Students are expected to know low level programming that will be required to communicate with the device(s) that have been agreed with the supervisor. Minimum knowledge that is required is either Visual C++ or Java (advanced programming). Students must have done/are currently doing CSCI361 (Computer Security) subject, and/or CSCI262/CSCI368.

Platform, Key Technologies

and Tools to be used

Key Technologies include the use of USB devices, eg. iPod, iRiver, etc. Students will need to do programmingin either Visual C++ or Java on a PC.

Additional Resources

Students need to provide a device for the demonstration required during the Trade Show. An iPod would be a great example of such a device.

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 39

Supervisor

and/or client(s) Holly Tootell Building 39, Room 105, [email protected]

Proposed Title Tutor Management System. Project

Description & Group Size

Develop the tutor database and include scheduling capability by drawing information from SMP and UOW timetable. Integrated mailing system from the database to allow both emailing and letter writing. It will also need to include payment information that may be available from School Finance Officer. If the final allocations of tutors can be available to download to PDA that would assist tutors in accessing the information.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

Additional Resources

Supervisor and/or client(s)

Koren Ward Building 3, Room 110, [email protected]

Proposed Title GPS Vehicle Speed Monitoring System. (KW-01) Project

Description & Group Size

This project involves the development of a GPS based vehicle speed monitoring system that can be installed in a laptop computer and remote PC. The laptop application should be able to monitor the vehicle’s speed and warn the driver if the speed limit is being exceeded. The laptop application should also be able to record the vehicle’s path and speed and display this information on a map of the region. Parts of the path where the speed has been exceeded should be highlighted appropriately to indicate speed violations. The laptop application also needs to be able to communicate with an additional application on a remote PC or PDA via the WLAN with sockets so the speed and path information can be viewed and assessed remotely. This project is to be built in Visual C++. All hardware required for the project will be supplied. Technical information and example programs demonstrating access to the GPS hardware is available.

Assumed Knowledge

Platform, Key Technologies

and Tools to be used

The software should be developed for Windows XP using Visual C++.

Additional Resources

___________________________________________________________________________ CSCI321 – Software Project – Autumn Session 2005 Page 40

Supervisor and/or client(s)

Khin Than Win Building 3, Room 207, [email protected] Alan Owen and David Bomba (clients)

Proposed Title Ongoing Needs Identification and Priority Rating Project. (KTW-01) Project

Description & Group Size

Further development of the ONI standard profiles. These profiles capture client characteristics in community care services, using standardised data items. The profiles are used in capturing the needs and risks for people seeking community care services. The project aims to produce a set of additional standard reports/profiles based the common data items, including: transport/mobility; medications; communication; environmental. The project may also examine the best ways to design the tools so they are capable of meeting a number of end-user requirements: sending a referral for service; receiving a referral; care planning; and to capture de-identified data for the purposes of populating a database and enabling data analysis and aggregated reports.

Assumed Knowledge

Students should have a background in server technologies.

Platform, Key Technologies

and Tools to be used

The project should be web based and use Java, scripting languages, PHP and a database technology such as MySQL.

Additional Resources

Supervisor

and/or client(s) Dr. Tianbing Xia Building 3, Room 205, [email protected]

Proposed Title Secure Network File System. (TX-01) Project

Description & Group Size

In this project you will develop an application working on top of the Microsoft Windows environment. The application should allow you to store encrypted files on a computer and then be able to open, close, read and write to them either locally or remotely securely. This process should be transparent to the user. The software will require users to prove their identity. Once authenticated valid users can open, modify, save and copy the encrypted files as if they were normal files. The invalid users can not view the encrypted files properly. In order to do this you may have to implement your own file system layer.

Assumed Knowledge

Students need to fully understand the Advance Encryption Standard algorithm (AES) and the low level C++ functions for Microsoft Windows based operating systems.

Platform, Key Technologies

and Tools to be used

Development should be done on either Visual Studio.net or Visual C++ on a Windows XP computer system.

Additional Resources