Award Date


Degree Type


Degree Name

Master of Science in Computer Science


Computer Science

First Committee Member

Jan Pedersen

Second Committee Member

Kazem Taghva

Third Committee Member

Laxmi Gewali

Fourth Committee Member

Sarah Harris

Number of Pages



ProcessJ is a modern Process-Oriented language that builds on previous work from other languages like occam and occam-pi. However, the only readily-available runtime system is built on top of the Java Virtual Machine (JVM). This is not a choice made intentionally, but simply out of a lack of other implementations -- until now. This thesis introduces the new C++-based runtime system for ProcessJ, coupled with a new C++ code generator for the ProcessJ compiler. This thesis later examines the implementation details of the runtime system, including the components that make it up. We also examine the ability to cooperatively schedule many processes within the runtime environment, inside a separate scheduling system built on top of traditional operating system threading, rather than simply mapping processes one-to-one with threads. We later exemplify some of the cooperatively-schedulable code generated by the compiler, giving a complete rundown of the constituents and their various design choices. Lastly, we show the results of several tests that demonstrate the performance benefits of a bespoke C++-based runtime system, and discuss the future work and optimizations of this system.


The processJ C++; Runtime; Code generator


Computer Sciences

File Format


File Size

813 KB

Degree Grantor

University of Nevada, Las Vegas




IN COPYRIGHT. For more information about this rights statement, please visit