Data Refinement of Remote Procedures

Abstract. Recently the action systems formalism for parallel and distributed systems has been extended with the procedure mechanism. This gives us a very general framework for describing different communication paradigms for action systems, e.g. remote procedure calls. Action systems come with a design methodology based on the refinement calculus. Data refinement is a powerful technique for refining action systems. In this paper we will develop a theory and proof rules for the refinement of action systems that communicate via remote procedures based on the data refinement approach. The proof rules we develop are compositional so that modular refinement of action systems is supported. As an example we will especially study the atomicity refinement of actions. This is an important refinement strategy, as it potentially increases the degree of parallelism in an action system.

[1]  Ralph-Johan Back,et al.  Trace Refinement of Action Systems , 1994, CONCUR.

[2]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[3]  Nissim Francez Cooperating Proofs for Distributed Programs with Multiparty Interactions , 1989, Inf. Process. Lett..

[4]  Ralph-Johan Back,et al.  Refinement Calculus, Part II: Parallel and Reactive Programs , 1989, REX Workshop.

[5]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[6]  Kaisa Sere,et al.  Stepwise Refinement of Parallel Algorithms , 1990, Sci. Comput. Program..

[7]  Joseph M. Morris,et al.  A Theoretical Basis for Stepwise Refinement and the Programming Calculus , 1987, Sci. Comput. Program..

[8]  Ralph-Johan Back,et al.  Refinement Calculus, Part I: Sequential Nondeterministic Programs , 1989, REX Workshop.

[9]  Kaisa Sere,et al.  Specifying the Caltech Asynchronous Microprocessor , 1996, Sci. Comput. Program..

[10]  Carroll Morgan Procedures, parameters, and abstraction: Separate concerns , 1988, Sci. Comput. Program..

[11]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[12]  Carroll Morgan,et al.  The specification statement , 1988, TOPL.

[13]  Kaisa Sere,et al.  Action Systems with Synchronous Communication , 1994, PROCOMET.

[14]  Kaisa Sere,et al.  An Approach to Object-Orientation in Action Systems , 1998, MPC.

[15]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[16]  Manfred Broy,et al.  Formal Systems Specification, The RPC-Memory Specification Case Study (the book grow out of a Dagstuhl Seminar, September 1994) , 1996 .

[17]  Ralph-Johan Back,et al.  Decentralization of process nets with centralized control , 1983, PODC '83.

[18]  Rob T. Udink,et al.  Program refinement in UNITY-like environments , 1995 .

[19]  Reino Kurki-Suonio Incremental Specification with Joint Actions: The RPC-Memory Specification Problem , 1994, Formal Systems Specification.