Process Oriented Design for Java: Concurrency for All

Welch, Peter H. (2000) Process Oriented Design for Java: Concurrency for All. In: International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 2000), Jun 26-29, 2000, Las Vegas, NV. (The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided)

The full text of this publication is not available from this repository. (Contact us about this Publication)


Concurrency is thought to be an advanced topic - much harder than serial computing which, therefore, needs to be mastered first. This paper contends that this tradition is wrong, which has radical implications for the way we educate people in Computer Science - and on how we apply what we have learnt. A process-oriented design pattern for concurrency is presented with a specific binding for Java. It is based on the algebra of Communicating Sequential Processes (CSP) as captured by the JCSP library of Java classes. No mathematical sophistication is needed to master it. The user gets the benefit of the sophistication underlying CSP simply by using it. Those benefits include the simplification wins we always thought concurrency should generate. Although the Java binding is new, fifteen years of working with students at Kent have shown that the ideas within process-oriented design can be quickly absorbed and applied. Getting the ideas across as soon as possible pays dividends - the later it's left, the more difficult it becomes to wean people off serial ways of thought that fit the world so badly. Concurrency for all (and for everyday use) in the design and implementation of most kinds of computer system is both achievable and necessary.

Item Type: Conference or workshop item (Paper)
Additional information: Comp Sci Res, Educ & Applicat Press; Informat Processing Soc Japan; SIGMPS; Int Technol Inst; Java High Performance Comp Res Grp; Korea Informat Processing Soc; World Sci & Engn Soc
Uncontrolled keywords: processes; channels; design patterns; Java (TM); CSP; JCSP
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Science Technology and Medical Studies > School of Computing
Depositing User: Mark Wheadon
Date Deposited: 30 Aug 2009 17:30
Last Modified: 14 Apr 2014 08:06
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year