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.