Skip to main content

Modelchecking of CTL formulae under liveness assumptions

  • Temporal Logic, Concurrent Systems
  • Conference paper
  • First Online:
Automata, Languages and Programming (ICALP 1987)

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

Included in the following conference series:

Abstract

Our aim is a modular verification method for concurrent systems. To verify a module separated from the other components we have to assume some (correct) behaviour of these components concerning the interactions with the module under consideration. These reactions of the other modules can be described by liveness properties. Hence in a modular verification method we have to prove a formula under some liveness assumptions. A logic which is able to express the correctness of a subsystem under some liveness assumptions is e.g. CTL* or only its linear time part TL. But modelchecking for CTL* is exponential in the size of a given formula. Hence, often CTL is used instead of CTL* in specifications of concurrent systems as this logic has a linear modelchecking algorithm. But CTL has a restricted expressive power, e.g. it is not expressible that some property holds under some liveness assumption. But, as an algorithm which is exponential in the size of a given specification is too expensive, we are interested in an extension of CTL which is able to express our specifications for modules but whose modelchecking algorithm is better than exponential in the size of a given formula. In this paper we define a logic LCTL, which is an extension of CTL, where quantifications over paths are interpreted with respect to some liveness assumptions. i.e., formulae of LCTL are pairs (l,f) where I is a liveness assumption (expressed in TL) and f is a CTL formula. In that case the time complexity of the modelchecking algorithm has certainly an exponential factor, but it is better than the algorithm for CTL* since it is only exponential in the number of liveness assumptions and not in the length of the whole formula. As the number of liveness assumptions is small in real systems, this logic is useful for practical purposes. Furthermore, as liveness assumptions require a tracing of the history, there is no better modelchecking algorithm nor a smaller logic possible. For our logic LCTL we develop a modelchecker whose time complexity is O(|M|·|f|·exp(n)), where M is a given structure, (i,f) the given formula where I is a conjunction of n liveness assumptions.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. E.M. Clarke, E.A. Emerson, A.P. Sistia: Automatic verification of finite-state concurrent systems using temporal logic specifications: a practical approach. Tenth ACM Symposium on Principles of Programming Languages, 117–126 (1983)

    Google Scholar 

  2. E.M. Clarke, B. Mishra: Hierarchical verification of asynchronous circults using temporal logic. Theoretical Computer Science 38, 269–291 (1985)

    Article  Google Scholar 

  3. E.A. Emerson, J.Y. Halpern: Sometimes and not never revisted: On branching time versus linear time. 10th ACM Symposium on Principles of Programming Languages, 127–140 (1983)

    Google Scholar 

  4. E.A. Emerson, J.Y. Halpern: Decision procedures and expressiveness in the temporal logic of branching time. Journal of Computer and System Sciences 30, 1–24 (1985)

    Article  Google Scholar 

  5. E.A. Emerson, C.L. Lei: Modalities for model checking: branching time logic strikes back. Technical Report, Dep. of Computer Sciences, University of Texas (1985)

    Google Scholar 

  6. E.A. Emerson, C.L. Lei: Temporal reasoning under generalized fairness constraints. Proceedings STACS 86, Lecture Notes in Computer Science 210, 21–36 (1986)

    Google Scholar 

  7. B. Josko: Modelchecking of CTL formulae under liveness assumptions. Schriften zur Informatik und Angewandten Mathematik Nr. 124, RWTH Aachen (1986) (Full version of this paper)

    Google Scholar 

  8. B. Josko: Modular verification of concurrent systems. Technical Report, RWTH Aachen (To appear)

    Google Scholar 

  9. O. Lichtenstein, A. Pnuell: Checking that finite state concurrent programs satisfy their linear specification. 12th Annual ACM Symposium on Principles on Programming Languages, 97–107 (1985)

    Google Scholar 

  10. S.S. Owicki, L. Lamport: Proving Ilveness properties of concurrent programs. ACM Transactions on Programming Languages and Systems 4, 455–495 (1982)

    Article  Google Scholar 

  11. A.P. Sistia, E.M. Clarke: The complexity of propositional temporal logic. 14th ACM Symposium on Theory of Computing, 159–167 (1982)

    Google Scholar 

  12. R. Tarjan: Depth-first search and linear graph algorithms. SIAM Journal of Computing 1, 146–160 (1972)

    Google Scholar 

  13. VMEbus, Specification manual (1982)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Thomas Ottmann

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Josko, B. (1987). Modelchecking of CTL formulae under liveness assumptions. In: Ottmann, T. (eds) Automata, Languages and Programming. ICALP 1987. Lecture Notes in Computer Science, vol 267. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18088-5_23

Download citation

  • DOI: https://doi.org/10.1007/3-540-18088-5_23

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18088-3

  • Online ISBN: 978-3-540-47747-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics