A browser-based interpreter for occam
Supervisor
Suitable for
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