%T Mobile Data, Dynamic Allocation and Zero Aliasing: An occam Experiment
%A Peter H. Welch, Frederick R. M. Barnes
%E Alan G. Chalmers, Majid Mirmehdi, Henk Muller
%B Communicating Process Architectures 2001
%X Traditional imperative languages (such as C) and modern
object\-oriented languages are plagued by uncontrolled
resource aliasing problems. Add in concurrency and the
problems compound exponentially. Improperly synchronised
access to shared (i.e. aliased) resources leads to problems
of race\-hazard, deadlock, livelock and starvation. This
paper describes the binding into occam (a concurrent
processing language based on CSP) of a secure, dynamic and
efficient way of sharing data between parallel processes
with minimal synchronisation overheads. The key new
facilities provided are: a movement semantics for assignment
and communication, strict zero\-aliasing, apparently dynamic
memory allocation and automatic
zero\-or\-very\-small\-unit\-time garbage collection. The
implementation of this mechanism is also presented, along
with some initial performance figures (e.g. 80ns for mobile
communication on an 800 MHz Pentium 3). With occam becoming
available on a variety of microprocessors for GUI building,
internet services and small\-memory\-footprint embedded
products, these capabilities are timely. Lessons are drawn
for concurrency back in OO languages \- and especially for
the JCSP (CSP for Java) package library.
If you have any comments on this database, including inaccuracies, requests to remove or add information, or suggestions for improvement, the WoTUG web team are happy to hear of them. We will do our best to resolve problems to everyone's satisfaction.
Copyright for the papers presented in this database normally resides with the authors; please contact them directly for more information. Addresses are normally presented in the full paper.
Pages © WoTUG, or the indicated author. All Rights Reserved.
Comments on these web pages should be addressed to: www at wotug.org