Skip to main content

A browser-based interpreter for occam

Supervisor

Suitable for

MSc in Advanced Computer Science
Mathematics and Computer Science, Part C
Computer Science and Philosophy, Part C
Computer Science, Part C
Computer Science, Part B

Abstract

occam is an ideal programming language for running short introductory workshops on concurrent programming. Originally developed as the native programming language of the transputer, occam allows parallel processes to be declared with minimal boilerplate code and all communication between processes is through named channels. Unfortunately, it is not possible to easily compile or run occam today. This project will address this shortcoming by developing a browser-based interpreter for concurrent occam code. You will be required to research the occam language, choosing the appropriate language version to address, and develop the necessary tools to allow occam code to run in the browser. A stretch goal is to develop additional tools that allow occam code run natively on a modern processor by exploiting the existing concurrency models and toolchains of either Java or Golang.

Prerequisites: Compilers