db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
@InProceedings{PedersenSmith13,
title = "{P}rocess{J}: {A} {P}ossible {F}uture of {P}rocess-{O}riented {D}esign",
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
author= "Pedersen, Jan Bækgaard and Smith, Marc L.",
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
editor= "Welch, Peter H. and Barnes, Frederick R. M. and Broenink, Jan F. and Chalmers, Kevin and Pedersen, Jan Bækgaard and Sampson, Adam T.",
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
pages = "133--156",
booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2013",
isbn= "978-0-9565409-7-3",
year= "2013",
month= "nov",
abstract= "We propose ProcessJ as a new, more contemporary programming
language
that supports process-oriented design, which raises
the level of
abstraction and lowers the barrier of entry for
parallel and
concurrent programming. ProcessJ promises
verifiability (e.g.,
deadlock detection), based on Hoare's
CSP model of concurrency, and
existing model checkers like
FDR. Process-oriented means processes
compose, unlike
thread-based or asynchronous message-passing models
of
concurrency; this means that programmers can
incrementally define
larger and larger concurrent processes
without concern for undesirable
nondeterminism or unexpected
side effects. Processes at their lowest,
most granular level
are sequential programs; there are no global
variables, so
no race conditions, and the rules of parallel
composition
are functional in nature, not imperative, and based on
the
mathematically sound CSP process algebra. Collectively,
these ideas
raise the level of abstraction for concurrency;
they were successful
once before with the occam language and
the Transputer. We believe
their time has come again, and
will not go away, in this new age of
multi-core processors.
Computers have finally caught up with CSP
and
process-oriented design. We believe that ProcessJ can be
the
programming language that provides a bridge from today's
languages to
tomorrow's concurrent programs. Learning or
teaching the programming
model and language will be greatly
supported through the educational
part of the proposed
project, which includes course templates and an
online
teaching tool that integrates in-browser programming
with
teaching material. Our efforts are encouraged by the
forthcoming 2013
IEEE and ACM curricula guidelines, which
for the first time include
concurrent programming as a core
knowledge area at the undergraduate
level."
}