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 :
بازگشت