You are here: Robert Dale's Home Page > Teaching > ITEC 810 > ITEC810 Projects

ITEC810 Projects


Every student who undertakes ITEC810 or its sister units carries out a project that requries a significant amount of effort. If you already work in the IT industry, you may want to propose a project that is related to your employment; alternatively, you can select a project from those listed on this page.

Much of the responsibility for identifying your project lies with you, and you are required to formally report on your progress in establishing a project by the end of Week 1; you are also required to present an initial project plan by the end of Week 2, so it pays to get started on this process early.

Projects are of two general types: development projects, which typically require some programming, and analysis projects, which don't. The projects on this page are listed under these two categories; click on a title in the list to see more about that project. Note that projects whose names are struck-through in the list below have already been adopted by someone: only one person is allowed to do any given project, so the earlier you take steps to agree a project, the more choice you will have.

If you have a project idea of your own, then you should contact the convenor, Robert Dale, as soon as possible, so that you can be matched with an appropriate supervisor. Note that, if you want to propose your own project, you are obliged to disclose how it relates to any similar projects you have done in the past: it is essential as a matter of fairness in this unit that all projects are completely new pieces of work.

If you'd like to propose your own project but you don't yet have a fully developed idea of what that might be, check out Mike Johnson's Project Bootcamp.

Note that all of the projects listed here are intended, in the first instance, as ITEC810 projects. On the basis of discussions with the listed supervisor, students undertaking ITEC808, ITEC809 or ITEC811 may be able to negotiate the extension of any given project to be a major project for the purposes of those units.

All students enrolled in any of ITEC808, ITEC809, ITEC810 and ITEC811 are required to make significant progress on agreeing their project with a supervisor by the end of Week 1 of semester, and there is an assignment associated with this requirement..

Students are responsible for initiating contact with potential supervisors. You should make sure that you do the following:

  1. Make initial contact with a potential supervisor, either as suggested by the Convenor in response to your project suggestion, or from the list below if you want to pursue a project proposed by a member of staff. You may want to initiate discussions with multiple supervisors in case your first choice does not work out.
  2. Arrange a time to meet to discuss doing the project under the supervisor's supervision.
  3. Provide the supervisor with enough information to enable them to determine whether you have the necessary prerequisite skills and knowledge to carry out the project.
  4. Ensure that they and you are both comfortable that you can achieve the intended outcomes of the proposed project with what amounts to four person-weeks of effort (for ITEC810) or eight person-weeks of effort (for ITEC811).
  5. Once you and the supervisor have definitely agreed that you will do the project, email Robert Dale the name of the project to confirm that you are doing it, and cc the supervisor on that email.

All of these tasks are the responsibility of the student.

Development Projects

  1. Converting Form-based Outputs into Database Tables [Peter Busch]
  2. An Investigation of the Virtuoso RDF Platform [Steve Cassidy]
  3. Zoning of Non-text Regions in PDF Documents [Robert Dale]
  4. A Double-Base Number System Library for Cryptographic Applications [Christophe Doche]
  5. Peer-to-peer Mercurial Revision Control [Alexei Gilchrist]
  6. A C++ Source Code Obfuscator [Len Hamey]
  7. A Class Library for Multi-threaded Programming [Len Hamey]
  8. Automatic Testing of GUI Interfaces [Len Hamey]
  9. Practical Programming with Formal Methods [Scott McCallum]
  10. Mind Expander in Mathematical Ways [Frank Moisiadis]
  11. Analysis of SHA-3 Hash Functions [Josef Pieprzyk]
  12. A Tool to Reconcile Use Case Descriptions from Multiple Viewpoints [Debbie Richards]
  13. Ingestion and Display of Real-Time Meteorological Data and Satellite Imagery [Murry Salby]
  14. Display of Current Environmental Conditions via Remotely-Controlled Camera and Aviation Soundings [Murry Salby]
  15. Domain Ontologies for Spoken Language Dialog Systems [Rolf Schwitter]
  16. Computing Instruction Entropy for Virtual Machine Code [Tony Sloane]
  17. Performance Comparison of Strategic Programming Approaches to Tree Processing [Tony Sloane]
  18. The Visualization of Transaction Intimacy in E-Commerce [Yan Wang]

Analysis Projects

  1. Distributed Authentication for Web Applications [Steve Cassidy]
  2. Gesture Analysis [Manolya Kavakli]
  3. A Report on Ontology Revision [Abhaya Nayak]
  4. Working with N-ary Relations in Description Logics [Rolf Schwitter]
  5. Mobile WIMAX Security [Rajan Shankaran]
  6. Trustworthy Sensor Networks [Rajan Shankaran]
  7. Cloud Computing Security [Vijay Varadharajan]


An Evaluation of Event-B and Its Tools

Supervisor: Ros Ballantyne
Student: Suhashini Linganathan

Project Aim

Event-B is a formal method for system-level modelling and analysis. It evolved from the B-method which was well-supported by the B toolkit providing animations and automatic proof verifications which made it more reachable to the average software professional (without advanced mathematical knowledge) than earlier systems such as Z. Event-B is supported by the Rodin Platform which is an Eclipse-based IDE for Event-B with various extra plug-ins. The aim of this project is to evaluate the usability of Event-B (with its tools) in the context of teaching an undergraduate software engineering unit (or to the average software professional). This evaluation could be a comparison with the B method and the B toolkit (if known) or a comparison with other similar methods and tools.

Prerequisites

Some knowledge of set theory. A knowledge of B and the B toolkit would be advantageous.

Project Motivation

In the past formal methods were considered more of a theoretical exercise and were not frequently used in practise. The advent of better tools to animate and automatically verify specifications brings formal methods closer to being a practical tool available to the average programmer. It is interestng to discover to what extent the current methods and tools have succeeded in this and whether they should be included in current curricula.

Intended Outcomes

A demonstration of an event-B specification, animation and verification using provided tools. An evaluation of its usability compared to similar formal methods and tools.


Converting Form-based Outputs into Database Tables

Supervisor: Peter Busch

Project Aim

Much of the data collected these days is through electronic forms or questionnaires. The web is typically the way such questionnaires are hosted. One type of web based questionnaire takes the form of a series of web pages that then through Perl scripts deposits online input into .txt documents. Much of this data is (relatively) unformatted. When filling in online questionnaires, form based data is produced that is in (very) plain text format.

Processing this form based data is required for it to be read by more sophisticated software such as Anaconda. Anaconda is software that takes SQL query statement inputs and with further processing allows a lattice structure to be drawn with pre-specified data points. Toscana is software complimentary to Anaconda which in turn takes the lattice structure from Anaconda and produces the final lattice illustrating results.

The data Toscana eventually shows is the questionnaire data first amassed through the online questionnaire. Much data processing needs to take place between the final step of Toscana and a participant filling in the web based questionnaire.

Prerequisites

As a development project, some programming knowledge is required, Perl knowledge would be highly recommended. An understanding of Javascript would also be useful as would a language like SQL. An understanding of application packages such as MS Excel and Access is mandatory. Language to be used in the project could be Java although need not be.

Project Motivation

Data that has been collected through questionnaires still requires further processing to make it useful for other application packages. By transforming web-form based data into a database tables and thence into spreadsheets, allows researchers and practitioners to feed questionnaire data into more sophisticated packages such as Anaconda which is used for Formal Concept Analysis.

Intended Outcomes

A form of 'data translation'software that will take web input and convert the data into a form that may be used by software as sophisticated as Anaconda and in turn Toscana.


Developing a Grounded Theory Map of Innovation Knowledge

Supervisor: Peter Busch
Student: Hinal Shah

Project Aim

Identifying experts in subject areas along with innovators is a valuable exercise for an organisation. Staff like innovators and experts tend to be in demand, time poor and of high value.

One means by which an organisation is able to maximize the use of its innovators (and experts) is for less experienced personnel to undertake 'apprenticeships' with their more knowledgeable peers. The apprenticeship system means placing more experienced personnel in a mentoring relationship with others. In order to better understand innovation knowledge, one means of capturing such knowledge is to use Grounded Theory. Grounded Theory can be done manually, but today software such as Atlas.ti and Nudist is available that basically provides a form of .mental map. allowing the researcher and practitioner to visualize the phenomenon they are exploring.

The input of .txt documents will allow for them to be marked up through codes or themes, which are similar to entities or objects. These codes/entities/objects can then be joined/associated, which in turn will produce an information model.

Prerequisites

This is an analysis project. The project will require the researcher to read documents on innovation, to convert documents into .txt format and input these into Atlas.ti software. The project will necessitate coming to grips with this software and producing outputs along the lines of mental maps or similar information models.

Project Motivation

One may like to think of Grounded Theory as being a more sophisticated approach to simply conducting a literature review on a topic. Instead of just reading and summarizing texts, the use of Grounded Theory allows one to mark up documents where authors have sought to define concepts. The eventual output of an information model allows the researcher/practitioner to better come to terms with a given subject area, in this case innovation knowledge.

Intended Outcomes

