DocumentCode
2081297
Title
A CSP model for Java multithreading
Author
Welch, Peter H. ; Martin, Jeremy M R
Author_Institution
Comput. Lab., Kent Univ., Canterbury, UK
fYear
2000
fDate
2000
Firstpage
114
Lastpage
122
Abstract
Java threads are synchronised through primitives based upon monitor concepts developed in the early 1970s. The semantics of Java´s primitives have only been presented in natural language-this paper remedies this with a simple and formal CSP model. In view of the difficulties encountered in reasoning about any non-trivial interactions between Java threads, being able to perform that reasoning in a formal context (where careless errors can be highlighted by mechanical checks) should be a considerable confidence boost. Further automated model-checking tools can be used to root out dangerous states (such as deadlock and livelock), find overlooked race hazards and prove equivalence between algorithms (e.g. between optimised and unoptimised versions). A case study using the CSP model to prove the correctness of the JCSP channel implementation (which is built in terms of standard Java monitor synchronisations) is presented
Keywords
Java; communicating sequential processes; multi-threading; synchronisation; system monitoring; CSP model; JCSP channel implementation; Java monitor synchronisation; Java multithreading; Java primitives semantics; algorithm equivalence proving; automated model-checking tools; correctness proving; nontrivial interactions; race hazards; reasoning; Communicating sequential processes;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering for Parallel and Distributed Systems, 2000. Proceedings. International Symposium on
Conference_Location
Limerick
Print_ISBN
0-7695-0634-8
Type
conf
DOI
10.1109/PDSE.2000.847856
Filename
847856
Link To Document