Skip to main content

Data refinement of remote procedures

  • Session 4
  • Conference paper
  • First Online:
Theoretical Aspects of Computer Software (TACS 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1281))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Lamport. The existence of refinement mappings. In Proc. of the 3rd Annual IEEE Symp. on Logic In Computer Science, Edinburgh, pp. 165–175, 1988.

    Google Scholar 

  2. R. J. R. Back. On the Correctness of Refinement Steps in Program Development. PhD thesis, Department of Computer Science, University of Helsinki, Helsinki, Finland, 1978. Report A-1978-4.

    Google Scholar 

  3. R. J. R. Back. Procedural abstraction in the refinement calculus. Department of Computer Science, Åbo Akademi University, Turku, Finland, 1987. Report A-55.

    Google Scholar 

  4. R. J. R. Back. Refinement calculus, part II: Parallel and reactive programs. In J. W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness. Proceedings. 1989, volume 430 of Lecture Notes in Computer Science, pp. 67–93. Springer-Verlag, 1990.

    Google Scholar 

  5. R. J. R. Back and R. Kurki-Suonio. Decentralization of process nets with centralized control. In Proc. of the 2nd ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing, pp. 131–142, 1983.

    Google Scholar 

  6. R. J. R. Back, A. J. Martin and K. Sere. Specifying the Caltech asynchronous microprocessor. Science of Computer Programming 26 (1996), pp. 79–97, Elsevier.

    Google Scholar 

  7. R. J. R. Back and K. Sere. Stepwise refinement of parallel algorithms. Science of Computer Programming 13, pp. 133–180, 1989.

    Google Scholar 

  8. R. J. R. Back and K. Sere. Action systems with synchronous communication. In E.-R. Olderog, editor, Programming Concepts, Methods and Calculi (PROCOMET'94), IFIP Transactions A-56, pp. 107–126, North-Holland I994.

    Google Scholar 

  9. R. J. R. Back and J. von Wright. Refinement calculus, part I: Sequential nondeterministic programs. In J. W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness. Proceedings. 1989, volume 430 of Lecture Notes in Computer Science, pp. 42–66. Springer-Verlag, 1990.

    Google Scholar 

  10. R. J. R. Back and J. von Wright. Trace refinement of action systems. In Proc. of CONCUR'94. LNCS 836, pages 367–384, Uppsala, Sweden, August 1994. Springer-Verlag.

    Google Scholar 

  11. M. Broy, S. Merz and K. Spies, editors. Formal Systems Specification: The RPC-Memory Specification Case Study. Proceedings, volume 1169 of Lecture Notes in Computer Science. Springer-Verlag, 1996.

    Google Scholar 

  12. K. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.

    Google Scholar 

  13. E. W. Dijkstra. A Discipline of Programming. Prentice-Hall International, 1976.

    Google Scholar 

  14. N. Francez. Cooperating proofs for distributed programs with multiparty interactions. Information Processing Letters, 32:235–242, 1989.

    Google Scholar 

  15. R. Kurki-Suonio. Incremental specification with joint actions: The RPC-memory specification problem. In [11].

    Google Scholar 

  16. C. Morgan. Procedures, parameters, and abstraction: Separate concerns. Science of Computer Programming, 11(1):17–28, 1988.

    Google Scholar 

  17. C. C. Morgan. The specification statement. ACM Transactions on Programming Languages and Systems, 10(3):403–419, July 1988.

    Google Scholar 

  18. J. M. Morris. A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming, 9:287–306, 1987.

    Google Scholar 

  19. A. S. Tanenbaum. Modern Operating Systems. Prentice-Hall International, 1992.

    Google Scholar 

  20. R. Udink Program Refinement in UNITY-like Environments. PhD thesis, Department of Computer Science, University of Utrecht, Utrecht, The Netherlands, 1995.

    Google Scholar 

  21. M. Waldén Formal derivation of a distributed load balancing algorithm. Series A-172, Reports on Computer Science and Mathematics, Åbo Akademi University, Finland, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Martín Abadi Takayasu Ito

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sere, K., Waldén, M. (1997). Data refinement of remote procedures. In: Abadi, M., Ito, T. (eds) Theoretical Aspects of Computer Software. TACS 1997. Lecture Notes in Computer Science, vol 1281. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014556

Download citation

  • DOI: https://doi.org/10.1007/BFb0014556

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63388-4

  • Online ISBN: 978-3-540-69530-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics