From CSP-OZ to Java with processes

The language CSP-OZ has been proposed as a combination of CSP and Object-Z to define state and communication aspects of concurrent systems. In this paper we present rules that support a transformational approach to the development of concurrent Java programs from CSP-OZ specifications. Even though Java is very successful, its facilities for communication are very restricted and we make use of a library that supports the use of the concept of processes. Our work uses an existing refinement calculus for Z, but includes novel rules to deal with classes and CSP processes.

[1]  Heike Wehrheim,et al.  Model-Checking CSP-OZ Specifications with FDR , 1999, IFM.

[2]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[3]  Augusto Sampaio,et al.  Model-checking CSP-Z: strategy, tool support and industrial application , 2001, Sci. Comput. Program..

[4]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .

[5]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[6]  Johannes F. Broenink,et al.  Communicating Java Threads , 1997 .

[7]  Clemens Fischer CSP-OZ: a combination of object-Z and CSP , 1997 .

[8]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[9]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[10]  Ana Cavalcanti,et al.  A Weakest Precondition Semantics for Refinement of Object-Oriented Programs , 2000, IEEE Trans. Software Eng..

[11]  Michael Goldsmith,et al.  Programming in occam 2 , 1985, Prentice Hall international series in computer science.

[12]  Ana Cavalcanti,et al.  A Weakest Precondition Semantics for an Object-Oriented Language of Refinement , 1999, World Congress on Formal Methods.

[13]  Augusto Sampaio,et al.  Basic Laws of ROOL: an object-oriented language , 2000, RITA.

[14]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[15]  Augusto Sampaio,et al.  Model-Checking CSP-Z , 1998, FASE.

[16]  David A. Carrington,et al.  Object-Z: An Object-Oriented Extension to Z , 1989, FORTE.

[17]  Paulo Borba,et al.  Where are the Laws of Object-Oriented Programming? , 1998 .