A Grounded Theory 'map' of innovation knowledge, allowing other researchers and practitioners to gain a more complete understanding of the phenomenon that is 'innovation'.


Distributed Authentication for Web Applications

Supervisor: Steve Cassidy

Project Aim

Shibboleth, OpenID and other similar technologies provide a way of authenticating people for web applications without having to register them to your individual site. I would like to use this kind of infrastructure for a Web based API which doesn't use a browser but is called from programs. The project is aimed at surveying any existing solutions to this problem and possibly implementing a proof of concept solution leveraging OpenID or similar.

Prerequisites

Good knowledge of web technologies, servers, HTTP. Knowledge of Python helpful.

Project Motivation

I'm working on a web based API for collaborative authoring of annotations which needs to authenticate users and implement authorisation policies. Shibboleth etc would be ideal but are largely concerned with browser based applications.

Intended Outcomes

A report on the current state of play in this area along with a possible proof of concept implementation.


An Investigation of the Virtuoso RDF Platform

Supervisor: Steve Cassidy

Project Aim

To evaluate the Virtuoso platform for implementing an RDF based store for annotation data.

Prerequisites

Web technology, Java, knowledge of RDF and Semantic Web ideas useful.

Project Motivation

I have an implementation of an RDF based store for annotation data (http://dada.ics.mq.edu.au/) which currently uses a C++ based data store with a Python front end. Virtuoso is a platform for development of RDF based applications, I'd like to know how suitable it would be for my application. The project would involve understanding the current design and evaluating the capabilities of Virtuoso with respect to it's requirements. Trial implementations of parts of the system would be an important component; in particular, evaluation of the ease of ingesting data and the speed of queries on large data sets would be most informative.

Intended Outcomes

A report on the suitability of Virtuoso for the project along with sample implementations of parts of the project and an evaluation of query performance on real annotation data.


Investigating Liberty Alliance and Shibboleth Integration

Supervisor: Steve Cassidy
Student: Nishen Naidoo

Project Aim

To identify technologies and mechanisms that can be used in bridging the Liberty Alliance and Shibboleth Federated Identity Management Frameworks. This would include understanding the profiles and protocols of each of the frameworks and finding a way to enable communication between the frameworks.

Prerequisites

Project Motivation

Once of the aims of Federated IDM's is minimising user identity management complexity. However, by operating different frameworks the full benefit of reduced complexity is not realised. Users would still have to maintain and identity per framework. By bridging the frameworks this could reduce the user complexity. It would also mean that Identity Providers subscribing to services within one framework would also be able to subscribe to services in other frameworks without managing and maintaining two frameworks.

Intended Outcomes

A report detailing:

  1. A breakdown of the Shibboleth Profiles
  2. A breakdown of the Liberty Alliance Profiles
  3. The commonalities between the profiles and their underlying communication protocols
  4. The specific technologies and mechanisms that can be used to integrate the Liberty Alliance and Shibboleth frameworks.


Information Extraction from Event Announcements

Supervisor: Robert Dale
Student: Jianwei Lu

Project Aim

The aim of this project is to build an information extraction system that can extract the key information from a conference announcement, and use this to populate a structured database, so that the information can be managed and searched more efficiently.

Prerequisites

The project is suitable for someone who has a strong interest in text processing or machine learning. Real ability in software engineering and the production of high-quality documentation is essential.

Project Motivation

On a typical day, a researcher might receive between 5 and 10 announcements of conferences or workshops in their email. These announcements, which are typically around a printed page in length, provide important information about the event: its title, who is organising it, where it is to be held, and important dates such as the date for submissions to the conference and the deadline for registration, as well as the dates of the event itself. Some of this information is presented in a semi-structured form; other information, like the topics covered by the event, are buried in free form text.

Intended Outcomes

An implemented system that can serve as a baseline for future development and extension for others.


Zoning of Non-text Regions in PDF Documents

Supervisor: Robert Dale

Project Aim

PDF documents contain textual regions, such as the body text and section headings, as well as non-textual regions, such as equations, figures, and tables. These non-text regions produce noisy data when text is extracted from the document. The goal of this project is to automatically determine the bounding rectangles that contain all non-text regions in a PDF document.

Prerequisites

Strong programming skills in Java.

Project Motivation

We already have a basic system for extracting key elements of logical structure from PDF files, developed in a previous ITEC810 project. However, this system only detects certain elements of logical structure such as headings and paragraphs of text; to make the application fully usable, we need to also detect more complex logical elements such as footnotes, figures, tables and equations.

Intended Outcomes

A system that takes a PDF file and builds from it a detailed representation of the document's logical structure.


A Double-Base Number System Library for Cryptographic Applications

Supervisor: Christophe Doche

Project Aim

The double-base number system is an original way to represent an integer n as a sum of terms of the form 2^a3^b. This system (and its generalisations) proves to be useful in cryptography where relevant integers are several hundreds of bits long. This project aims at the development of a C++ library able to efficiently compute different variants of the Double-Base Number System for a given integer.

Prerequisites

A good understanding of traditonal numeric representation systems. A good knowledge of C++ and of the packages NTL or GMP. An elementary understanding of cryptography is a plus.

Project Motivation

This generalisation of the traditional binary system is useful in practice since one can easily find representations involving very few terms (significantly less than in base 2 for instance) for any given integer. It has important applications in many cryptographic protocols as it allows non-negligible speed-ups over traditional methods. A C++ library, building on existing packages NTL or GMP, could then be made available for the use and the benefit of the community.

Intended Outcomes


Randomized Quiz Generation for Assisted Learning

Supervisor: Christophe Doche
Student: Zhongkai Xu

Project Aim

This project aims at developing a tool to assist students to learn a particular programming language, in this case C++. It consists in researching and implementing a software able to quickly and automatically generate a set of different questions/answers related to a particular C++ topic taken from a pool of predetermined programming notions.

Prerequisites

A good knowledge of C++ and related elementary programming concepts. Note that another programming language (other than C++) maybe more suitable to actually implement the software.

Project Motivation

Feedback that students receive after completing a certain task is a critical component of their learning. Providing useful feedback is in general a difficult and time-consuming task, however it is easy to give very simple feedback (right or wrong) for simple programming questions through computer based assessment. Questions of increasing difficulty can then be used to deliver immediate feedback and ensure a student gains technical competency for a particular topic. The randomized nature of this tool ensures that different questions are given to different students (to avoid plagiarism) or to the same student at different times (to evaluate student's progress).

Intended Outcomes


An Opinion Mining System

Supervisor: Mark Dras
Student: Robertus Primusanto

Project Aim

A task that has interested many organisations around the world is to determine automatically the characteristics of particular texts. This might relate to characteristics of the writer: is the writer young or old, or male or female? Alternatively, it might involve characteristics of text itself: is the text a neutral description, or is it an opinion piece that embodies a positive or negative attitude? There has always been opinionated text on the Web, but there is an increasing amount representing such information in a structured context, such as product reviews at Amazon or epinions.com. Trying to determine the orientation of the attitudes in such texts is known as sentiment analysis or opinion mining.

The aim of the project is to build a small-scale system to carry out sentiment analysis on text sourced from the Web.

Prerequisites

This is a development project, so good programming skills are required. Apart from that, there are no prerequisites.

Project Motivation

There is interest from a range of organisations in applications of sentiment analysis. Companies could be interested, to get a summary of what potential customers think of their products; governments could be interested to find out public opinion on particular topics. As a result, there are companies that now build large-scale systems that carry out sentiment analyis, such as Andiamo and a unit of Reuters.


Source-context Features for English-to-Czech Machine Translation

Supervisor: Mark Dras
Student: Kamil Kos

Project Aim

Machine translation (MT) is a quickly developing field of computer science. One of the most promising aproaches to translate between two natural languages is statistical MT which takes advantage of large amounts of texts to automatically derive rules needed for the translation process. However, the quality of translation is still not good enough for common translation tasks and needs to be improved.

The project should investigate the possibility to improve the quality of MT output by incorporating additional source-side and context information for scoring translation rules. The new features should be implemented as an extension to the statistical MT system Moses. The translation direction is English to Czech.

Prerequisites

Statistical MT system Moses should be used as baseline to evaluate the performance of new features which will be implemented as part of this project. Good knowledge of C/C++ and Perl is required.

Project Motivation

Some research has already been done for Chinese-to-English translation using source-context features, showing that there is space for improvement. It is of interest to find out if it is possible to obtain similar improvement of translation quality also for the English-Czech pair.

Intended Outcomes

The goal of the project is to implement an extension of the Moses system that will take into account various source-context features. The influence of the newly implemented features should be evaluated as part of this project, using the most common MT metrics (e.g. BLEU).


Peer-to-peer Mercurial Revision Control

Supervisor: Alexei Gilchrist

Project Aim

To develop a peer-to-peer (p2p) client and protocol that distributes mercurial revision control changesets between developers collaborating on a project.

Prerequisites

Knowledge of a high level programing language is essential, python is strongly preferred as the mercurial revision control system is written in python itself. Knowledge or experience with mercurial and p2p protocols would be helpful.

Project Motivation

Revision control systems are an integral part of many software development projects. Recently a number of distributed revision control systems have been created, which give developers much more flexibility. These systems allow developers to work 'offline', and to collaborate by exchanging changesets. This collaboration could be made much more intuitive and powerful by building a peer-to-peer protocol and client that automatically distributes project changes within a team.

Intended Outcomes

In order for the p2p client to be an effective and useful software development tool, a number of issues need to be addressed:

  1. Code for a group of central servers needs to be developed. These servers just help participating clients to find each other. Clients need to be able to register their network location and get a list of other participating clients in a given project. For security, the servers should provide as little information as possible about the clients registered, and no information about the projects.
  2. The p2p protocol for exchanging mercurial changesets needs to be developed. In particular issues of trust and authentication need to be resolved and built into the protocol.
  3. The code for the p2p client needs to be developed.

The end product should be a client program that finds other project members that are online and automatically distributes and syncs mercurial project changes.


A C++ Source Code Obfuscator

Supervisor:

Project Aim

This project is about modifying the source code of C++ programs so that reverse engineering of compiled code is more difficult. In particular, symbols defined in the source code will be obfuscated by replacing them with meaningless symbols. This involves partial parsing of the source code to identify the symbols and to perform the replacements. The project will develop a program that can identify the symbols that are defined in a source code folder (i.e. in multiple C++ files, both .h and .cpp files) and generate obfuscated replacement symbols, then applies the replacements to the files producing a new set of obfuscated source files in a separate folder.

Prerequisites

A strong background in C++ programming is a requirement.

Project Motivation

Programs compiled with Microsoft's Common Language Runtime are easy to reverse engineer: the executables contain all the symbols and type definitions of the original source code, and the intermediate language MSIL can be easily decompiled into a high-level language such as C# using free tools. This project is about modifying the source code of C++ programs that will be compiled into MSIL so that reverse engineering is more difficult.

Intended Outcomes

The output will be a Windows console program that can be run on all the source code in a folder, producing obfuscated source code in an output folder along with a list of the symbol substitutions performed in an output file. There should also be a capability to read a substution list file and apply the substutions in it to another source code folder.


A Class Library for Multi-Threaded Programming

Supervisor:

Project Aim

Develop, implement and test a C++ class library for easy-to-use multi-threaded programming in Windows .Net. The class library will make it easy to write multi-threaded applications by encapsulating the threads inside classes: the programmer can derive a class from your library class and define methods representing the threaded computation to be performed, then they can start and stop the thread using methods of the class. For the programmer, this means that the thread is encapsulated inside the class and cannot cause race conditions in other parts of the program while the class itself deals with any potential race conditions for the thread running inside it.

Prerequisites

C++ programming experience is essential. Understanding of race conditions and multi-threading issues would be very helpful.

Project Motivation

Multi-threaded programming is important for near-real-time applications. For example, a machine vision system uses a thread to capture images from a camera, another thread to collect related sensor data, a third thread to process the image, and a fourth thread to provide a GUI interface for user control of the application. Managing multiple threads is difficult if the threads are global to the program. Using class objects with well-defined interfaces allows the threads to be localised within a single class object - an "active" class object that now runs a thread of execution internally and provides a clean interface for other objects to request it to perform tasks.

Intended Outcomes

In this project, you will use .NET to implement a library of classes supporting simplified multi-threaded programming.

The project output will be a class library, documentation and test program(s) that demonstrate and validate the capabilities of the library. Some key features that are desirable include:

While there is a base concept design for you to work from, there are opportunities to contribute to the design depending upon your interest and background experience.


Automatic Testing of GUI Interfaces

Supervisor:

Project Aim

To develop an approach/methodology to automatically test GUI applications (specifically .Net applications) such as may be used in an agile software development methodology.

Prerequisites

C++ programming experience is essential. Experience with .Net would be helpful.

Project Motivation

Automated testing is an important part of the extreme programming methodology: after each compile cycle, the program is automatically tested to ensure that recent software changes have not introduced bug into previously developed capabilities. GUI applications make automatic testing difficult, however. How does the automatic test activate the graphical interface -- does it send mouse commands and key strokes to the application or does it signal higher-level events? How does it monitor for correct behaviour? This project will develop one possible answer to these questions: sending events to Windows Forms (.Net) interface objects, and monitoring software behaviour through test interfaces to class objects.

Intended Outcomes

You will develop a simple .Net GUI application and implement automated testing by sending events to the GUI from a test thread running within the program. Your program will test the behaviour of your application and ensure that it responds correctly to the GUI events by querying the data classes that the application uses. You will demonstrate that examples of incorrect program behaviour are properly identified during automatic testing.

The key outcome is to develop a practical implementation for performing such automated testing. You will provide a well designed and documented .Net class or set of classes that make it easy to program the specific automated tests that are required for a Windows Forms GUI application. Your test application will demonstrate the use of your testing class(es).

Note that in this approach, the aim of testing is to ensure that the GUI controls result in correct action within the program -- there is no testing of the GUI output of the program.


Transformations for Obfuscating Object-Oriented Programs

Supervisor:
Student: Yuan Hao

Project Aim

The aim of this project is to describe ways to transform the source code of object-oriented programs so that understanding of the source code and reverse engineering of compiled code is more difficult. The output of the project may be used in future work to develop a practical obfuscation system for C++, c# or Java.

Here are a couple of examples of program transformation that you could consider. There are very many other possibilities.

  1. An if-then-else statement if b then s else t can be transformed into if not b then t else s.
  2. A single statement s (or a sequence of statements) can be extracted into a subroutine (with a generated name) and called from the place where it was used.

Prerequisites

Programming experience in an object-oriented language is essential.

Project Motivation

Software developers often require the ability to protect the intellectual property embedded in their programs which may be distribtued as source code or machine language. Modern intermediate machine languages such as Microsoft's Common Language Runtime and Java's byte codes are easy to reverse engineer into source code that can be modified and used to develop competing software products. This project is about modifying the source code of object-oriented programs so that it becomes more difficult to understand the source code and to reverse engineer the machine code.

Intended Outcomes

You will write a report describing a variety of program transformations that could be applied to obfuscate object-oriented programs. You will report on transformations that you find in the literature but you will also design transformations of your own. You will consider ways to transform program code within a module, and ways to transform classes at different levels including refactoring techniques. There is a lot of scope for creativity in this project and the highest grades will be given to a report that demonstrates good creativity over a wide range of types of transformations. It is not expected that your list will be exhaustive since there are always more transformations that can be created.

Program transformations are only legitimate if the transformed program code computes the same result as the original program code in all cases - this means that you may need to specify restrictions on when some transformations can be used and you must ensure that the transformations are correct.

Program transformations are only useful if they make the source code more difficult to understand - this is a somewhat subjective criterion, but there are many transformations that obviously increase the complexity of a program, making it more difficult for most programmers to understand.

The most useful transformations will also increase the complexity of a typically compiled program - this is more difficult to assess and is not required, but you may choose to investigate this aspect if you wish.

For each program transformation, your report will give the transformation a name, describe the transformation, with an example if appropriate, and discuss any restrictions on when it can be used. You should structure your report by grouping together related transformations.


Multicasting in Mobile Ad hoc Networks

Supervisor: Michael Hitchins
Student: Rajkumar Sood

Project Aim

In emergency situations where the need for communication is urgent and very important, it is critical for the members of the emergency teams to communicate and coordinate among themselves and this requires the support self-organizing networks like mobile ad hoc networks (MANETs). However, coordination between members and various units can only be effectively carried out with the support of efficient multicast routing schemes. Therefore, multicasting protocols in MANET are receiving increased attention. This project will involve a general survey of the state-of-the-art technologies to carry out multicasting over MANET. In specific, it will examine more traditional tree-based and mesh-based multicast routing schemes and compare them with specialized multicast routing protocols that have been proposed for ad hoc networks. The project will then examine and analyze various schemes that aim to incorporate security features to multicasting in wireless ad hoc networks.

Prerequisites

Project Motivation

Multicasting in mobile ad hoc network is a hot research topic with no industry standards in place. This project will be an interesting exercise to discover to what extent the current multicast methods and approaches have succeeded in this and whether they should be considered as industry acceptable standards.

Intended Outcomes

A presentation of selected secure multicast routing options available, and a systematic critical analysis of the relative costs and benefits of each. The final report should include recommendations that aim to enhance the security of multicast routing schemes.


Project Bootcamp: Developing self-developed projects

Supervisor: Michael Johnson

Project Aim

In my opinion a masters student should whenever possible be working on a project developed from their own unique experiences. Nevertheless, many students find it hard to see how they can harness their experience to develop their own project. The "bootcamp" will help students to realise that they do have ideas, and develop those ideas into projects which the students will then carry through under my supervision.

Prerequisites

You must properly meet all the prereqs for enrolment in ITEC810 (GPA of at least 2.75 in ITEC units and an undergraduate degree in IT or at least three years of IT work experience). Numbers will be limited. You must be able to be available to attend campus for a significant amount of time in week 1.

Project Motivation

Realising one's own motivations and ideas takes time and reflection, and is aided by working through those ideas with others. The "bootcamp" will work as a group, challenging each other, and helping each other, to find and enunciate individual project ideas.

Intended Outcomes

The first outcome of the "bootcamp" will be a clear manageable project idea for each student. We will then work individually to work up the project plan and carry through the project.


Patient-Centred Connected Health

Supervisor: Michael Johnson
Student: Mohamed Rizan Rizvi

Project Aim

Current health care delivery system responds primarily to acute and urgent health care problems. Chronic conditions such as diabetes, asthma, hypertension, respiratory diseases are better served by a systematic approach that emphasises self management, care planning with multidisciplinary teams, ongoing assessment and follow-up. An integrated approach to chronic disease management should be designed to prevent and manage chronic diseases more effectively. It is essential that system level changes are accompanied by, and supportive of the empowerment and active participation of a health care ecosystem centred on individuals, their families and communities. There is a proliferation of new and existing technologies, products and initiatives towards a connected health system as a mainstream solution for disease and lifestyle management.

This project investigates how key emerging patient centred products and services geared for connected health could change the ecosystem and influence others as a mainstream solution for disease and lifestyle management.

The aim of this project is to select a specified set of products of interest, and to study and critically analyse the futuristic view of the health care ecosystem, and in particular to understand the enablers and impediments for adoption to improve the quality of care of the individuals with chronic diseases through patient centred connected health.

Project Motivation

Current health care delivery system responds primarily to acute and urgent health care problems. It is not effective in management of chronic diseases.

Chronic diseases are by far the leading cause of mortality in the world, representing 60% of all deaths and account for over 70% of health care cost in Australia and USA. Chronic diseases are better served by a systematic approach that emphasise self management, care planning with multidisciplinary teams, ongoing assessment and follow-up.

Intended Outcomes

A report on the analysis of key patient centred products & services for a connected health solution to manage individuals with chronic disease conditions.


Exchange Multi-Hosting Web Portal

Supervisor: Michael Johnson
Student: Sebastien Quinternet

Project Aim

The aim of this project is to develop a web portal to manage Active Directory and Exchange accounts in a Microsoft Exchange environment hosting collaborative data of different companies on the same server. The portal will allow customers to organise the users of their companies as if only their company were hosted on the server.

Prerequisites

System administration:

Programming skills:

Project Motivation

The management of customers' accounts in such a multi hosting system results in a complex process. The motivation is to help both customers and supplier to simplify the process, giving the customer more independence and reducing the supplier's amount of work.

Intended Outcomes

A web-based application that will provide two interfaces in order to manage AD and Exchange


Coding Gestures in Gesture Analysis

Supervisor: Manolya Kavakli
Student: Liang Zhou

Project Aim

The main objective of this project is to explore how to code gestures in order to support gesture recognition for specific applications in human computer interaction. In this short-term MIT project, we will specifically focus on the investigation of coding schemes used for human operated gesture analysis and semiotics of gestures.

Prerequisites

This is an analysis project. The student is expected to review existing literature to come up with some hypotheses, design experiments, and perform pilot studies to validate the previously established hypotheses regarding gesture analysis. Analytical skills are required to carry out the project. Experience in statistical analysis packages, protocol analysis, cognitive walkthrough, and/or Matlab are desirable.

Project Motivation

This is a Discovery project sponsored by the Australian Research Council. The project examines a novel environment in which a designer can design an object using a pair of datagloves and can interact with the design product. The interface to be developed will recognize hand-gestures of the designer, pass commands to a 3D modelling package via a motion recognition system, produce the 3D model of the sketch on-the-fly, and generate it on a head mounted display.

Intended Outcomes

The expected outcomes of this proposal are: The development of methods to code gestures for gesture recognition systems based on preliminary testing using traditional methods in the performance of creative tasks.


Multicultural Aspects of Gestures in Gesture Semantics and Recognition

Supervisor: Manolya Kavakli
Student: Alexey Novoselov

Project Aim

The main objective of this project is to explore the nature of gestures in order to support gesture recognition for specific applications in human computer interaction. In this short-term MIT project, we will specifically focus on the investigation of multicultural aspects of gestures and their semantic meaning for each culture.

Prerequisites

This is an analysis project. The hypothesis to test is that the gestures of people speaking different languages are no more different than the gestures of different people speaking the same language. The student is expected to review existing literature, design experiments, and perform pilot studies to validate the previously established hypotheses regarding gesture analysis. Analytical skills are required to carry out the project. Experience in statistical analysis packages, protocol analysis, cognitive walkthrough, and/or Matlab are desirable.

Project Motivation

This is a Discovery project sponsored by the Australian Research Council. The project examines a novel environment in which a designer can design an object using a pair of datagloves and can interact with the design product. The interface to be developed will recognize hand-gestures of the designer, pass commands to a 3D modelling package via a motion recognition system, produce the 3D model of the sketch on-the-fly, and generate it on a head mounted display.

Intended Outcomes

The expected outcomes of this proposal are: The development of a vocabulary of hand-gestures for gesture recognition systems based on preliminary testing using traditional methods in the performance of creative tasks.


Gesture Analysis

Supervisor: Manolya Kavakli
Student: Alper Avdan

Project Aim

The main objective of this project is to explore human computer interaction and gesture recognition, in order to support the design process. In this short-term MIT project, we will specifically focus on the investigation and analysis of design behaviour and semiotics of gestures in various design tasks.

Prerequisites

This is an analysis project. The student is expected to review existing literature to come up with some hypotheses, design experiments, and perform pilot studies to validate the previously established hypotheses regarding gesture recognition. Analystical skills are required to carry out the project. Experience in statistical analysis packages, protocol analysis, cognitive walkthrough, and/or Matlab are desirable.

Project Motivation

This is a Discovery project sponsored by the Australian Research Council. The project examines a novel environment in which a designer can define the contour of a sketch by controlling a pointer using a pair of datagloves and can interact with the design product in 3D space. The virtual environment incorporate 3D position sensors so that drawing primitives entered are recreated in real time and projected to the user. The interface to be developed will recognize hand-gestures of the designer, pass commands to a 3D modelling package via a motion recognition system, produce the 3D model of the sketch on-the-fly, and generate it on a head mounted display.

Intended Outcomes

The expected outcomes of this proposal are: The development of a vocabulary of hand-gestures for gesture recognition systems based on preliminary testing using traditional methods in the performance of creative tasks.


3D Sketchpad in Virtual Reality

Supervisor: Manolya Kavakli

Project Aim

The main objective of this project is to integrate existing technologies in motion tracking, 3D modeling and VR, in order to design and implement a novel interface to support the design process. The implementation of 3D Sketchpad requires both technical and conceptual developments to allow natural interactions with the Virtual Environments (VE). In this short-term MIT project, we will specifically focus on using Nintendo Wii in the development of a 3D Sketchpad.

Prerequisites

This is a development project. The student is expected to code a VR software to recognise hand-gestures and pass commands to a 3D modelling package. The skills required to carry out the project are programming experience in C++ and/or Python. Experience with 3D modelling packages such as Softimage, 3D Max, etc., or APIs such as OpenGL or DirectX is desirable.

Project Motivation

This is a Discovery project sponsored by the Australian Research Council. The project examines a novel environment in which a designer can define the contour of a sketch by controlling a pointer using a pair of cyber gloves and can interact with the design product by using a sensor jacket in 3D space. The sensor jacket, cyber gloves, and the pointer incorporate 3D position sensors so that drawing primitives entered are recreated in real time on a head mounted display worn by the user. Thus, the VR system provides a "3D sketch pad" and the designer has the benefit of a stereo image. The interface to be developed will recognize hand-gestures of the designer, pass commands to a 3D modelling package via a motion recognition system, produce the 3D model of the sketch on-the-fly, and generate it on a head mounted display.

Intended Outcomes

The expected outcomes of this proposal are: The development of a low cost 3D sketchpad system for hand-gesture recognition;and exploration of novel human computer interaction techniques.


Gesture Recognition System for Scientific Collaboration

Supervisor: Manolya Kavakli

Project Aim

The project aims to expand on the development of a Virtual Whiteboard to be used as a platform for scientists to interact with each other. The diagram created in real time during the collaboration can be displayed on a head mounted display worn by each user. In this short-term MIT project, we will specifically focus on using Nintendo Wii in the development of a 3D whiteboard.

Prerequisites

This is a development project. The student is expected to code a VR software to recognise hand-gestures using wiimote. We have already coded a number of gestures. The student is expected to expand the gesture vocabulary. The skills required to carry out the project are experience in setting up small networks, and programming experience in Java, C++ and/or Python. Interest in the tools used in Quantum Information Systems and 3D modelling packages such as Blender is desirable.

Project Motivation

This is a Research Development project sponsored by Macquarie University. The system will be used for scientific communication among a number of physicists.

Intended Outcomes

The expected outcomes are a large gesture vocabulary for a collaborative 3D whiteboard, and novel human computer interaction techniques in the area of Quantum Information Systems.


A Study and Critique of Mathematical/Computer Modelling

Supervisor: Scott McCallum
Student: Vitaly Mutyev

Project Aim

Many organizations use mathematical and/or computer modelling in an attempt to understand specific areas of interest, and how these evolve over time. Such models may predict changes over the course of months or years, which could assist an organization in planning for the future. For example, the State Government and its Departments presumably use modelling techniques to try to predict a city's population growth and hence its demands for essential services such as transport, education and health.

The aim of this project is to select a specific application area of interest, and to study and critically analyze a mathematical and/or computer model used to make predictions in this area.

Prerequisites

Some mathematical background could be useful. Some prior familiarity with mathematical or computer modelling could also be advantageous, although not absolutely necessary. A genuine interest in some application area in which some kind of modelling is used would be very desirable. More general skills needed will be an ability to start work on the project early, to specify and refine as necessary the specific project goals, to work systematically towards those goals, to think critically, and to write a coherent report on what has been learnt.

Project Motivation

Undertaking a project of this kind will hopefully help a student to better understand what mathematical and computer models are, and how they are used in a specific area of interest. It will give a student an opportunity to think critically about the assumptions made in such a model. Perhaps suggestions on improvements to a model or its use could be made.

Intended Outcomes

The desired outcome from this project would be a report which describes a model used in some application area, and which provides some critical commentary about the model and its use.


Practical Programming with Formal Methods

Supervisor: Scott McCallum

Project Aim

The aim of the project is to gain some understanding of and experience with the use of formal methods for specifying and designing computer software. This understanding and experience will be gained through a combination of reading, pen-and-paper practice, and practical work. The practical work will involve the specification, design and implementation of a small software system of the student's choice.

Prerequisites

Successful completion of units on

or their equivalents.

Project Motivation

Formal methods are useful when problems are novel or difficult, or systems must meet requirements for safety, security, accuracy or other critical properties. Formal specification of a module aims to state precisely what the module expects upon its invocation, and what the module achieved upon return. Formal verification of the module aims to demonstrate that the module as written really does satisfy its formal specification.

Intended Outcomes

The student must write a report which describes their work on this project. The report must summarize in their own words the student's understanding of some formal specification notation such as Z. The report should describe an application of the student's choice, together with the motivation for using formal methods for the application. The report should document the specification, design and implementation of a small system related to the selected application. The report should discuss practical issues concerning the use of formal methods for the particular application selected.


Formal Specification of the Subversion Version Control System in Z

Supervisor: Annabelle McIver
Student: Zhongbo Huang

Project Aim

This project aims to specify the Subversion Control System --- it is a distributed system which allows a number of users to collaborate in the preparation of a single document. Its features include mechanisms to update and merge different versions of a document so as to maintain a single consistent version.

Prerequisites

None specified.

Project Motivation

Formal specification lies at the heart of correct system development: a good formal specification acts as the blueprint for development of correct software code. It forces designers to think through how system components are able to interact together correctly, and leads to quality engineered software.

The Z specification language is a standard in the field of formal software design, and has been used in many large industrial-strength projects.

Intended Outcomes

A report detailing the specification of a number of features, together with a commentary on the chosen design.


Mind Expander in Mathematical Ways

Supervisor: Frank Moisiadis

Project Aim

Mind Expander in Mathematical Ways (MExp) targets primary school students and focuses on developing lateral thinking and cognitive thought processes with the use of mathematical shapes, numbers and mathematical puzzles. The project was developed as a prototype in 2006 with two-dimensional shapes. Now with the help of the Department of Education at Macquarie University the application will be developed as a software package ready to be used in primary schools. The new application will use three-dimensional shapes and fit in with the mathematics curriculum in primary schools.

Prerequisites

The project is looking for 3 to 4 people: a group of strong Java software developers and testers (3 people) and someone who understands teaching or educational principles for young primary students and would be able to write user manuals and documentation (1 person).

Project Motivation

Mind Expander is a project that has been worked on since 2005 with the Department of Education and ITEC810 students at Macquarie University. Involvement with the project will provide the student with an understanding of how to develop software for educational purposes.

Intended Outcomes


A Report on Ontology Revision

Supervisor: Abhaya Nayak

Project Aim

In CS/IT Departments, the term ontology roughly means how relevant things are conceptualized in a particular community (such as the health care community), and how such concepts are to be adequately represented for the purpose of information processing. Thus, a medical ontology will deal with the conceptualization and representation of kinds of diseases and germs and cells, whereas a games ontology will deal with consoles and scoring systems and cards. As domain knowledge changes, it is reflected in modifications in the relevant ontology. The aim of this project is to survey the literature in the area and get a clear picture of how ontology modification/revision is dealt with.

Prerequisites

A good knowledge of formal logic and set theory; interest in ontology research.

Project Motivation

One only needs to visit the Ontology site at SUNY Buffalo to get an idea of what is driving ontology research. Ontology revision is clearly an important issue. What we would like to see is whether existing research in the area of belief revision can shed some light on how research in ontology revision should be carried out.

Intended Outcomes

A comprehensive report on different approaches to ontology revision that are available in the literature.


Scheduling Tutorials and Practicals -- An Analysis

Supervisor: Abhaya Nayak
Student: Karen McGirrProject Aim

The primary objective of this project is to explore how the needs of an academic department as far as scheduling rooms, tutors and practical demonstrators in a fair and equitable manner can be effectively addressed.

Prerequisites

This is an analysis project, and will involve a review of existing literature, discussion with relevant personnel, as well as submission of a final report. Soft skills such as good communication ability and interview skills, ability to write concise and effective prose in English, and background knowledge in analysis and design will be required.

Project Motivation

This is a hard problem, and is practically often carried out manually. The result of this project will help provide an approximate solution to this problem.

Intended Outcomes

A report that presents a detailed analysis of the concrete, contextualized, problem together with designs of one or more suggested solutions.


Solving Sudoku Puzzles with Particle Swarm Optimization

Supervisor: Mehmet A. Orgun
Student: Sean McGerty

Project Aim

Sudoku is a logic-based, very popular number-placement puzzle [1]. The objective is to fill a 99 grid so that each column, each row, and each of the nine 33 boxes (also called blocks or regions) contains the digits from 1 to 9 only one time each. Sudoku puzzles have a unique solution that can be reached logically.

The aim of this project is to investigate the effectiveness of Particle Swarm Optimization (PSO) in solving a range of Sudoku puzzles. PSO is an optimization technique used to find the global optimum for complex problems. In case of a given Sudoku puzzle, the global optimum is the solution to the puzzle.

Prerequisites

This project involves some development in Java and some model building. So, good programming skills in Java are highly desired, as well skills in understanding mathematical models of optimization problems.

Project Motivation

Solving Sudoku puzzles with computers presents many challenges because of their inherent complexity. Some recent studies have suggested that heuristic optimization techniques may be effective in solving Sudoku puzzles [2]. Further studies and experiments may shed light on which heuristic optimization technique(s) would (or would not) suit Sudoku puzzles and also other complex problems of similar nature.

Intended Outcomes

An understanding the PSO technique and its implementation [3].
A particle swarm model of Sudoku puzzles.
Experimental analysis of PSO on Sudoku puzzles with varying levels of difficulty.

References

  1. Sudoku, Wikipedia, the free encyclopedia.
  2. Rhyd Lewis, Metaheuristics can solve sudoku puzzles, Journal of Heuristics, Volume 13, Number 4 / August 2007, pages 387-401.
  3. JSwarm-PSO is a Particle swarm optimization package written in Java.

Analysis of SHA-3 Hash Functions

Supervisor: Josef Pieprzyk

Background

Hash functions are an indispensable tool in Cryptography that is widely used to generate unique digests for electronic documents. The main usage of hash functions is the generation of short digital signatures for electronic documents (files).

They are also applied to produce a wide range of cryptographic tools starting from message authentication codes (MACs), pseudorandom number generators, and many others. In fact, hash functions are called the Swiss Army knife of modern cryptography.

In 2004 a team of researchers led by Professor Xiaoyun Wang invented a new method in differential cryptanalysis that broke most of hash functions used in industry. The team showed that real security level of the SHA-1 (at that time used as the standard) is not higher than 2^{69} instead of the claimed level of 2^{80}. This created a stir in crypto community and in the standardization institutions. In 2007 the US National Institute of Standards and Technology (NIST) announced a call for Advanced Hash Standard (AHS) also call SHA-3 competition. The deadline for submission was October 31, 2008. NIST received 64 candidates and 51 were selected for the further consideration. The list of the chosen candidates can be found at http://csrc.nist.gov/groups/ST/hash/sha-3/Round1/index.html.

The evaluation process is public; everybody can broadcast his or her analysis to the NIST Forum and also the analysis can be submitted to workshops that are going to be organized by NIST.

Intended Outcomes


Overview of Mircro-payment Technology

Supervisor: Josef Pieprzyk
Student: Alexandre Rodrigues

Background

Micro-payments are a variant of digital cash, where the amount paid is either small (few cents) or the payment needs to be done quickly. Micro-payments systems are getting more and more popular and are used in public transport systems, to collect tolls on roads, to pay for copying in libraries, to name a few of the most popular applications. IbThe nternet seems to another avenue, where micro-payment systems are becoming popular as a means of paying for access to specific web content or for downloads of video, music or software.

Prerequisites

Knowledge of basic computer security and cryptography technology that is used for payment system implementation. This includes the concept of digital signatures and cryptographic hashing.

Project Motivation

Proliferation of Internet and wireless services increases the need for online payments. This project investigates how the different applications and technology used impact on the payment system security. In a nutshell, the project will identify payment systems and their weaknesses confirmed by real-life security violations.

Intended Outcomes

The main outcome of the project is an overview of the currently used micro-payment systems together with details of:


A Tool to Reconcile Use Case Descriptions from Multiple Viewpoints

Supervisor: Debbie Richards

Project Aim

An approach and supporting tool have been developed which take use case descriptions in natural language from multiple stakeholders and produce a graphical representation of the different viewpoints to assist with reconciliation of conflicts leading to a shared use case. The tool has been integrated into the CASE tool Enterprise Architect but needs further development, improvements to the user interface and testing to make it ready for alpha-testing with potential clients. Once the tool has been properly tested and debugged a usability study will be designed and conducted with real companies.

Prerequisites

Java programming competency and UML skills. Interest and preferably experience in good Human-Computer Interaction design.

Project Motivation

Getting the requirements right is essential in order to produce software that people want. Use cases are commonly used to specify the functionality sought by the client. Obtaining a complete set of use case descriptions can be difficult and can be aided by gathering multiple viewpoints. However, this introduces inconsistencies. This tool aims to provide a consistent and complete set of use case descriptions which represents the shared view of the key system stakeholders. However, to achieve this the tool must be not only useful but usable. This project seeks to ensure the tool satisifies both criteria.

Intended Outcomes


An Online Learning Module to Teach Academic Honesty to Computing Students

Supervisor: Debbie Richards
Student: Dimitra Germanou

Project Aim

This project aims to develop an online teaching resouce in which Computing students can conduct self-learning about academic honesty which is also known as plagiarism. The module will be able to be deployed in multiple undergraduate and postgraduate units and will keep track of students who have completed the module and the scores they achieved. The module will contain examples and descriptions of different types and levels of plagiarism and test students ability to recognise plagiarism as well as correct ways of using and citing the work of others. The module should be validated via usability testing. As a prerequisite to development of the module, the student undertaking this project will need to identify if similar modules or tools already exist and review the literature related to plagiarism, particularly in the context of Computing education, and methods which have been used to detect plagiarism. A resource containing examples of plagiarism and correct academic behaviour will need to be collected for use in the module.

Prerequisites

The ability to create a reliable online tool connected to a database. Webservice skills would be handy if the tool is to be connected to validate ics accounts. Good written communication skills.

Project Motivation

Academic honesty is required of each student at university but often this notion is not well-understood. The goal of this learning module would be to teach students the appropriate ways to cite and use the work of others and what behaviour crosses the line into plagiarism or breach of copyright.

Intended Outcomes


Comparative Study of Platforms for Multi-User Virtual Environments

Supervisor: Debbie Richards
Student: Arda Tezcan

Project Aim

This project will involve identifying existing platforms for developing Multi-User Virtual Environments (MUVES) and providing a detailed comparative analysis of the different products available, including identification of relevant cutting edge technology and research in this area. The project is part of a larger project involving Macquarie University, Sydney University, Nanyang Technical University in Singapore and a number of NSW High Schools and educational institutions. Currently an MUVE, known as Virtual Singapura (VS) has been developed using the ActiveWorlds platform. However, the project team are wanting to investigate development of a new Australian MUVE to encourage Australian High School Students to engage in Science Inquiry. The project will involve taking a set of initial requirements, refining those requirements through discussions with stakeholders, the identification of key features needed in the product and evaluation of a range of potential products, leading to justified recommendations to the project team. There is potential for some development work in one or more of the platforms including the migration of VS to a new platform, if time and interest permits.

Prerequisites

Good communication skills, particularly written skills, are required. If the student has programming skills we would ideally like the student to evaluate how easy it is to program in the platforms under considerations.

Project Motivation

Poor attitudes towards and minimal interest in science exist, in general, in Australian schools. MUVEs have been found to be engaging and provide an environment in which the elements of discovery, exploration and concept testing fundamental to the field of science can be experienced. However, building these environments is costly and time consuming. Finding platforms that offer the right balance of functionality and flexiblity and minimise the amount of effort and expertise required will make their deployment in the classroom more viable.

Intended Outcomes


Ingestion and Display of Real-Time Meteorological Data and Satellite Imagery

Supervisor: Murry Salby

Project Aim

Develop an algorithm to automate the downloading and display of current atmospheric soundings and 3D analyses, along with contemporaneous satellite imagery of cloud, water vapor, and ozone and model forecasts of future conditions. Obtained over the internet from local and international sources, the data is to be incorporated into a local Weather Web Site and then transmitted over the internet to a centralized Campus Weather Display.

Prerequisites

Useful: Familiarity with LINUX, NFS, visualization, and image capture and animation.

Project Motivation

Thermal and dynamical structure of the atmosphere determines current environmental conditions and how they will evolve. For this reason, atmospheric structure is integral to short-term weather forecasts, as well as to climate analysis and prediction. The fields to be displayed are the same ones relied upon by forecasters at major weather centers, like the Bureau of Meteorology. Their presentation on a centralized Campus Weather Display will provide students and faculty with current conditions and their relevance to extreme events, like severe storms, flooding, heat wave, and bushfire.

Intended Outcomes

The project will culminate in the display of current data and forecast fields on the Weather Web Site and on the centralized Weather Display. The Web Site will serve as a repository for auxiliary data, which can be brought forward to display. It will also control which fields are presented on the centralized Campus Weather Display, which will be used to support a regular weather/climate analysis briefing by students and staff.

This is an implementation project: the algorithms to be implemented are described in research papers. Your task is to understand the algorithms and implement them. Software should be written in C++ and demonstrated on actual images that you photograph as part of the project. The project report will present the software, demonstrate its effectiveness, and compare the different techniques to evaluate.


Display of Current Environmental Conditions via Remotely-Controlled Camera and Aviation Soundings

Supervisor: Murry Salby

Project Aim

Develop algorithms to (1) remotely control a digital web camera, with overview of Sydney harbor and CBD, (2) download atmospheric soundings at Kingsford-Smith Airport by aviation on approach and departure and incorporate them into an hourly running mean of current thermal structure over Sydney, and (3) transmit each to a local Weather Web Site for forwarding to a centralized Campus Weather Display, where the data will be animated.

Prerequisites

Useful: Familiarity with LINUX, NFS, visualization, image processing and animation, and with atmospheric properties.

Project Motivation

Vertical structure of the atmosphere controls cloud formation, the development of damaging thunderstorms, and the buildup and dispersion of urban pollution. Such structure evolves on the time scale of hours through the development of the sea breeze and the breakdown of the nocturnal inversion. Its evolution is manifested visually in changes of cloud and pollution. It is also recorded quantitatively in frequent soundings that are made by commercial aircraft on approach and departure from Kingsford-Smith, data which is then relayed to the Bureau of Meteorology.

Intended Outcomes

The visual imagery collected via remotely-controlled camera will be rendered, through optical and digital filtering, to articulate cloud features and layers of aerosol (pollution), for comparison against current vertical soundings made by commercial aircraft. The acquisition and display of these complementary forms of data will provide the campus community with insight into real-time conditions over Sydney and how they evolve. In concert with the remotely-controlled camera, the display of real-time soundings by commercial aviation will enable students to monitor conditions in relation to the dispersion of pollutants and the formation and advance of severe thunderstorms.


Implementing an Ajax-based Interface to a Natural Language Processor

Supervisor: Rolf Schwitter
Student: Edouard Arturo Rodriguez Alvarez

Project Aim

Implementing an Ajax-based Interface to a Natural Language Processor

Prerequisites

In this project you will be implementing an Ajax-based web interface to an existing (controlled) natural language processor that runs in server mode. The interface should support various editing operations and allow a non-specialist to add new content words (in particular nouns and verbs) to the lexicon of the language processor. The interface should be tailored in a way so that it can be used by different user groups (non-specialists as well as expert users). For example, a non-specialist might need strict guideance on how to write a text in controlled natural language while this is probably less the case for an expert user who might want to rely on the error messages that the system generates.

Project Motivation

Over the last view years, I have developed a controlled natural language processor and investigated various interface techniques to support the writing process of controlled natural languages. I am planning to release this software in the near future and would like to provide a (simple) web-based interface that allows different user groups to experiment with the system.

Intended Outcomes

The intended outcome of this research project is an Ajax-based web interface that communicates asynchronously with a controlled natural language processor and provides writing support for different user groups as well as facilities to update the linguistic lexicon of the language processor.


Working with N-ary Relations in Description Logics

Supervisor: Rolf Schwitter

Project Aims

Description Logics (DLs) are a family of knowledge representation languages that can be used to create formal ontologies. A DL ontology describes the concepts and relationships that are important in a particular application domain and provides a vocabulary that specifies the meaning of the terms used in the vocabulary in a formal way. In recent years, DL ontologies have been used in many Semantic Web applications as a way to process and share domain knowledge. Given a DL ontology, automated reasoning services can be used to check the knowledge base for inconsistencies and to answer questions over the knowledge base. Most DLs only support unary and binary relations: that means they only allow to express simple statements such as "John Miller is a student" or "John Miller attends ITEC810", and so on. In many application scenarios, however, it would be more convenient to represent n-ary relations such as "John Miller attends ITEC810 on Monday in E6A". In this research project you will investigate how such n-ary relations can be represented in a linguistically motivated way in a DL ontololgy. You will build a DL ontology of a computer science department and model activities that occur in this department using a state-of-the-art DL knowledge representation system.

Prerequisites

A lot of curiosity, no fear of formal languages, and an interest in linguistic theories. Some experiences in requirements engineering and knowledge representation are an advantage.

Project Motivation

It is well-known that n-ary relations can be represented in description logics via reification but there are no established naming conventions that support this process in a systematic way and this results in ontologies that are often difficult to read and understand by non-specialists. However, there exist a number of linguistic theories that use thematic roles in order to represent the meaning of reified relations (described by a sentences's verb) and the other participating entities in a sentence (described by nominal expressions). It is an interesting research question how these thematic roles can be defined in a formal way in a description logic framework and used to establish a linguistically motivated naming convention for representing n-ary relations.

Intended Outcomes

The intended outcome of this research project is (a) an ontology of a computer science department that relies on n-ary relations and reification and (b) a report that introduces a linguistically motivated naming convention for this representation (based on thematic roles if appropriate).


Domain Ontologies for Spoken Language Dialog Systems

Supervisor: Rolf Schwitter

Project Aims

Most telephony-based spoken language dialog systems do not use ontological knowledge for their dialog management. This is a limiting factor in particular in cases where a dialog system provides relatively open-ended prompts and the answers that the user supplies do not exactly match with the system's expectations. In many cases, the user will either provide more information via more specific terms or less information via the use of more general terms than the system can process. This is a typical application scenario where the use of an ontology might be of benefit since the terms and relationships between these terms are specified in a formal way in an ontology. In this research project, you will investigate how a domain ontology can be used to resolve mismatches in a human-machine dialog and try to improve the dialog flow between the human and the machine. You will interface a VoiceXML-based interactive voice response platform with an automated reasoner (that accesses the ontological knowledge base) and experiment with example dialogs.

Prerequisites

This is a development project and requires good programming skills (JavaScript and Python) and experience with XML. Additional experience with formal languages (description logic) is a plus.

Project Motivation

Recently formal ontologies have been used in a number of industrial and scientific applications to mediate between terminological mismatches. Surprisingly little research has been done in the field of spoken language dialog systems that tries to exploit ontological information in order to improve the dialog management. The aim of this project is to explore this research space and to build up an infrastructure to conduct first experiments.

Intended Outcomes

The intended outcome of this research project is a prototype that integrates an interactive voice response system with a reasoning system for processing formal ontologies. The prototype should demonstrate the usefulness of a domain ontology for a number of example dialogs.


Implementing an Intelligent Status Tracking Application

Supervisor: Rolf Schwitter
Student: Sidney Shek

Project Aim

The aim of this project is to implement a prototype of an intelligent status tracking application for a mobile device that can infer the best way of communication at a given point in time between team members in an enterprise environment. The prototype should be able to record and query a person's current status based on GPS data, calendar information and network accessability. The prototype could serve as a solid basis for a pilot study in an organisation and result in future research work.

Prerequisites

This is a development project and requires strong programming skills (in particular Java), expertise with client-server technologies and rule engines (in particular production rule engines).

Project Motivation

It is a common problem in an enterprise environment to find the best way of communiction between collaborators. These people are often working on different projects, are occupied in meetings, located at different places or are even on the move. An intelligent status tracking application implemented on a mobile device can support these people to keep in touch in an unobstructive way and improve their productivity.

Intended Outcomes

The intended outcomes of this project are: (a) a system design document that includes data model documentation, UML class diagrams, and an interface specification, (b) server-side components (REST service, database and rule engine integration) for the status tracking application , and (c) client-side components for the application, with a special focus on the Apple iPhone.


Secure Router Virtualization

Supervisor: Rajan Shankaran
Student: Vishal Sharma

Project Aim

Network Virtualization aids in network convergence by combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network. Network virtualization involves platform virtualization, often combined with resource virtualization. Network virtualization provides a powerful way to run multiple networks, each customized to a specific purpose, at the same time over a shared substrate. This project investigates new routing, forwarding, and addressing schemes of a network component on a shared facility built on top on general-purpose processors. Second, it considers the role of virtualization in network components to support multiple architectures simultaneously as a long-term solution for the future Internet. In specific, the project focuses on secure router virtualization: the dynamic, secure distribution of router hardware and software resources to IP services and applications. This will involve a study of hardware and software architecture of virtual routers by identifying and examining attributes that summarize the critical requirements of an effective SRV implementation.

Prerequisites

Project Motivation

Service provider network consolidation plans are progressing steadily in every region of the world. Recent research shows that many carriers are nearing completion of initial phases of long-term, comprehensive plans to build next-generation networks. Secure router virtualization is paramount to unlocking important benefits to service providers converging disparate networks. This project report examines the architecture and role of SRV in next generation Internet.

Intended Outcomes

This project is theoretical in nature. The output of this project is a report on secure virtual router architecture and how they can play an instrumental role in helping carriers achieve network convergence goals.


Trustworthy Sensor Networks

Supervisor: Rajan Shankaran
Student: Daniel Aegerter

Project Aim

The promise of sensor networks is that they will provide an ability to enable remote interactions with the physical world at unprecedented physical scales, with a broad set of sensors, and at low cost. A great deal remains to be done for this vision to become realized. However, building sensor networks poses challenges of secure routing, node authentication, data integrity, data confidentiality and access control that are faced in conventional wireless and wired networks as well. The purpose of this project is to argue that the conventional view of security based on cryptography and authentication alone is not sufficient for the unique characteristics and novel misbehaviors encountered in sensor networks. Dealing with issues such as these requires that the sensors themselves are trustworthy. The main goal of this project is to highlight critical issues that relate to the establishment of trust and to critically evaluate key proposals that use a reputation based approach for establishing trust.

Prerequisites

Project Motivation

Lack of centralized management infrastructure with severe device constraints make it impossible to ensure efficient use of the security mechanisms used in traditional networks to establish a cryptographic based approach to building a framework of trust in a sensor network environment. There is a need to ensure that the appropriate mechanisms are available to implement establish and manage trust relationships in a distributed manner in the absence of a centralized trustworthy authority with minimal user intervention. The goal of this project is to address these issues and build a framework for trust in sensor networks.

Intended Outcomes

This project is theoretical in nature. The output of this project is a report on Trustworthiness in sensor networks. The specific outputs are as follows:


Mobile WIMAX Security

Supervisor: Rajan Shankaran
Student: Claudia Cardenas

Project Aim

Mobile WiMAX is an emerging wireless technology for deploying broadband wireless metropolitan area network (WMAN), and is one of, if not the most, promising wireless technology for the next-generation ubiquitous network. Mobile WiMAX has gained momentum in the recent past and is set to have a major impact on the converging fixed and mobile broadband.However, it does have a number of security vulnerabilities and there is an urgent need to plug those gaps to create attractive revenue opportunities for security solutions vendors. The aim of this project is to provide an overview of the various security related issues in Mobile WiMax and to recommend remedial solutions to some of these threats.

Prerequisites

Project Motivation

The growing availability of WiMAX equipment and the early announcement of a number of deployment plans have led to a surge of interest in mobile WiMAX and its potential to complement or disrupt fixed and wireless broadband services. Howver security still remians a major concern in Mobile Wimax. This project will examine the security threats prevalent in a Mobile WiMax Environment and suggest remedial measures to safeguard against some of these threats.

Intended Outcomes

This project is theoretical in nature. The output of this project is a report on secure Mobile Wimax architecture and how one can enhance the security and working efficiency of such systems.


Computing Instruction Entropy for Virtual Machine Code

Supervisor: Tony Sloane

Project Aim

The aim of this project is to investigate the instruction entropy of Java virtual machine bytecode. Entropy in this context refers to the probability that a particular type of instruction will follow another type of instruction in real programs. Initially the intention is to collect static measures of entropy (i.e., without running the code), but if time permits, dynamic measures will also be investigated.

Prerequisites

Some familiarity with the idea of virtual machines for implementing languages such as Java or C#. Ability to write programs that analyse structured data to extract useful information.

Project Motivation

Measures of entropy characterise the sequences of instructions that are likely to occur during execution of a program. They are useful in applications such as code compression where the aim is to reduce the size of a program as much as possible. We have previously developed some methods for compressing Java bytecode that makes some assumptions about the entropy of JVM bytecode. This project will help us determine whether our assumptions are realistic for real programs and point the way toward future adaptations of our compression method.

Intended Outcomes

The outcomes are intended to be a precise description of the entropy measures that are of interest, a tool that can collect these measures from Java virtual machine class files, and data from applying the tool to as many real Java programs as possible.


Performance Comparison of Strategic Programming Approaches to Tree Processing

Supervisor: Tony Sloane

Project Aim

Strategic programming is a technique for describing generic traversals and rewrites of tree structures. It has been used to describe transformations of trees that represent programs for applications such as analysis, compilation and optimisation.

The aim of this project is to compare two approaches to implementing strategic programming. In one approach a small special-purpose language is used to write strategic programs and a compiler translates these programs to a general purpose programming language such as C or Java. In the other approach, strategic programs are written directly in a general-purpose language supported by a library designed to mimic the special-purpose language. The project will compare the performance of these two approaches when solving realistic transformation problems.

Prerequisites

Familiarity with the use of trees as data structures to represent hierarchically-structured data such as typical applications of XML or syntax trees in programming language or natural language processing. A facility for learning new languages.

Project Motivation

Using a library in a general-purpose language for writing strategic programs is attractive for a number of reasons. Most obviously, the implementation is easier than writing a whole compiler for a standalone special-purpose language. Also, the full features of the general-purpose language, including development environments, can be used when writing strategic programs. On the down side, a library has less chance to optimise the performance of programs than a dedicated compiler for a standalone language. This project is motivated by a desire to get a handle on the performance tradeoffs inherent in the decision between writing a library or writing a compiler for this problem domain.

Intended Outcomes

Stratego is a language designed for strategic programming and is implemented by compilation to C and Java. We have previously developed a library for the Scala language (which runs on the Java Virtual Machine) that provides most of the features of Stratego as a library. The outcomes of this project will be a set of realistic programs written in both Stratego and using our library, and a performance comparison of the two implementations. Both memory usage and time to execute will be compared.


Filtering Techniques for Counteracting DoS Attacks

Supervisor: Udaya Tupakula
Student: Wilson Hidalgo Ramirez

Project Aim

The aim of this project is to investigate different types of filtering techniques for counteracting denial of service attacks and design choices for the selection of content based filtering for an Internet Service Provider.

Prerequisites

  • The student should have conceptual understanding and knowledge of computer networks and routing protocols.
  • The student should be able to work independently.
  • Project Motivation

    As organizations and critical applications are becoming increasingly dependent on the Internet to provide their services, even a minor disruption of these services can prove to be enormously expensive and cause severe damage to the organizations. A `denial-of-service' (DoS) is an attempt by attackers to prevent access to resources by legitimate users for which they have authorization. The problem of denial of service attacks does not have adequate solution at present that is effective. In this project we analyse different filtering technqiues for counteracting denial of service attacks and design choices for the selection of content based filtering for an Internet Service Provider.

    Intended Outcomes

    Report on different types of filtering techniques and design choices for the selection of content based filtering to efficiently deal with the denial of service attacks.


    Trust Management in Service Oriented Architectures

    Supervisor: Vijay Varadharajan
    Student: Bienvenida Pagdanganan

    Project Aim

    The aim of this project is to investigate the trust requirements in service oriented architectures and consider the issues and choices involved in the design of trust management architecture for web services based service oriented architecture.

    Prerequisites

    Project Motivation

    Trust management in service oriented architectures is becoming increasingly significant in distributed enterprise architectures and applications.

    Intended Outcomes

    Report on the Analysis of Trust Requirements and Design Choices for Trust Management in Web Services based Service Oriented Architectures.


    Cloud Computing Security

    Supervisor: Vijay Varadharajan

    Project Aim

    The aim of this project is to investigate the characteristics of cloud computing (especially in the various notions of cloud computing) and analyse the unique security features that make cloud computing particularly vulnerable to risks. In particular, investigate a specific example of cloud computing such as Amazon's EC2 or Google App Engine and consider the security services and architecture.

    Prerequisites

    Project Motivation

    Recently cloud computing has become one of the significant areas of growth in the ICT industry. Cloud computing enables dynamically scalable and often virtualized resources as services over the Internet and the users need not have control over the infrastructure that supports these services. Such a paradigm poses a number of technical challenges including security and privacy ones.

    Intended Outcomes

    Report on the Analysis of Security Requirements for Cloud Computing and Design Choices for Security Architecture for a specific example of cloud computing.


    The Visualization of Transaction Intimacy in E-Commerce

    Supervisor: Yan Wang

    Project Aim

    A typical attack in e-commerce is malicious collusion, i.e. a malicious seller in a collusive group has transactions within the group to aggregate trust values and cheats customers outside the group. In this case, the transaction intimacy between this seller and the customers within the group is high, while the intimacy between the seller and the customer outside the group is low. The project is expected to visualize the transaction intimacy with the input data from the transaction records at eBay, which acts as an effective defence against potential malicious collusions.

    Prerequisites

    In this development project, the student must have solid programming skills and be familiar with Java. Familiarity with Swing (Java) toolkit and database is preferable. The student is expected to work independently with good writing skills.

    Project Motivation

    By visualizing transaction intimacy from the data samples collected from eBay, this project intends to offer as an effective defence against potential malicious collusions in ecommerce. It may be used for other purposes with some extensions, e.g., social relation visualization.

    Intended Outcomes

    The project is expected to develop the preliminary visualization software for transaction intimacy with the input data from the transaction records at eBay.


    A Survey of Trust-based Services and Resources Selection

    Supervisor: Yan Wang
    Student: Ravendra Singh

    Project Aim

    Trust evaluation is becoming increasingly important in many applications, such as, e-commerce, Web services, and P2P networks. Reputation-based trust information can be used in the above areas for services or resources selection and relocation. In the literature, there are a number of studies on this topic in online social networks, P2P networks and cloud computing, etc. The project is expected to have a study of existing models and mechanisms on how trust is used in different areas, analyze and compare their features.

    Prerequisites

    Basic knowledge on computer technology and mathematics.

    Project Motivation

    This project intends to offer an opportunity to postgraduates in Computer Science relevant fields to focus on and understand the state-of-the-art techniques. They are also expected to look for future issues in the area.

    Intended Outcomes

    A report of the analysis and comparison of existing trust-based service selection models together with some aspects/issues pointed out for future study.


    Java-Based Simulation for Verification of Business Collaboration Reliability

    Supervisor: Jian Yang
    Student: ZhengYang Wang

    Project Aim

    The student should develop a java based simulation application for the verification of business collaboration reliability. The target java application will be based on a well-defined business collaboration model. The project can provide a chance for the student to develop an application with whole software development life cycle including the requirement specification, system analysis/design, implementation, and software testing.

    Prerequisites

    The student should have the general knowledge of system analysis and design. He/she must have the java programming skill and have an enthusiastic can-do attitude. It is desirable for the student to have some background of business information management but not compulsory.

    Project Motivation

    Collaborative computing components easily become unreliable in a loosely-coupled environment where involved partners are normally interacted in a peer based fashion. It is critical to verify the reliability in business collaboration. A Petri-Net based verification model for business collaboration has been defined. The target application will provide the visualization of the formal model and it can be used as a powerful tool for the system analysts/developers of distributed information systems in a collaborative environment.

    Intended Outcomes

    A java based application should be developed to visualize a well-defined verification model. The documentations should be provided for the whole software development life cycle. The documentations should include analysis/design report, implementation description, and detailed test plan. The project client will check the development result and sign off the project.


    A Policy Management System for Business Collaboration

    Supervisor: Jian Yang
    Student: Young Bo Choi

    Project Aim

    This is an implementation project. The student will develop a policy management system including the management and evaluation of authorization policies of prospective collaboration partners. The target system will be developed based on policy management requirements and well-defined algorithms of policy evaluation provided by a client.

    Prerequisites

    The student should have the general knowledge of database and system analysis/design. He/she must have solid programming skills and be familiar with at least one major programming language such as Java, C, or VB. It is desirable for the student to have Web development knowledge but not compulsory.

    Project Motivation

    Challenging security issues concerning collaboration in the context of service oriented computing (SOC) have arisen due to the dynamic and loosely coupled nature of the environment in which these collaborations are conducted. Individual organisations usually define their authorization control policies independently. Inconsistencies and conflicts can exist between policies of prospective collaboration partners. Potential partner's authorization policies need to be evaluated in terms of policy consistency before the collaboration can be established. A description-logic-based policy evaluation model and associated algorithms have been defined for this purpose. The target system will implement policy management tasks and evaluation algorithms in a collaborative environment.

    Intended Outcomes

    A policy management system will be developed as the implementation of policy evaluation algorithms with application interfaces and graphic user interfaces for potential users of the system. The documentations should be provided for the whole software development life cycle. The documentations should include design specifications, implementation description, and detailed test plan. The project client will check the development result and sign off the project.


    [Home|Projects|Research|Publications|Professional Activities|Resources]

    Please send comments or queries about this web site to Robert.Dale@mq.edu.au
    Last Modified: 22nd August 2009