Skip to main content

Checking Progress with Action Priority: Is it Fair?

  • Conference paper
  • First Online:

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

Abstract

The liveness characteristics of a system are intimately related to the notion of fairness. However, the task of explicitly modelling fairness constraints is complicated in practice. To address this issue, we propose to check LTS (Labelled Transition System) models under a strong fairness assumption, which can be relaxed with the use of action priority. The combination of the two provides a novel and practical way of dealing with fairness. The approach is presented in the context of a class of liveness properties termed progress, for which it yields an efficient model-checking algorithm. Progress properties cover a wide range of interesting properties of systems, while presenting a clear intuitive meaning to users.

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   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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aggarwal, S., Courcoubetis, C., and Wolper, P. ”Adding Liveness Properties to Coupled Finite-State Machines,” ACM Transactions on Programming Languages and Systems, vol. 12(2), pp. 303–339, April 1990.

    Article  Google Scholar 

  2. Andrews, G.R. Concurrent Programming — Principles and Practice: The Benjamin / Cummings Publishing Company Ltd, 1991.

    Google Scholar 

  3. Apt, K.R., Francez, N., and Katz, S. ”Appraising fairness in languages for distributed programming,” Distributed Computing, vol. 2, pp. 226–241, 1988.

    Article  Google Scholar 

  4. Bhat, G., Cleaveland, R., and Lüttgen, G. ”Dynamic priorities for modeling real-time,” in Proc. of the Formal Description Techniques and Protocol Specification, Testing and Verification (FORTE X/PSTV XVII’ 97), Osaka, November 1997, pp. 321–336. T. Mizuno, N. Shiratori, T. Higashino, and A. Togashi, Eds.

    Google Scholar 

  5. Chandy, K.M. and Misra, J. Parallel Program Design: a Foundation: Addison-Wesley, 1988.

    Google Scholar 

  6. Cheung, S.C., Giannakopoulou, D., and Kramer, J. ”Verification of Liveness Properties using Compositional Reachability Analysis,” in Proc. of the 6th European Software Engineering Conference held jointly with the 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE’97), Zurich, Switzerland, September 1997. Lecture Notes in Computer Science 1301, pp. 227–243. M. Jazayeri and H. Schauer, Eds.

    Google Scholar 

  7. Cheung, S.C. and Kramer, J. ”Checking Subsystem Safety Properties in Compositional Reachability Analysis,” in Proc. of the 18th International Conference on Software Engineering (ICSE’18), Berlin, Germany, March 1996, pp. 144–154.

    Google Scholar 

  8. Clarke, E.M., Emerson, E.A., and Sistla, A.P. ”Automatic Verification of Finite State Concurrent Systems Using Temporal Logic Specifications,” ACM Transactions on Programming Languages and Systems, vol. 8(2), pp. 244–263, 1986.

    Article  Google Scholar 

  9. Clarke, E.M. and Wing, J.M. ”Formal Methods: State of the Art and Future Directions,” ACM Computing Surveys, vol. 28(4), December 1996, pp. 626–643.

    Article  Google Scholar 

  10. Cleaveland, R. and Hennessy, M. ”Priorities in process algebra,” Information and Computation, vol. 87(1/2), pp. 58–77, July/August 1990.

    Article  MathSciNet  Google Scholar 

  11. Dwyer, M., Avrunin, G., and Corbett, J. ”Patterns in property Specifications for Finite-State Verification,” in Proc. of the 21st International Conference on Software Engineering (ICSE’99), Los Angeles, CA, 16–22 May 1999, pp. 411–420.

    Google Scholar 

  12. Gerth, R., Peled, D., Vardi, M.Y., and Wolper, P. ”Simple On-the-fly Automatic Verification of Linear Temporal Logic,” in Proc. of the 15th IFIP/WG6.1 Symposium on Protocol Specification, Testing and Verification (PSTV’95), Warsaw, Poland, June 1995, pp. 3–18.

    Google Scholar 

  13. Giannakopoulou, D. ”Model Checking for Concurrent Software Architectures,” PhD Thesis, Dept. of Computing, Imperial College, London, March 1999.

    Google Scholar 

  14. Giannakopoulou, D., Kramer, J., and Cheung, S.C. ”Analysing the Behaviour of Distributed Systems using Tracta,” Journal of Automated Software Engineering, special issue on Automated Analysis of Software, vol. 6(1), January 1999. R. Cleaveland and D. Jackson, Eds.

    Google Scholar 

  15. Godefroid, P. and Holzmann, G.J. ”On the Verification of Temporal Properties,” in Proc. of the 13th IFIP WG 6.1 International Symposium on Protocol Specification, Testing, and Verification (PSTV’93), Liège, Belgium, June 1993, pp. 109–124. A. Danthine, G. Leduc, and P. Wolper, Eds.

    Google Scholar 

  16. Gribomont, P. and Wolper, P. ”Temporal Logic,” in From Modal Logic to Deductive Databases, A. Thayse, Ed.: John Wiley and Sons, 1989.

    Google Scholar 

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

    Google Scholar 

  18. Holzmann, G.J. Design and Validation of Computer Protocols: Prentice Hall, 1991.

    Google Scholar 

  19. Holzmann, G.J. ”The Model Checker SPIN,” IEEE Transactions on Software Engineering, vol. 23(5), pp. 279–295, May 1997.

    Article  Google Scholar 

  20. Lamport, L. ”The Temporal Logic of Actions,” ACM Transactions on Programming Languages and Systems, vol. 16(3), pp. 872–923, May 1994.

    Article  Google Scholar 

  21. Lehmann, D., Pnueli, A., and Stavi, J. ”Impartiality, Justice and Fairness: The ethics of concurrent termination,” in Proc. of the 8th International Colloquium on Automata, Languages and Programming, Acre (Akko), Israel, July 13–17, 1981. Lecture Notes in Computer Science 115, pp. 264–277. S. Even and O. Kariv, Eds.

    Chapter  Google Scholar 

  22. Magee, J., Kramer, J., and Giannakopoulou, D. ”Analysing the Behaviour of Distributed Software Architectures: a Case Study,” in Proc. of the 5th IEEE Workshop on Future Trends of Distributed Computing Systems, Tunis, Tunisia, October 1997, pp. 240–245.

    Google Scholar 

  23. Magee, J., Kramer, J., and Giannakopoulou, D. ”Software Architecture Directed Behaviour Analysis,” in Proc. of the Ninth IEEE International Workshop on Software Specification and Design (IWSSD-9), Ise-shima, Japan, April 16–18 1998, pp. 144–146.

    Google Scholar 

  24. Manna, Z. and Pnueli, A. The Temporal Logic of Reactive and Concurrent Systems — Specification: Springer-Verlag, 1992.

    Google Scholar 

  25. Natarajan, V. and Cleaveland, R. ”Divergence and Fair Testing,” in Proc. of the Automata, Languages and Programming (ICALP’ 95), Szeged, Hungary, July 1995. Lecture Notes in Computer Science 944, pp. 648–659. Z. Fulop and F. Gecseg, Eds.

    Chapter  Google Scholar 

  26. Phillips, I. ”Approaches to priority in process algebra,” Draft Report, Dept. of Computing, Imperial College, London, November 1994.

    Google Scholar 

  27. Queille, J.P. and Sifakis, J. ”Fairness and Related Properties in Transition Systems — A Temporal Logic to Deal with Fairness,” Acta Informatica, vol. 19, pp. 195–220, 1983.

    Article  MathSciNet  Google Scholar 

  28. Roscoe, A.W. The Theory and Practice of Concurrency: Prentice Hall, 1998.

    Google Scholar 

  29. Tarjan, R. ”Depth-First Search and Linear Graph Algorithms,” SIAM Journal of Computing, vol. 1, pp. 146–160, 1972.

    Article  MathSciNet  Google Scholar 

  30. Vardi, M.Y. and Wolper, P. ”An automata-theoretic approach to automatic program verification,” in Proc. of the 1st Symposium on Logic in Computer Science, Cambridge, June 1986, pp. 322–331.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Giannakopoulou, D., Magee, J., Kramer, J. (1999). Checking Progress with Action Priority: Is it Fair?. In: Nierstrasz, O., Lemoine, M. (eds) Software Engineering — ESEC/FSE ’99. ESEC SIGSOFT FSE 1999 1999. Lecture Notes in Computer Science, vol 1687. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48166-4_31

Download citation

  • DOI: https://doi.org/10.1007/3-540-48166-4_31

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66538-0

  • Online ISBN: 978-3-540-48166-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics