Process Oriented Design for Java: Concurrency for All

Keynote Tutorial
  • Peter Welch
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2330)


Concurrency is thought to be an advanced topic - much harder than serial computing which, therefore, needs to be mastered first. This seminar 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 often fit applications so badly. Concurrency for all (and for everyday use) in the design and implementation of complex, maintainable and scalable computer systems is both achievable and necessary.


Operating System Communication Network Computational Mathematic Specific Binding Sequential Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Peter Welch
    • 1
  1. 1.Computing LaboratoryThe University of Kent at CanterburyCanterbury, KentUK

Personalised recommendations