Master of Science in Computer Science
First Committee Member
Second Committee Member
Third Committee Member
Fourth Committee Member
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
University of Nevada, Las Vegas
Thomason, Alexander Christian, "The ProcessJ C++ Runtime System and Code Generator" (2020). UNLV Theses, Dissertations, Professional Papers, and Capstones. 4087.
IN COPYRIGHT. For more information about this rights statement, please visit http://rightsstatements.org/vocab/InC/1.0/