JAVA(TM) THREADS WORKSHOP
=========================
The first Java Threads Workshop will be held at the University of
Kent, England, on 23-24 September, 1996. This workshop is being
organised by Java users (under the umbrella of the World occam and
Transputer User Group) and will focus on design and performance
issues for threaded applications.
Summary
=======
Concurrency has become increasingly important for many areas of
system design, whether we are building animated applets for busi-
ness use over the internet or safety-critical controllers for car
braking systems. This workshop will present the threads program-
ming model incorporated into the Java language and consider how
best to exploit it for constructing robust and efficient con-
current systems. Reports will be given from experienced develop-
ers of real-time and/or parallel applications on their reactions
to and experiences with Java. The intention is to exchange infor-
mation and initiate debate.
Java is an object-oriented language based on C. Unlike C++ it has
removed language features (such as structures, typedefs and func-
tions) that are made redundant by the introduction of classes,
objects and methods, leaving users with little option but to fol-
low object-oriented principles. Java has also taken issues of
security seriously, eliminating many (but, possibly, not all) of
those features of C that make its semantics so complex. For exam-
ple, explicit pointers and the pre-processor are gone, replaced by
full language support for packages, arrays and booleans. Con-
currency is also supported by language binding, rather than a set
of library functions, so as to give greater clarity of expression
(and, ultimately, support from the compiler) to this notoriously
error-prone area of design and implementation.
In their application of Occam's razor and their concern for secu-
rity and concurrency, the Java designers were motivated by the
same considerations as the designers of occam. It is for this
reason that the occam community has looked seriously at Java and
its application. There is certainly a clash of cultures between
the two communities, but there exists great potential for learning
on both sides. The Java threads model is based upon C.A.R.Hoare's
concept of monitors, whilst the occam process model is based upon
C.A.R.Hoare's (later) concept of Communicating Sequential
Processes (CSP). The consequences of this divergence are subtle
and worthy of investigation. This workshop will be looking hard
into this.
In surveying the rapidly growing literature concerning Java,
information about its support for concurrency is currently hard to
find in any detail. The aims of the workshop, therefore, are to
present the semantics of Java threads in as simple a way as possi-
ble, examine how it is being used to implement concurrent applica-
tions, compare and contrast it (both qualitatively and quantita-
tively) against occam processes and provoke debate and feedback
from all participants.
Further details, including on-line registration, for the workshop
have been placed on the Internet Parallel Computing Archive at:
Timetable
=========
Please note that this is a first draft and subject to change.
Details will be updated on the above URLs.
Monday, 23rd. September, 1996
-----------------------------
11:00-14:00:
13:00-14:00:
14:00-14:10: Introduction to the workshop
[Prof. Peter Welch, University of Kent, England]
14:10-14:45: Java Basics (classes, objects, methods, exceptions,
threads and packages)
[Dr. Paddy Nixon, Univeristy of Dublin, Ireland]
14:45-15:30: Java Threads I (thread states - not-started,
running, runnable, blocked and stopped; priorities;
yield, sleep, suspend and resume; synchronize,
wait and notify)
[Rick van Rein, University of Twente, Netherlands]
15:30-16:00:
16:00-17:00: Java Threads II (design paradigms - activity threads
versus object threads; user reports - case studies
of some real Java multi-threaded applications)
[speakers to be announced]
17:00-18:30: Poster Session and Demonstrations (if you would like
to contribute, please mail/fax/email a short - e.g.
one page - abstract to the contact address below)
19:00-20:00:
20:00-24:00: Informal discussion groups and late bar (if you would
like to suggest, or set up, an informal workgroup to
focus on some particular area, please mail/fax/email us)
Tuesday. 24th. September, 1996
------------------------------
09:00-10:30: Comparison with occam (occam processes - unified
objects and threads plus structure; using occam as a
design language for Java; modelling occam channel and
buffered communication between Java object threads;
ALTs (fair and PRI), low-level PAR communications;
occam3 shared channels; problems-spin locks, race
hazards, infinite overtaking, starvation, deadlock and
livelock; performance reports)
[Peter Welch, University of Kent,
and Gerald Hilderink, University of Twente]
10:30-12:30: Workgroups (including ).
Participants will divide into groups to discuss various
themes (e.g. ``Concurrent programming in Java is Easy'').
Each group will have a facilitator who leans in a
particular (announced) direction. Participants may
like to join groups whose leader's inclination opposes
their gut feelings. Volunteers will minute the arguments
and any conclusions reached. Minority reports will be
acceptable.
12:30-13:00: Plenary Panel Session. Survivors of the workgroups
reconvene for the final panel session. Panel members
will be nominated by each workgroup. Brief reports
from each panelist on the conclusions of their
workgroup will be made. Open discussion from the
floor. Have any problems with Java been identified?
A workgroup will be appointed to write up the
conclusions from the workshop.
13:00-14:00:
Registration Form
=================
The cost of this workshop is 60 pounds sterling, covering overnight
accommodation on the 23rd, all meals and handouts. Extra nights
accommodation, including breakfast, can be arranged at a cost of 16.90
pounds per night. Please tick below as necessary (one of the last two
boxes must be checked):
[ ] overnight accommodation for Sunday, 22nd. September, 1996
[ ] overnight accommodation for Tuesday, 24th. September, 1996
[ ] vegetarian meals only
[ ] I enclose a cheque for the workshop registration fee
(+ any extra nights)
[ ] I enclose an order form from my company/institution for the
workshop registration (+ any extra nights)
NAME: EMAIL:
ADDRESS:
SIGNED: DATE:
Please email this form to or post to:
Judith Broom (Java Threads Workshop)
Computing Laboratory
University of Kent, Canterbury
Kent -- CT2 7NF
ENGLAND
(tel: +44 1227 827695; fax: +44 1227 762811)