A Local Area Network
During a visit to Monash from Darmstadt in 1984 Prof. Keedy discussed the problem of how Monads-PCs could be networked together, and out of this visit grew the initial idea (worldwide) of distributed shared virtual memory.
In 1985 Prof. Keedy returned to Australia and established a new Department of Computer Science at the University of Newcastle, New South Wales. John Rosenberg soon joined him as a Senior Lecturer. Together they moved the Monads Project to Newcastle. With a new research student, Frank Henskens, they further developed the idea of distributed shared memory. They also made some modifications to the Leibniz programming language. Together with David Koch they also formulated the idea of a Monads-MM computer, which was to have not only very large virtual addresses (128 bits) but also a main memory of the order of several gigabytes, which was a very unusual idea in 1986.
In 1988 Prof. Keedy moved to the University of Bremen in Germany and soon afterwards John Rosenberg was appointed Professor of Computer Science at the University of Sydney, where he was joined by Frank Henskens. Thereafter Monads worked continued at both locations. In Sydney the emphasis was mainly on developing the distributed shared memory, while in Bremen, the emphasis focused on database aspects of the Monads architecture (with Peter Brössler) and on higher level software for a secure operating system (with Karin Vosseberg), in particular with the use of directories as a means for providing secure communication both in a local and in a distributed system.
Together with Jörg Siedenburg Prof. Keedy also worked in Bremen on new ideas for structuring kernels in an object-oriented way. This work moved to the University of Ulm in 1993. Out of this work the seeds of a new project, called S-RISC and involving the design of a RISC computer system with powerful security features, has emerged. At Ulm new initiatives have also been started (with Mark Evered, Gisela Menger and Axel Schmolitzky) in the area of programming language design, both in the form of a new language L1 and various extensions to Java (which serve as a testbed for basic ideas from L1).