Skip to main content

Verification and refinement of distributed programs in a fair framework

  • Papers
  • Conference paper
  • First Online:
Transformation-Based Reactive Systems Development (ARTS 1997)

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

Abstract

In this paper, we present a technique to prove progress properties of non-terminating concurrent programs and to refine them in such a way that these properties are preserved. We rely on strong fairness assumptions about the language implementation.

We define a simple language based on Hoare-78 CSP. A program denotes a set of finite and infinite traces corresponding to all its possible computations. The semantics of a program is defined as the set of its fair traces. We also give a liveness-preserving implementation notion. Proof rules concerning progress properties and correction of refinements are given. We show that these proof rules are consistent with the given fair semantics. Finally, we verify and refine a non-trivial case study.

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. K. R. Apt and E.-R. Olderog. Verification of Sequential and Concurrent Programs. Springer-Verlag, 1991.

    Google Scholar 

  2. K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison Wesley, Reading, Massachusetts, 1988.

    MATH  Google Scholar 

  3. K.M. Chandy and J. Misra. Proof of Distributed Algorithms: An Exercise. In C.A.R. Hoare, editor, Development in Concurrency and Communication, pages 305–332. Addison Wesley, 1990.

    Google Scholar 

  4. N. Francez. Fairness. Springer-Verlag, 1986.

    Google Scholar 

  5. N. Francez. Program Verification. Addison-Wesley, 1992.

    Google Scholar 

  6. L.A. Galán and R. Peña. Verification and Refinement of Distributed Programs in a Fair Framework. Technical Report DIA-UCM 97/47, Universidad Complutense de Madrid, 1997.

    Google Scholar 

  7. C. A. R. Hoare. Communicating Sequential Processes. Comm. ACM, 21:666–677, 1978.

    Article  MATH  Google Scholar 

  8. L. Lamport. Proving the Correctness of Multiprocess Programs. IEEE Trans. on Software Engineering, SE-3(2): 125–143, March 1977.

    Article  MathSciNet  MATH  Google Scholar 

  9. E.-R. Olderog and K. R. Apt. Fairness in Parallel Programs, the Transformational Approach. ACM Transactions on Programming Languages, 10(3):420–455, July 1988.

    Article  Google Scholar 

  10. S. S. Owicki and L. Lamport. Proving Liveness Properties of Concurrent Programs. ACM TOPLAS, 4(3):455–495, July 1982.

    Article  MATH  Google Scholar 

  11. J. Parrow. Fairness Properties in Process Algebra. Ph.D. thesis. Department of Computer Science, Uppsala University, Sweden, 1986.

    Google Scholar 

  12. A. Pnueli. The Temporal Logic of Programs. In 18th Symp. on the Foundations of Computer Science, pages 46–47, November 1977.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Miquel Bertran Teodor Rus

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Galán, L.A., Peña, R. (1997). Verification and refinement of distributed programs in a fair framework. In: Bertran, M., Rus, T. (eds) Transformation-Based Reactive Systems Development. ARTS 1997. Lecture Notes in Computer Science, vol 1231. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63010-4_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-63010-4_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-69058-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics