|
Computer Science & Software Engineering
Programming, Languages and Systems Group
|
Fundamental to any study in Computer Science & Software Engineering
is the need for well-designed and well-implemented programming languages,
computer systems and algorithms.
Our Programming, Languages and Systems Group focuses on these foundations,
together with their correct development using formal specification techniques.
Current members of our group and their research interests:
| Dr Chris McDonald |
- computer networks, operating systems,
and programming environments. |
| Dr Amitava Datta |
- coarse-grained parallel algorithms,
and fault-tolerant computing. |
| Dr Lyndon While |
- functional programming, fractals,
and dynamic communication algorithms. |
| Luigi Barone |
- evolutionary algorithms in adaptive autonomous agents. |
| Alex Barmouta |
- Secure payment schemes for the Computational Grid. |
| Andrew Boden |
- adding transactions to the Java Virtual Machine. |
| Voon-Li Chung |
- Linda-based operating systems. |
| Simon Huband |
- debugging of parallel programs with incomplete information. |
| Primantara Trisnawan |
- Simulation of network configuration and security testing. |
Some ongoing projects of our group:
-
The cnet network protocol simulator
(updated February 2002) - by Chris McDonald.
cnet v2.0
is a networking simulator which enables experimentation with various
data-link layer, network layer, routing and transport layer networking
protocols in networks consisting of any combination of point-to-point
links and Ethernet segments. cnet has been specifically developed for,
and is used in, undergraduate computer networking courses taken by
thousands of students worldwide since 1991.
-
pvm1 - a single process PVM execution sandbox
(Jan'99) - by Chris McDonald.
pvm1 is a single process execution sandbox for
programs using the Parallel Virtual Machine (PVM) message passing system.
The purpose of pvm1 is to aid the debugging and understanding of
``well behaved'' PVM programs.
While pvm1's use of a single processor
can only provide apparent concurrent execution,
it can greatly assist in the activities of process deadlock detection,
selective annotation of execution,
collation of execution and message passing statistics,
and post-mortem analysis.
-
Process Topologies for PVM
(updated Mar'98) - by Kamran Kazemi and Chris McDonald.
pvmts provides a process
topology server and library for the Parallel Virtual Machine (PVM) environment.
Together they allow the expression and development of parallel algorithms
using natural, abstract communication contexts.
Written as a PVM application,
the topology server and its library provide a minimal set of
functions that adequately address topology based communication requirements.
Our new approach enables parallel programmers to implement new topologies
without having to modify the topology server or the library.
-
Multi-user PVM
(updated Nov'97) - by Kamran Kazemi and Chris McDonald.
mupvm is our multiuser PVM
environment providing reduced operating system
resource requirements, and reduced application execution times, in an
environment such as a University using PVM in its teaching or research.
In particular, a teaching environment in which PVM is either used
``directly'' from application programs written in C or FORTRAN, or
as a ``parallel assembly language'', often requires some robustness.
Our modified PVM environment increases the overall robustness of a PVM
teaching environment by being ``self-starting'' and enabling selected
users to administer the environment by configuring hosts, users and tasks.
[our CRICOS provider code 00126G]
Dept of Computer Science & Software Engineering,
The University of Western Australia
Crawley, Western Australia, 6009.
Phone: +61 8 9380 2716 - Fax: +61 8 9380 1089.