This third year project was submitted in May 2008 for award of Computer Science MEng, whilst studying at the school of Electronics and Computer Science, University of Southampton, UK.
Abstract: A project investigating and developing an implicitly concurrent programming language, based on a metaphor taken from the physical world is reported. The project is introduced and key background ideas explained making the case for a programming paradigm where programs consist of systems of autonomous agents, or active objects which communicate via message passing. A literature search researching the development of a similar paradigm called the “Actor model” is reported and criticised. A language enhancing Java with actors and linear types is defined and key decisions are discussed. Translation rules to reduce the language into Java are presented, and a prototype translator is developed. Example programs are written, compiled, and executed to evaluate the usefulness of the language. Conclusions are drawn and the language found to provide a familiar notation for implicit parallelism, and a compelling new model for concurrency, combining the performance of shared variables with the elegance of message passing. Finally further work is suggested to extend and refine the language, and its implementation.