Award Date
August 2016
Degree Type
Thesis
Degree Name
Master of Science in Computer Science
Department
Computer Science
First Committee Member
Jan Pedersen
Second Committee Member
Kazem Taghva
Third Committee Member
Andreas Stefik
Fourth Committee Member
Hualiang Teng
Number of Pages
139
Abstract
The modern day advancements in multi-core technologies require programmers to use the right tools and languages to fully harness their potentials. On that front, our endeavor lies in developing a new multipro- cessing programming language. Concurrent or parallel programs can be hard to get right because of locks, monitors, mutexes, etc. One solution is using a CSP based process-oriented language. Process-oriented programming alleviates many of the problems found in thread and lock programming by proper encapsu- lation of data, explicit synchronous message passing, and the ability to verify code to be free of deadlocks and livelocks by using tools like FDR. Therefore, we have developed a new language called ProcessJ (CSP semantics and Java-like syntax) as a way to modernize languages like occam/occam-π which are outdated and only run on certain Linux distributions. ProcessJ is a multi-backend language with a compiler written in Java; and in this thesis, we focus on the JVM backend, which we call the JVMCSP; in particular, we consider code generation, the necessary runtime classes to support concurrency constructs on the JVM, and a simple cooperative non-preemptive scheduler. We also show how to translate ProcessJ source into Java source that makes use of the runtime classes that we have developed.
Keywords
Java Virtual Machine; JVMCSP; non-preemptive scheduling; ProcessJ; process-oriented programming; user-level scheduling
Disciplines
Computer Sciences
File Format
Degree Grantor
University of Nevada, Las Vegas
Language
English
Repository Citation
Shrestha, Cabel Dhoj, "The JVMCSP Runtime and Code Generator for ProcessJ in Java" (2016). UNLV Theses, Dissertations, Professional Papers, and Capstones. 2805.
http://dx.doi.org/10.34917/9302963
Rights
IN COPYRIGHT. For more information about this rights statement, please visit http://rightsstatements.org/vocab/InC/1.0/