Treffer: ProcessJ: A process-oriented programming language

Title:
ProcessJ: A process-oriented programming language
Authors:
Source:
UNLV Theses, Dissertations, Professional Papers, and Capstones
Publisher Information:
Digital Scholarship@UNLV
Publication Year:
2011
Collection:
University of Nevada, Las Vegas: Digital Scholarship@UNLV
Document Type:
Fachzeitschrift text
File Description:
application/pdf
Language:
English
DOI:
10.34917/3294795
Rights:
IN COPYRIGHT. For more information about this rights statement, please visit http://rightsstatements.org/vocab/InC/1.0/
Accession Number:
edsbas.62ABD219
Database:
BASE

Weitere Informationen

Java is a general purpose object-oriented programming language that has been widely adopted. Because of its high adoption rate and its lineage as a C-style language, its syntax is familiar to many programmers. The downside is that Java is not natively concurrent. Volumes have been written about concurrent programming in Java; however, concurrent programming is difficult to reason about within an object-oriented paradigm and so is difficult to get right. occam -π is a general purpose process-oriented programming language. Concurrency is part of the theoretical underpinnings of the language. Concurrency is simple to reason about within an occam -π application because there is never any shared state; also occam -π is based on a process calculus, with algebraic laws for composing processes. It has well-defined semantics regarding how processes interact. The downside is that the syntax is foreign and even archaic to programmers who are used to the Java syntax. This thesis presents a new language, ProcessJ, which is a general purpose, process-oriented programming language meant to bridge the gap between Java and occam -π. ProcessJ does this by combining the familiar syntax of Java with the process semantics of occam -π. This allows for a familiar-looking language that is easy to reason about in concurrent programs. This thesis describes the ProcessJ language, as well as the implementation of a compiler that translates ProcessJ source code to Java with Java Communicating Sequential Processes (JCSP), a library that provides CSP-style communication primitives.