Maurice Castro - Biography

At present I am employed by the Software Engineering Research Centre, RMIT in Melbourne, Australia as a Senior Research Fellow. Previously I was employed by the Department of Computer Science, Faculty of Applied Science, RMIT as a lecturer. I report to the Professor of Software Engineering and work within the Software Engineering Research Centre.

In my current position I am developing technologies, methodologies and tools to assist in the development of code in parallel functional languages, as well as the development of a software and hardware architecture of parallel computers.

In addition to my academic interest in software and systems, I have practical experience in the crafts of software creation and systems administration.

I am currently an active participant in the Smart Internet Technology CRC (SITCRC), fostering interactions between the technology programs and User Needs program. Before joining the SITCRC, I was involved in the setting up of SERC's involvement with Australian Telecommunications CRC.

Development Projects

During 1999, I assisted in the transfer of the development of the Eddie project from Sweden to Australia. Eddie is a front-end package for web servers that provides redundancy, reliability and robustness through the application of admission control to the web server domain. Eddie allows networks to function in predictable and efficient ways.


In 1996 I was awarded a PhD by Monash University, Melbourne, Australia. The work was conducted under the supervision of Prof Chris Wallace and my thesis was entitled `The Walnut Kernel: A Password-Capability Based Operating System'. This thesis dealt with the development of a capability based operating system which provides a known level of security and supported the user paradigm of persistent memory objects.

While working on my thesis I assisted in the high level design of hardware to support an easily scalable multiprocessor. Together with Dr Ronald Pose I developed a mechanism to overcome many of the physical difficulties found in constructing large multiprocessor machines. The mechanism which eliminated from the design global clocks and their inherent problem of distribution over a wide area.

Courses Taught

From 1996 to 1998 I taught CS382 Software Engineering Project. This course takes both industry and university originated projects. The projects are tackled by a number of small groups of students (less than 6). Each group builds a working product within two semesters.

In 1998 I revised CS584, the Real Time and Concurrent Systems course, to have a more practical focus and use Erlang as a language for students to implement real time systems.

Also in 1998 I took over the teaching of CS470, Software Creation and Maintenance. This course is taken by both masters students and undergraduate students. The eclectic range of topics covered in lectures are based on the theme of making students productive immediately in Industry. The course addresses the pragmatic issues of: debugging, testing and maintaining software.

In addition to teaching these subjects I am assisting Prof Fergus O'Brien with the CS474 Software Architecture course. This course examines a number of potential software architectures and requires students to implement a project using an architecture of their choice.

In 1997, I provided tutorial assistance for a collection of courses including CS544 Interactive Digital Media - a Java based course, CS100 First year Computer Science - an Ada based course, and CS470 Software Creation and Maintenance.

In 1996 I taught CS584. The CS584 Parallel and Real Time Systems course focused on Hoare's Communicating Sequential Process (CSP) model of parallel systems. In addition to developing the theory of CSP the course included practical work using the functional programming language Erlang.

In the first half of 1994 I taught The Computer Architecture (CSC2010) course in the Department of Computer Science, Monash University. This course covered equally the areas of assembly language programming and basic computer architecture.


In 1998 I wrote a book to support the new look Real Time and Concurrent Systems course. The book describes the Erlang programming language and its application to that domain.

Because of the lack of documentation covering the use of AT&T syntax assembly code on the Intel 80386 processor, I produced material to assist students in the 1994 course. The material covers the syntax, and mnemonics of the 80386 assembler (GNU as) used in the course, low level programming practices and techniques, floating point arithmetic, computer components including processor internals, DMA devices and IO devices, and introduced the R2000 processor for comparative study with the 80386.

In 1995 this material was published as a book and used to support the course. It was amended and republished for use in the 1996 course.

Software Projects

I have been involved in a number of major software projects including:

In addition to these projects I am currently the maintainer of the R statistical language port and GNAT Ada port for the FreeBSD project.

I have also created a number of programs for use under the EPOC operating system (an operating system created by Psion and now marketed by Symbian). EPOC is an operating system designed for use in PDAs and mobile telephony products

Systems Administration

For various reasons I run the computer systems that support SERC. We run a mixture of Solaris and FreeBSD machines. Although this activity takes up much more of my time than I wish it has given me insights into the practical application of operating systems and the all too human face of system administration.


In addition to my academic pursuits I was a director of HiLink Internet Pty Ltd (later Clarinet Internet Solutions) until 1999. This company was formed in 1996 from a partnership started in 1994. The company focuses on providing innovative solutions to businesses and individuals in Victoria in the area of Internet connections, security and consulting.

Professional and Other Socities

Other Activities

I also ballroom dance, nordic ski and ride horses.

Maurice Castro / SERC /