Academia.eduAcademia.edu

Outline

Model Checking Conformance with Scenario-Based Specifications

2003, Lecture Notes in Computer Science

https://doi.org/10.1007/978-3-540-45069-6_32

Abstract

Specifications that describe typical scenarios of operations have become common for software applications, using, for example, use-cases of UML. For a system to conform with such a specification, every execution sequence must be equivalent to one in which the specified scenarios occur sequentially, where we consider computations to be equivalent if they only differ in that independent operations may occur in a different order. A general framework is presented to check the conformance of systems with such specifications using model checking. Given a model and additional information including a description of the scenarios and of the operations' independence, an augmented model using a transducer and temporal logic assertions for it are automatically defined and model checked. In the augmentation, a small window with part of the history of operations is added to the state variables. New transitions are defined that exchange the order of independent operations, and that identify and remove completed scenarios. If the model checker proves all the generated assertions, every computation is equivalent to some sequence of the specified scenarios. A new technique is presented that allows proving equivalence with a small fixed-size window in the presence of unbounded out-of-order of operations from unrelated scenarios. This key technique is based on the prediction of events, and the use of anti-events to guarantee that predicted events will actually occur. A prototype implementation based on Cadence SMV is described.

References (18)

  1. R. Alur, R. K. Brayton, T. A. Henzinger, S. Qadeer, and S. K. Rajamani. Partial-order reduc- tion in symbolic state space exploration. In Computer Aided Verification (CAV'97), volume 1254 of LNCS, pages 340-351. Springer-Verlag, 1997.
  2. T. Braun, A. Condon, A. J . Hu, K. S. Juse, M. Laza, M. Leslie, and R. Sharma. Proving sequential consistency by model checking. In Proc. 6th IEEE High Level Design Validation and Test Workshop, (HLDVT'01), pages 103-108, December 2001.
  3. M. Glusman and S. Katz. A mechanized proof environment for the convenient com- putations proof method. Formal Methods in System Design. To appear. Available at http://www.cs.technion.ac.il/Labs/ssdl/pub/conv_PVS.
  4. M. Glusman and S. Katz. Mechanizing proofs of computation equivalence. In N. Halbwachs and D. Peled, editors, Computer-Aided Verification, (CAV'99), volume 1633 of LNCS, pages 354-367. Springer-Verlag, 1999.
  5. M. Glusman and S. Katz. Extending memory consistency of finite prefixes to infinite com- putations. In K. G. Larsen and M. Nielsen, editors, Proc. 12th Int. Conf. on Concurrency Theory, CONCUR'01, volume 2154 of LNCS, pages 411-425. Springer-Verlag, 2001.
  6. T. A. Henzinger, S. Qadeer, and S. Rajamani. Verifying sequential consistency on shared- memory multiprocessor systems. In N. Halbwachs and D. Peled, editors, Computer-Aided Verification, (CAV'99), volume 1633 of LNCS, pages 301-315. Springer-Verlag, 1999.
  7. G. J. Holzmann and D. Peled. The state of SPIN. In Computer Aided Verification (CAV'96), volume 1102 of LNCS, pages 385-389. Springer-Verlag, 1996.
  8. B. Jonsson, A. Pnueli, and C. Rump. Proving refinement using transduction. Distributed Computing, 12:129-149, 1999.
  9. S. Katz. Refinement with global equivalence proofs in temporal logic. In D. Peled, V. Pratt, and G. Holzmann, editors, Partial Order Methods in Verification, volume 29 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pages 59-78. American Mathematical Society, 1997.
  10. S. Katz and D. Peled. Defining conditional independence using collapses. Theoretical Com- puter Science, 101:337-359, 1992.
  11. S. Katz and D. Peled. Verification of distributed programs using representative interleaving sequences. Distributed Computing, 6:107-120, 1992.
  12. M. Kwiatkowska. Fairness for Non-Interleaving Concurrency. PhD thesis, Dept. of Com- puting Studies, Leicester, 1989.
  13. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems -Safety. Springer-Verlag, 1995.
  14. A. Mazurkiewicz. Trace theory. In W. Brauer, W. Reisig, and editors G. Rozenburg, editors, Petri Nets: Applications and Relationships to Other Models of Concurrency, volume 255 of LNCS, pages 279-324. Springer-Verlag, 1986.
  15. Ken L. McMillan. Getting Started With SMV. Cadence Berkley Labs, 2001 Addison St. Berkley, CA, March 1999.
  16. G. L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12(3):115-116, 1981.
  17. A. Valmari. A stubborn attack on state explosion. In Proc. 2nd. Workshop on Computer- Aided Verification, volume 531 of LNCS, pages 156-165. Springer-Verlag, 1990.
  18. P. Wolper and P. Godefroid. Partial-order methods for temporal verification. In E. Best, edi- tor, Proceedings of the 4th International Conference on Concurrency Theory (CONCUR'93), volume 715 of LNCS, 1993.