Automatic translation from combined B and CSP specification to java programs

  • Authors:
  • Letu Yang;Michael R. Poppleton

  • Affiliations:
  • Dependable Systems and Software Engineering, University of Southampton, Southampton, UK;Dependable Systems and Software Engineering, University of Southampton, Southampton, UK

  • Venue:
  • B'07 Proceedings of the 7th international conference on Formal Specification and Development in B
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

A recent contribution to the formal specification and verification of concurrent systems is the integration of the state- and event-based approaches B and CSP, specifically in the ProB model checking tool. At the implementation end of the development, concurrent programming in Java remains a demanding and error-prone activity, because of the need to verify critical properties of safety and liveness as well as functional correctness. This work contributes to the automated development of concurrent Java programs from such integrated specifications. The JCSP package was originally designed as a proven clean Java concurrency vehicle for the implementation of certain CSP specifications. In the context of best current Java concurrent programming practice, we extend the original JCSP package to support the integrated B and CSP specification by implementing new channel classes. We propose rules for the automated translation of the integrated specification to multi-threaded Java using the extended JCSP channel classes. We briefly present a prototype translation tool which extends ProB, with a worked example, and conclude with a strategy for formally verifying the translation.