• 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