Skip to main content

Using Java for Parallel Computing: JCSP versus CTJ

Welch, Peter H. and Hilderink, Gerald H. and Schaller, Nan C. (2000) Using Java for Parallel Computing: JCSP versus CTJ. In: Welch, Peter H. and Bakkers, A.W.P., eds. Communicating Process Architectures 2000. Concurrent Systems Engineering . IOS Press, Amsterdam, Netherlands, pp. 205-226. ISBN 978-1-58603-077-3. (KAR id:21987)

PDF
Language: English
Download (238kB) Preview
[thumbnail of Using_Java_for_Parallel_Computing_JCSP_versus_CTJ.pdf]
Preview
This file may not be suitable for users of assistive technology.
Request an accessible format

Abstract

Java provides support for concurrent and parallel programming through threads, monitors and its socket and Remote Method Invocation (RMI) classes. However, there have been many concerns expressed about the way in which this support is provided, e.g., [1][2], citing problems such as improper implementation of monitors and difficulty of programming with threads. Hoare’s Communicating Sequential Processes (CSP) [3][4][5] model fully specifies thread synchronization and is based on processes, compositions, and channel communication. It provides a mathematical notation for describing patterns of communication using algebraic expressions and contains formal proofs for analyzing, verifying and eliminating undesirable conditions, such as race hazards, deadlocks, livelock, and starvation. Two independent research efforts provide a CSP based process-oriented design pattern for concurrency implemented in Java: Communicating Sequential Processes for Java (JCSP) [6] and Communication Threads in Java (CTJ) [7]. In this paper, we compare these two packages, looking at the philosophy behind their development,

their similarities, their differences, their performance, and their use.

Item Type: Book section
Uncontrolled keywords: Concurrency, CSP, processes, channels, non-determinism, Java
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Mark Wheadon
Date Deposited: 12 Sep 2009 19:09 UTC
Last Modified: 12 Jul 2022 10:39 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/21987 (The current URI for this page, for reference purposes)
  • Depositors only (login required):

Downloads

Downloads per month over past year