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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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.
Andrews, G.R. Concurrent Programming — Principles and Practice: The Benjamin / Cummings Publishing Company Ltd, 1991.
Apt, K.R., Francez, N., and Katz, S. ”Appraising fairness in languages for distributed programming,” Distributed Computing, vol. 2, pp. 226–241, 1988.
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.
Chandy, K.M. and Misra, J. Parallel Program Design: a Foundation: Addison-Wesley, 1988.
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.
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.
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.
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.
Cleaveland, R. and Hennessy, M. ”Priorities in process algebra,” Information and Computation, vol. 87(1/2), pp. 58–77, July/August 1990.
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.
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.
Giannakopoulou, D. ”Model Checking for Concurrent Software Architectures,” PhD Thesis, Dept. of Computing, Imperial College, London, March 1999.
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.
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.
Gribomont, P. and Wolper, P. ”Temporal Logic,” in From Modal Logic to Deductive Databases, A. Thayse, Ed.: John Wiley and Sons, 1989.
Hoare, C.A.R. Communicating Sequential Processes: Prentice-Hall, 1985.
Holzmann, G.J. Design and Validation of Computer Protocols: Prentice Hall, 1991.
Holzmann, G.J. ”The Model Checker SPIN,” IEEE Transactions on Software Engineering, vol. 23(5), pp. 279–295, May 1997.
Lamport, L. ”The Temporal Logic of Actions,” ACM Transactions on Programming Languages and Systems, vol. 16(3), pp. 872–923, May 1994.
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.
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.
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.
Manna, Z. and Pnueli, A. The Temporal Logic of Reactive and Concurrent Systems — Specification: Springer-Verlag, 1992.
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.
Phillips, I. ”Approaches to priority in process algebra,” Draft Report, Dept. of Computing, Imperial College, London, November 1994.
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.
Roscoe, A.W. The Theory and Practice of Concurrency: Prentice Hall, 1998.
Tarjan, R. ”Depth-First Search and Linear Graph Algorithms,” SIAM Journal of Computing, vol. 1, pp. 146–160, 1972.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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