[ Po polsku ]

Language Design for Atomicity, Declarative Synchronization, and Dynamic Update in Communicating Systems

Pawel T. Wojciechowski

The Poznań University of Technology Press, Poznań, 2007


There is a growing interest in the design of new programming languages that combine features such as concurrency (or parallelism) and possibility of adding new code during program execution. These features support multi-core CPUs and dynamic software updating. Example applications are distributed services that must run "non-stop", e.g. financial trading, telephone switches, flight reservations, and air traffic control. Stopping "non-stop" services results in loss of revenue; it may also compromise safety. The service providers must be therefore able to repair, update or extend their systems with minimal service interruption. Dynamically updatable, distributed systems can be implemented using popular programming languages, that allow software components to be loaded and bound dynamically. However, in order to facilitate programming, and be able to guarantee robustness, novel programming abstractions are needed.

In this book, we design novel language constructs and runtime algorithms for atomicity, declarative synchronization, and dynamic protocol update. They can be used to build communicating systems from modular protocols, that can be replaced dynamically.

The book has the following structure:

A preprint is available in PDF and Postscript. Any comments are very welcome.

Pawel [dot] T [dot] Wojciechowski [at] put.poznan.pl
Last modified: Sat Apr 19 20:10:49 CEST 2008