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.
References
M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Computer Science, 82(2), 1991.
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.
P. Cousot and R. Cousot. Abstract interpretation: A unifyied lattice model for the static analysis of programs. In 4th ACM POPL, 1977.
E.W. Dijkstra. Self stabilizing systems in spite of distributed control. Communications of the ACM, 17(11), 1974.
T. Elrad and N. Francez. Decomposition of distributed programs into communication closed layers. Science of Computer Programming, 2, 1982.
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.
N. Francez. Fairness. Springer Verlag, New York, 1986.
R. Gerth, R. Kuiper, and J. Segers. Interface refinement in reactive systems. volume 630 of LNCS. Springer Verlag, 1992.
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.
F. Harary. Graph Theory. Addison Wesley, 1980.
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.
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.
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.
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.
S. Katz and D. Peled. Interleaving set temporal logic. Theoretical Computer Science, 75(3), 1990.
S. Katz and D. Peled. Defining conditional independence using collapses. Theoretical Computer Science, 101, 1992.
S. Katz and D. Peled. Verification of distributed programs using representative interleaving sequences. Distributed Computing, 6, 1992.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer Verlag, 1992.
A. Mazurkiewicz. Trace semantics, proceedings of an advanced course. volume 354 of LNCS, Bad Honnef, 1989.
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6, 1976.
M. Raynal and J.-P. Helary. Synchronization and control of distributed systems and programs. Wiley, 1990.
M. Siegel and F. Stomp. Extending the limits of sequentially phased reasoning. Technical Report 9411, University of Kiel, 1994.
F. Stomp. Derivation of a broadcasting protocol using sequentially phased reasoning. volume 430 of LNCS, 1990.
F. Stomp. Structured design of self-stabilizing programs. Proc. of the 2nd Isreal Symposium on Theory of Computing and Systems, 1993.
F. Stomp and W.P. de Roever. A correctness proof of a distributed minimum weight spanning tree algorithm. Proc. of the 7th ICDCS, 1987.
F. Stomp and W.P. de Roever. A principle for sequential phased reasoning about distributed algorithms. to appear in: Formal Aspects of Computing, 1994.
Author information
Authors and Affiliations
Editor information
Rights 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