Abstract
In modular verification the specification of a module consists of two parts. One part describes the guaranteed behavior of the module. The other part describes the assumed behavior of the system in which the module is interacting. This is called the assume-guarantee paradigm. In this paper we consider assume-guarantee specifications in which the guarantee is specified by branching temporal formulas. We distinguish between two approaches. In the first approach, the assumption is specified by branching temporal formulas. In the second approach, the assumption is specified by linear temporal logic. We consider guarantees in ∀CTL and ∀CTL; the universal fragments of CTL and CTL, and assumptions in LTL, ∀CTL, and ∀CTL. We describe a reduction of modular model checking to standard model checking. Using the reduction, we show that modular model checking is PSPACE-complete for ∀CTL and is EXPSPACE-complete for ∀CTL. We then show that the case of LTL assumption is a special case of the case of ∀CTL assumption, but that the EXPSPACE-hardness result apply already to assumptions in LTL.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This paper is based on “On the complexity of modular model checking”, by M.Y. Vardi, Proc. 10th IEEE Symp. on Logic in Computer Science (LICS’95), June 1995, pp. 101–111, and “On the complexity of branching modular model checking”, by O. Kupferman and M.Y. Vardi, Proc. 6th International Conf. on Concurrency Theory (CONCUR’95), August 1995, Springer-Verlag, Lecture Notes in Computer Science 962, pp. 408–422.
Supported in part by ONR YIP award N00014-95-1-0520, by NSF CAREER award CCR-9501708, by NSF grant CCR-9504469, by AFOSR contract F49620-93-1-0056, by ARO MURI grant DAAH-04-96-1-0341, by ARPA grant NAG2-892, and by SRC contract 95-DC-324.036.
Supported in part by NSF grants CCR-9628400 and CCR-9700061, and by a grant from the Intel Corporation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi and L. Lamport. Composing specifications. ACM Transactions on Programming Languages and Systems, 15(1):73–132, 1993.
A. Aziz, T.R. Shiple, V. Singhal, and A.L. Sangiovanni-Vincentelli. Formula-dependent equivalence for compositional CTL model checking. In Proc. 6th Conf. on Computer Aided Verification, volume 818 of Lecture Notes in Computer Science, pages 324–337, Stanford, CA, June 1994. Springer-Verlag.
J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang. Symbolic model checking: 1020 states and beyond. In Proc. 5th Symposium on Logic in Computer Science, pages 428–439, Philadelphia, June 1990.
E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244–263, January 1986.
E.M. Clarke and O. Grumberg. Research on automatic verification of finitestate concurrent systems. In Annual Review of Computer Science, volume 2, pages 269–290, 1987.
E.M. Clarke, O. Grumberg, and D. Long. Verification tools for finitestate concurrent systems. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Decade of Concurrency-Refections and Perspectives (Proceedings of REX School), volume 803 of Lecture Notes in Computer Science, pages 124–175. Springer-Verlag, 1993.
E.M. Clarke, D.E. Long, and K.L. McMillan. Compositional model checking. In R. Parikh, editor, Proc. 4th IEEE Symposium on Logic in Computer Science, pages 353–362. IEEE Computer Society Press, 1989.
W. Damm, G. D.ohmen, V. Gerstner, and B. Josko. Modular verification of Petri nets: the temporal logic approach. In Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness (Proceedings of REX Workshop), volume 430 of Lecture Notes in Computer Science, pages 180–207, Mook, The Netherlands, May/June 1989. Springer-Verlag.
D. Dams, O. Grumberg, and R. Gerth. Generation of reduced models for checking fragments of CTL. In Proc. 5th Conf. on Computer Aided Verification, volume 697 of Lecture Notes in Computer Science, pages 479–490. Springer-Verlag, June 1993.
E.A. Emerson and J.Y. Halpern. Decision procedures and expressiveness in the temporal logic of branching time. Journal of Computer and System Sciences, 30:1–24, 1985.
E.A. Emerson and J.Y. Halpern. Sometimes and not never revisited: On branching versus linear time. Journal of the ACM, 33(1):151–178, 1986.
E.A. Emerson and C. Jutla. The complexity of tree automata and logics of programs. In Proc. 29th IEEE Symposium on Foundations of Computer Science, pages 368–377, White Plains, October 1988.
E.A. Emerson and C.-L. Lei. Modalities for model checking: Branching time logic strikes back. In Proc. 20th ACM Symposium on Principles of Programming Languages, pages 84–96, New Orleans, January 1985.
E.A. Emerson and C.-L. Lei. Temporal model checking under generalized fairness constraints. In Proc. 18th Hawaii International Conference on System Sciences, North Holywood, 1985. Western Periodicals Company.
E.A. Emerson and C.-L. Lei. Modalities for model checking: Branching time logic strikes back. Science of Computer Programming, 8:275–306, 1987.
O. Grumberg and D.E. Long. Model checking and modular verification. In Proc. 2nd Conferance on Concurrency Theory, volume 527 of Lecture Notes in Computer Science, pages 250–265. Springer-Verlag, 1991.
O. Grumberg and D.E. Long. Model checking and modular verification. ACM Trans. on Programming Languages and Systems, 16(3):843–871, 1994.
C.B. Jones. Specification and design of (parallel) programs. In R.E.A. Mason, editor, Information Processing 83: Proc. IFIP 9th World Congress, pages 321–332. IFIP, North-Holland, 1983.
B. Josko. MCTL-an extension of CTL for modular verification of concurrent systems. In Temporal Logic in Specification, Proceedings, volume 398 of Lecture Notes in Computer Science, pages 165–187, Altrincham, UK, April 1987. Springer-Verlag.
B. Josko. Model checking of CTL formulae under liveness assumptions. In Proc. 14th Colloq. on Automata, Programming, and Languages (ICALP), volume 267 of Lecture Notes in Computer Science, pages 280–289. Springer-Verlag, July 1987.
B. Josko. Verifying the correctness of AADL modules using model chekcing. In Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness (Proceedings of REX Workshop), volume 430 of Lecture Notes in Computer Science, pages 386–400, Mook, The Netherlands, May/June 1989. Springer-Verlag.
B. Jonsson and Y.-K. Tsay. Assumption/guarantee specifications in lineartime temporal logic. In P.D. Mosses, M. Nielsen, and M.I. Schwartzbach, editors, TAPSOFT’ 95: Theory and Practice of Software Development, volume 915 of Lecture Notes in Computer Science, pages 262–276, Aarhus, Denmark, May 1995. Springer-Verlag.
O. Kupferman and M.Y. Vardi. On the complexity of branching modular model checking. In Proc. 6th Conferance on Concurrency Theory, volume 962 of Lecture Notes in Computer Science, pages 408–422, Philadelphia, August 1995. Springer-Verlag.
L. Lamport. Sometimes is sometimes “not never”-on the temporal logic of programs. In Proc. 7th ACM Symposium on Principles of Programming Languages, pages 174–185, January 1980.
L. Lamport. Specifying concurrent program modules. ACM Trans. on Programming Languages and Systenms, 5:190–222, 1983.
O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proc. 12th ACM Symposium on Principles of Programming Languages, pages 97–107, New Orleans, January 1985.
B. Misra and K.M. Chandy. Proofs of networks of processes. IEEE Trans. on Software Engineering, 7:417–426, 1981.
R. Milner. An algebraic definition of simulation between programs. In Proc. 2nd International Joint Conference onArtificial Intelligence, pages 481–489. British Computer Society, September 1971.
A. Pnueli. The temporal logic of programs. In Proc. 18th IEEE Symposium on Foundation of Computer Science, pages 46–57, 1977.
A. Pnueli. The temporal semantics of concurrent programs. Theoretical Computer Science, 13:45–60, 1981.
A. Pnueli. Applications of temporal logic to the specification and verification of reactive systems: A survey of current trends. In Proc. Advanced School on Current Trends in Concurrency, pages 510–584, Berlin, 1985. Volume 224, LNCS, Springer-Verlag.
A. Pnueli. In transition from global to modular temporal reasoning about programs. In K. Apt, editor, Logics and Models of Concurrent Systems, volume F-13 of NATO Advanced Summer Institutes, pages 123–144. Springer-Verlag, 1985.
J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. In Proc. 5th International Symp. on Programming, volume 137, pages 337–351. Springer-Verlag, Lecture Notes in Computer Science, 1981.
S. Safra. Complexity of automata on infinite objects. PhD thesis, Weizmann Institute of Science, Rehovot, Israel, 1989.
A.P. Sistla and E.M. Clarke. The complexity of propositional linear temporal logic. Journal ACM, 32:733–749, 1985.
M.Y. Vardi and L. Stockmeyer. Improved upper and lower bounds for modal logics of programs. In Proc 17th ACM Symp. on Theory of Computing, pages 240–251, 1985.
M.Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proc. First Symposium on Logic in Computer Science, pages 322–331, Cambridge, June 1986.
M.Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, November 1994.
P. Wolper. On the relation of programs and computations to models of temporal logic. In B. Banieqbal, H. Barringer, and A. Pnueli, editors, Proc. Temporal Logic in Specification, volume 398, pages 75–123. Lecture Notes in Computer Science, Springer-Verlag, 1989.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kupferman, O., Vardi, M.Y. (1998). Modular Model Checking. In: de Roever, WP., Langmaack, H., Pnueli, A. (eds) Compositionality: The Significant Difference. COMPOS 1997. Lecture Notes in Computer Science, vol 1536. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49213-5_14
Download citation
DOI: https://doi.org/10.1007/3-540-49213-5_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65493-3
Online ISBN: 978-3-540-49213-9
eBook Packages: Springer Book Archive