Skip to main content

Extending the limits of sequentially phased reasoning

Extended abstract

  • Verification
  • Conference paper
  • First Online:

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

Abstract

Verification via abstraction is the topic of concluding correctness of a complicated program from correctness of an abstraction of this program. Principles for sequentially phased reasoning are examples of verification via abstraction. They use permutation equivalences to abstract concurrent programs which logically work in phases to considerably simpler variants which perform these phases sequentially. It is shown in this paper that there are classes of concurrent programs, such as self-stabilizing ones, which logically work in phases but cannot be abstracted to a sequentialized version using permutation equivalence. A new class of so-called Ω-equivalences is defined which generalizes permutation equivalence and stutter equivalence. It is proved that both equivalences are indeed special cases of Ω-equivalences. A verification strategy based on Ω-equivalences is formulated and compared with existing approaches for sequentially phased reasoning. The strategy is applied to a self-stabilizing coloring program that can neither be abstracted by permutation nor by stutter equivalences to a sequentialized version.

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

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. Theoretical Computer Science, 82(2), 1991.

    Google Scholar 

  2. H. Barringer, R. Kuiper, and A. Pnueli. Now you may compose temporal logic specifications. In Proc. of the 16th Annual ACM Symp. on Theory of Computing, 1984.

    Google Scholar 

  3. P. Cousot and R. Cousot. Abstract interpretation: A unifyied lattice model for the static analysis of programs. In 4th ACM POPL, 1977.

    Google Scholar 

  4. E.W. Dijkstra. Self stabilizing systems in spite of distributed control. Communications of the ACM, 17(11), 1974.

    Google Scholar 

  5. T. Elrad and N. Francez. Decomposition of distributed programs into communication closed layers. Science of Computer Programming, 2, 1982.

    Google Scholar 

  6. L. Fix, N. Francez, and O. Grumberg. Semantics driven decompositions for the verification of distributed programs. In IFIP TC2 workshop on programming concepts and methods, 1990.

    Google Scholar 

  7. N. Francez. Fairness. Springer Verlag, New York, 1986.

    Google Scholar 

  8. R. Gerth, R. Kuiper, and J. Segers. Interface refinement in reactive systems. volume 630 of LNCS. Springer Verlag, 1992.

    Google Scholar 

  9. S. Ghosh and M.H. Karaata. A self stabilizing algorithm for graph coloring. In Proceedings of the 29th Allerton Conference on Control, Communication, and Computing, October 1991.

    Google Scholar 

  10. F. Harary. Graph Theory. Addison Wesley, 1980.

    Google Scholar 

  11. W. Janssen, M. Poel, and J. Zwiers. Action systems and action refinement in the development of parallel systems. volume 527 of LNCS. Springer-Verlag, 1991.

    Google Scholar 

  12. W. Janssen, M. Poel, and J. Zwiers. The compositional approach to sequential consistency and lazy caching. In R. Gerth, editor, Verifying sequentially consistent memory. 1993. To be published in a special issue of Distributed Computing.

    Google Scholar 

  13. W. Janssen and J. Zwiers. From sequential layers to distributed processes — deriving a minimum weight spanning tree algorithm. In Proceedings of the ACM Symposium on Principles of Distributed Computing, 1992.

    Google Scholar 

  14. W. Janssen and J. Zwiers. Protocol design by layered decomposition, a compositional approach. In Proceedings Formal Techniques in Real Time and Fault Tolerant Systems, volume 571 of LNCS, 1992.

    Google Scholar 

  15. S. Katz and D. Peled. Interleaving set temporal logic. Theoretical Computer Science, 75(3), 1990.

    Google Scholar 

  16. S. Katz and D. Peled. Defining conditional independence using collapses. Theoretical Computer Science, 101, 1992.

    Google Scholar 

  17. S. Katz and D. Peled. Verification of distributed programs using representative interleaving sequences. Distributed Computing, 6, 1992.

    Google Scholar 

  18. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer Verlag, 1992.

    Google Scholar 

  19. A. Mazurkiewicz. Trace semantics, proceedings of an advanced course. volume 354 of LNCS, Bad Honnef, 1989.

    Google Scholar 

  20. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6, 1976.

    Google Scholar 

  21. M. Raynal and J.-P. Helary. Synchronization and control of distributed systems and programs. Wiley, 1990.

    Google Scholar 

  22. M. Siegel and F. Stomp. Extending the limits of sequentially phased reasoning. Technical Report 9411, University of Kiel, 1994.

    Google Scholar 

  23. F. Stomp. Derivation of a broadcasting protocol using sequentially phased reasoning. volume 430 of LNCS, 1990.

    Google Scholar 

  24. F. Stomp. Structured design of self-stabilizing programs. Proc. of the 2nd Isreal Symposium on Theory of Computing and Systems, 1993.

    Google Scholar 

  25. F. Stomp and W.P. de Roever. A correctness proof of a distributed minimum weight spanning tree algorithm. Proc. of the 7th ICDCS, 1987.

    Google Scholar 

  26. F. Stomp and W.P. de Roever. A principle for sequential phased reasoning about distributed algorithms. to appear in: Formal Aspects of Computing, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. S. Thiagarajan

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Siegel, M., Stomp, F.A. (1994). Extending the limits of sequentially phased reasoning. In: Thiagarajan, P.S. (eds) Foundation of Software Technology and Theoretical Computer Science. FSTTCS 1994. Lecture Notes in Computer Science, vol 880. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58715-2_141

Download citation

  • DOI: https://doi.org/10.1007/3-540-58715-2_141

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58715-6

  • Online ISBN: 978-3-540-49054-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics