Skip to main content

Script: A Communication Abstraction Mechanism and its Verification

  • Conference paper

Part of the book series: NATO ASI Series ((NATO ASI F,volume 13))

Abstract

In this paper, we introduce a new abstraction mechanism, called a script,which hides the low-level details that implement patterns of communication. A script localizes the communication between a set of roles (formal processes), to which actual processes enroll to participate in the action of the script. The paper discusses the addition of scripts to the languages CSP and Ada, and to a shared-variable language with monitors. Proof rules are presented for proving partial correctness and freedom from deadlock in concurrent programs using scripts.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. R. Apt, N. Francez, and W. P. De Roever. A proof system for communicating sequential processes. ACM Transactions on Programming Languages and Systems 2 (3): 359–385, July 1980.

    Article  MATH  Google Scholar 

  2. K. R. Apt. Ten years of Hoare logic: A survey (part 1). ACM Transactions on Programming Languages and Systems 3 (4): 431–483, October 1981.

    Article  MATH  Google Scholar 

  3. K. R. Apt. Formal justification of a proof system for communicating sequential processes. Journal of the ACM 30 (1): 197–216, January 1983.

    Article  MATH  MathSciNet  Google Scholar 

  4. P. Brinch Hansen. The programming language Concurrent Pascal. IEEE Transactions on Software Engineering SE-1(2): 199–207, June 1975.

    Google Scholar 

  5. T. Elrad and N. Francez. Decomposition of distributed programs into communication-closed layers. Science of Computer Programming, North Holland. 2: 155–173, 1982.

    MATH  Google Scholar 

  6. N. Francez. Extended naming conventions for communicating processes. Proceedings of the Ninth Annual ACM Symposium on Principles of Programming Languages (Albuquerque), pages 40–45, January 1982.

    Google Scholar 

  7. N. Francez and S. Yemini. A fully abstract and composable inter-task communication construct. Submitted to ACM Transactions on Programming Languages and Systems. Draft, 1983.

    Google Scholar 

  8. R. Gerth and W. P. de Roever. A proof system for concurrent Ada programs. To appear in Science of Computer Programming, North Holland.

    Google Scholar 

  9. D. Gries and G. Levin. Assignment and procedure call proof rules. ACM Transactions on Programming Languages and Systems 2 (4): 564–579, October 1980.

    Article  MATH  Google Scholar 

  10. B. Hailpern and S. Owicki. Modular verification of concurrent programs. Proceedings of the Ninth ACM Symposium on Principles of Programming Languages (Albuquerque), pages 322–336, January 1982.

    Google Scholar 

  11. P. Hilfinger, G. Feldman, R. Fitzgerald, I. Kimura, R. L. London, KVS Prasad, VR Prasad, J. Rosenberg, M. Shaw, and W. A. Wulf (editor). An informal definition of Alphard (preliminary). Technical report CMU-CS-78–105, Carnegie-Mellon University, February 1978.

    Google Scholar 

  12. P. N. Hilfinger. Implementation strategies for Ada tasking idioms. Proceedings of the ACM-AdaTEC Conference on Ada ( Arlington ), October 1982.

    Google Scholar 

  13. C. A. R. Hoare. Procedures and parameters: An axiomatic approach. In E. Engler, editor, Symposium on Semantics of Algorithmic Languages, pages 102–116. Notes in Mathematics, volume 188. Springer Verlag, 1971.

    Chapter  Google Scholar 

  14. C. A. R. Hoare. Communicating sequential processes. Communications of the ACM 21 (8): 666–677, August 1978.

    Article  MATH  MathSciNet  Google Scholar 

  15. M. Joseph. Schemes for communication. Technical report CMU-CS-81–122, Carnegie-Mellon University, June 1981.

    Google Scholar 

  16. H. F. Korth. Edge locks and deadlock avoidance in distributed systems. Proceedings of ACM Symposium on Principles of Distributed Computing (Ottawa), pages 173–182, August 1982.

    Google Scholar 

  17. D. A. Lamb and P. N. Hilfinger. Simulation of procedure variables using Ada tasks. IEEE Transactions on Software Engineering SE-9(1): 13–15, January 1983.

    Article  Google Scholar 

  18. L. Lamport. Specifying concurrent program modules. ACM Transactions on Programming Languages and Systems 5 (2): 190–222, April 1983.

    Article  MATH  Google Scholar 

  19. B. H. Liskov, R. A. Atkinson, T. Bloom, J. E. Schaffert, R. W. Scheifler, and A. Snyder. CLU Reference Manual. Lecture Notes in Computer Science, volume 114. Springer-Verlag, 1981.

    Google Scholar 

  20. J. G. Mitchell, William Maybury, and Richard Sweet. Mesa language manual (version 5.0). CSL-79–3, Xerox Palo Alto Research Center, April 1979.

    Google Scholar 

  21. S. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica 6: 319–340, 1976.

    Article  MATH  MathSciNet  Google Scholar 

  22. Richard Rashid and George Robertson. Accent: A communication oriented network operating system kernel. Proceedings of the Eight Symposium on Operating Systems Principles (Asilomar), pages 64–75, ACM, December 1981.

    Google Scholar 

  23. L. G. Reid. Control and communication in programming systems. Technical report CMU-CS-80–142, Carnegie-Mellon University, September 1980.

    Google Scholar 

  24. J. Skansholm. Multicast and synchronization in distributed systems. Research report, Department of Computer Science, University of Goteborg, 1981.

    Google Scholar 

  25. United States Department of Defense. Reference Manual for the Ada Programming Language. ACM-AdaTEC, July 1982.

    Google Scholar 

  26. D. W. Wall. Mechanisms for Broadcast and Selective Broadcast. Ph.D. Thesis, Stanford University, 1980. Available as technical report 190, Computer Systems Laboratory, Stanford University, June 1980.

    Google Scholar 

  27. N. Wirth. Modula: A language for modular multiprogramming Software Practice and Experience 7 (1): 3–35, January-February 1977.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1985 Springer-Verlag Heidelberg

About this paper

Cite this paper

Francez, N., Hailpern, B., Taubenfeld, G. (1985). Script: A Communication Abstraction Mechanism and its Verification. In: Apt, K.R. (eds) Logics and Models of Concurrent Systems. NATO ASI Series, vol 13. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-82453-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-82453-1_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-82455-5

  • Online ISBN: 978-3-642-82453-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics