Projects for the Bundoora Industry Project Subject

Tool for producing course details on WWW

Tables on the WWW are a natural way to present course information However producing such tables is a time consuming process.
As courses are constantly changing, an easily changed notation for describing courses is needed.
One such notation is Prolog predicates. Each predicate states a fact about the environment; from these facts a table can be built.
For example the following facts describe the subject cs201.

    Start(cs201, semester_1).
    Duration(cs201, 2).
    Credit_Points(cs201, 24).
    Nominal_Year(cs201, second).
    Prerequisites(cs201, cs100).
These facts would be stated for each subject.

This project would require you to use a parser to parse these facts and build up the equivalent WWW pages. Extra information such as links to the subject guidelines could also be included.


Factory simulator simulation

The department of Manufacturing Systems Engineering has a large Fischer Technick simulator of a factory consisting of

    Gantry crane
    3 milling machines with 3 conveyor belts
    Two separate machines
    Warehouse with controlled xy accessing.
which is used in the CS504 Concurrent Computing subject to examine various aspects of concurrency. However access to the simulator is restricted. Also only one group can operate on the system at a time.

This project requires you to create a simulator which would allow software written to control the physical devices, to be tested in a more convenient environment, with faster tools.

The simulator is to be written in Ada, using tasking aspects. Work on this could contribute to marks in the subject CS504.


Writing cgi programs to process forms is a process that is more complicated than it has to be. Given a form description, it is quite easy to extract the field names and values, and create associated program code to deal with the process of string -> enumerated type value conversion.
This project is to write a parser for forms, and generate suitable Ada code to handle this. The job is relatively simple, as the process can be automated to a large degree by the use of generics.