Simon Duff

Contact Details

Office Location
RMIT City Campus
Building 10, Level 11, Room 17
124 La Trobe Street, Melbourne, Victoria 3000
Email Address
simon.duff@rmit.edu.au
Postal Adress
Simon Duff
RMIT University
School of Computer Science and IT
GPO Box 2476v Melbourne
3001 Victoria
Australia
Personal Web site
http://traffic.bur.st/

Research

Currently, I do AI research at School of Computer Science and Information Technology at RMIT University. My research is in the area of proactive maintenance goals in Intelligent Agents.While many agent systems have existing notions of maintenance goals, they are often reactive in nature. I have proposed methods of making them more proactive, and have shown the benefits of doing so.

More information regarding proactive maintenance goals may be found in On Proactivity and Maintenance Goals Simon Duff, James Harland and John Thangarajah, Proceedings of the 5th International Conference on Autonomous Agents and Multi-Agent Systems (AAMAS-06), Hakodate, May, 2006. Pages 1033-1040.

The following are summaries of some past projects.

Robocup 2000
I was a member of a joint Melbourne University/RMIT team in the development of a team of soccer playing robots for the Robocup Legged League. This involved using proprietary tools for cross compiling to commercial embedded systems (In other words, we compiled stuff to run on Sony Aibos).
I was also involved in the development of a basic robotic framework targeting the Lego Mindstorms platform. Mindstorms were used in the Robocup Jr league. I appeared in an article in the RMIT publication, Knowledge Net.
JACK and JADE
In 2000-2001, Lavindra De Silva and myself worked on a small summer project in the Computer Science department. It involved the integration of the JACK agent platform and the FIPA compliant framework JADE. The purpose of the integration was to enable JACK agents to access the Agent Cities platform.
Project ROHCy, CEED Project with Ericsson Australia
I lead a team of 3 students who worked with Ericsson Australia on Project ROHCy. ROHC, or RObust Header Compression, aims to reduce the size of IP headers by exploiting the predictability and redundancy in a stream of packets. This is especially important in situations such as VOIP(Voice-Over-IP). Complete details can be found in RFC-3095.
My team and I modified FreeBSD's userland PPP module to support some basic ROHC. We also developed a testing tool, surreal, that allowed for the observation and modification (such as the injection of delays and errors) into multiple PPP streams.
Due to the commercial nature of this project, I can only offer some basic overview slides of Project ROHCy.

Teaching

I have been involved in teaching at RMIT for several years, in a variety of roles.

Applications Development 2
This course introduces students to the development of complex business applications. Using the Java programming language, and the Eclipse IDE, students progressively develop a 3-Tier application in their Lab classes.
I am a course co-ordinator for this subject, as well as conducting the lectures , and running the lab class.
Computing Theory
This course introduces students to fundamental concepts in Computer Science.This includes material including grammars and machines, complexity, computability and cryptography.
I have taken on a variety of roles related to this subject. This includes Head Tutor, Tutor, Lab Assistant, and on-occasion, Stand-In-Lecturer.
Introduction to Artificial Intelligence
This course introduces students to basic Artificial Intelligence. Whilst focusing on tree searching techniques, topics also include basic game theory, agents, neural networks and genetic programming.
I have been a Tutor for this subject on several occasions.
Intelligent Web Systems
This Masters and Honours level course encourages students to develop intelligent applications for web-based systems. This includes web-based chatterbots and web spiders.
I have been a tutor for this course.
Programming Principles 2A
Computer Science student's first introduction to the C Programming language. This includes pointers, memory allocation and debugging with GDB.
I have been a Lab assistant for this subject.
Programming Principles 2B
This course provides more advanced C programming, focusing on algorithms and abstract data types.
I have been a tutor and lab assistant for this course.
Introduction to Internet Technology
This course introduces basic Internet technology, including CGI with Perl and Java Servlets, basic XML processing, database access, and HTML and Javascript.
I have been a tutor and lab assistant for this course.

Links

http://traffic.bur.st/
My personal website
RMIT Computer Science Support
I have been a Duty Programmer since 2000. We provide technical assistance to staff and students in the Computer Science department. We now also provide assistance with Java and C programming. I was responsible for the creation and original development of tools such as off (to track account suspensions) and lstats (to assist in measuring lab usage). You probably haven't heard of these tools, but they come in handy for the Duty Programmers.