Skip to main content

Verification of Value-Passing Systems

  • Conference paper
NAPAW 92

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

There are well known algorithms which automatically verify finite-state concurrent systems. This paper introduces techniques which can automatically verify systems with values of large or infinite sort which are not finite-state.

We show how to represent systems with values, specified in a process algebra, by a graph with parameters. This representation resembles a flow-chart. The size of the graph is independent of the size of the sorts. We show that by using this representation we can, in some cases, automatically check for bisimulation despite large or infinite sorts.

It is often beneficial to treat some parameters of a system combinatorially while others are treated directly. We present a static analysis to decide which parameters should be treated in each of these two ways. We combine this with a liveness analysis. This analysis leads to an automatic verification of the alternating bit protocol, for example, with the message values included in the specification.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques Tools. Addisson-Wesley, 1986.

    Google Scholar 

  2. G. Bruns and S. Anderson. The formalization and analysis of a communications protocol. Technical Report ECS-LFCS-91–137, LFCS, Dept of Computer Science, University of Edinburgh, The King’s Buildings, Edinburgh EH9 3JZ, April 1991.

    Google Scholar 

  3. G. Bruns. A language for value-passing CCS. Technical Report ECS-LFCS91–175, LFCS, Dept of Computer Science, University of Edinburgh, The King’s Buildings, Edinburgh EH9 3JZ, August 1991.

    Google Scholar 

  4. L. Cardelli and R. Pike. Squeak: a language for communicating with mice. In ACM SIGRAHP, volume 19, number 3, pages 199–204, July 1985.

    Google Scholar 

  5. M. Hennessy and H. Lin. Symbolic bisimulation. Technical Report 1/92, University of Sussex, Computer Science, School of Cognitive and Computing Sciences, Brighton BN1 9QH, April 1992.

    Google Scholar 

  6. C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.

    Google Scholar 

  7. U. Holmer. Translating static CCS agents into regular form. Technical Report 51, Programming Methodology Group, University of Göteborg and Chalmers University of Technology, S-412 96 Göteborg, Sweden, March 1989.

    Google Scholar 

  8. B. Jonsson and J. Parrow. Deciding Bisimulation equivalences for a class of non-finite-state programs. In Proc. 6th Symposium on Theoretical Aspects of Computer Science, volume 349 of LNCS, pages 421–433. SV, 1989.

    Google Scholar 

  9. G. Karjoth. Implementing process algebra specifications by state machines. In Protocol Specification, Testing, and Verification, VIII, pages 47–62. IFIP, 1988.

    Google Scholar 

  10. P. Kannellakis and S. Smolka. CCS expressions, finite state processes, and three problems of equivalence. Proceedings of the ACM Symposium on Principles of Distributed Computing, pages 228–240, 1983.

    Google Scholar 

  11. K. Larsen and R. Milner. A complete protocol verification using Relativized Bisimulation. Technical Report ECS-LFCS-86–13, LFCS, Dept of Computer Science, University of Edinburgh, The King’s Buildings, Edinburgh EH9 3JZ, September 1986.

    Google Scholar 

  12. R. Milner. Communication and Concurrency. Prentice-Hall 1989.

    Google Scholar 

  13. F. Moller. The Edinburgh Concurrency Workbench (Version 6.0). Dept of Computer Science, University of Edinburgh, The King’s Buildings, Edinburgh EH9 3JZ, 1991.

    Google Scholar 

  14. J. Parrow. Verifying a CSMA/CD-protocol with CCS. Technical Report ECS-LFCS-87–18, Dept of Computer Science, University of Edinburgh, The King’s Buildings, Edinburgh EH9 3JZ, 1987.

    Google Scholar 

  15. Z. Schreiber. Verification and analysis of value-passing CCS programs with infinite sorts. Technical Report DoC 92/9, Department of Computing, Imperial College of Science, Technology & Medicine, 180 Queen’s Gate, London SW7 2BZ, June 1992.

    Google Scholar 

  16. P. Wolper. Expressing interesting properties of programs in propositional temporal logic (extended abstract). In Proc. 13th ACM Principles of Programming Languages, pages 184–193, January 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 British Computer Society

About this paper

Cite this paper

Schreiber, Z. (1993). Verification of Value-Passing Systems. In: Purushothaman, S., Zwarico, A. (eds) NAPAW 92. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3217-2_9

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3217-2_9

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19822-2

  • Online ISBN: 978-1-4471-3217-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics