Process Oriented Design for Java: Concurrency for All
P.H. Welch
In P.M.A.Sloot, C.J.K.Tan, J.J.Dongarra, and A.G.Hoekstra, editors,
Computational Science - ICCS 2002, volume 2330 of
Lecture Notes in
Computer Science, pages 687-687. Springer-Verlag, April 2002
Keynote Tutorial.
Abstract
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 often fit applications
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
Bibtex Record
@inproceedings{1383,
author = {P.H. Welch},
title = {{P}rocess {O}riented {D}esign for {J}ava: {C}oncurrency for {A}ll},
month = {April},
year = {2002},
pages = {687-687},
keywords = {Concurrency, Scaleability, Java, JCSP, CSP},
note = {Keynote Tutorial},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2002/1383},
publication_type = {inproceedings},
submission_id = {4727_1024404562},
ISBN = {3-540-43593-X},
booktitle = {Computational Science - ICCS 2002},
editor = {P.M.A.Sloot and C.J.K.Tan and J.J.Dongarra and A.G.Hoekstra},
volume = {2330},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag},
ISSN = {0302-9743},
refereed = {Yes},
}