Advertisement

Verification of reactive systems using DisCo and PVS

  • Pertti Kellomäki
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1313)

Abstract

We have provided mechanical verification support for DisCo, an object oriented language and method for the specification of reactive systems. The paper has two main contributions. The first one is a mapping of object oriented specifications to the PVS theorem prover, where their invariant properties can be mechanically verified. The second one is the use of the theorem prover together with the animation facility of the DisCo environment when strengthening invariants.

Keywords

Temporal Logic Theorem Prover Formal Verification High Order Logic State Predicate 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    The DisCo project home page. http://www.cs.tut.fi/laitos/DisCo/.Google Scholar
  2. 2.
    Sten Agerholm. Translating specifications in VDM-SL to PVS. In J. von Wright, T. Grundy, and J. Harrison, editors, Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics, volume 1125 of Lecture Notes in Computer Science, pages 1–16. Springer-Verlag, 1996.Google Scholar
  3. 3.
    F. Andersen, K. D. Petersen, and J. S. Petterson. Program verification using HOLUNITY. In J. J. Joyce and C.-J.H Seger, editors, International Workshop on Higher Order Logic and its Applications, volume 780 of Lecture Notes in Computer Science, pages 1–16, 1994.Google Scholar
  4. 4.
    R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513–554, October 1988.CrossRefGoogle Scholar
  5. 5.
    R. J. R. Back and R. Kurki-Suonio. Decentralization of process nets with a centralized control. Distributed Computing, (3):73–87, 1989.Google Scholar
  6. 6.
    K. A. Bartlett, R. A. Scantlebury, and P. T. Wilkinson. A note on reliable full-duplex transmission over half-duplex links. Communications of the ACM, 12(5):260–261, May 1969.Google Scholar
  7. 7.
    K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar
  8. 8.
    Zhou Chaochen, C. A. R. Hoare, and Anders P. Ravn. A calculus of durations. Information Processing Letters, 40(5):269–276, December 1991.Google Scholar
  9. 9.
    B. Chetali. Formal Verification of Concurrent Programs: How to specify UNITY using the Larch Prover. Technical Report RR 2475, INRIA-Lorraine, Nancy, France, January 1995.Google Scholar
  10. 10.
    Ching-Tsun Chou. Mechanical verification of distributed algorithms in higher-order logic. The Computer Journal, 38(1), 1995.Google Scholar
  11. 11.
    Urban Engberg, Peter Grønning, and Leslie Lamport. Mechanical verification of concurrent systems with TLA. In G. v. Bochmann and D. K. Probst, editors, Computer Aided Verification–Fourth International Workshop. CAV'92. Montreal, Canada. June 29–July 1, volume 663 of Lecture Notes in Computer Science. Springer-Verlag, 1992.Google Scholar
  12. 12.
    David Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3):231–274, June 1987.CrossRefGoogle Scholar
  13. 13.
    K. Havelund and N. Shankar. Experiments in theorem proving and model checking for protocol verification. Lecture Notes in Computer Science, 1051, 1996.Google Scholar
  14. 14.
    Barbara Heyd and Pierre Crégut. A modular coding of UNITY in COQ. In J. von Wright, T. Grundy, and J. Harrison, editors, Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics, volume 1125 of Lecture Notes in Computer Science, pages 251–266, 1996.Google Scholar
  15. 15.
    Haxmu-Matti Jarvinen. The Design of a Specification Language for Reactive Systems. PhD thesis, Tampere University of Technology, 1992.Google Scholar
  16. 16.
    S. Kalvala. A formulation of TLA in Isabelle. Lecture Notes in Computer Science, 971, 1995.Google Scholar
  17. 17.
    Reino Kurki-Suonio, Hannu-Matti Järvinen, Markku Sakkinen, and Kari Systä. Object-oriented specification of reactive systems. In Proceedings of the 12th International Conference on Software Engineering, pages 63–71. IEEE Computer Society Press, 1990.Google Scholar
  18. 18.
    Leslie Lamport. The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, May 1994.Google Scholar
  19. 19.
    Thomas Långbacka. A HOL formalization of the temporal logic of actions. volume 859 of Lecture Notes in Computer Science. Springer Verlag, 1994.Google Scholar
  20. 20.
    S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In Deepak Kapur, editor, 11th International Conference on Automated Deduction, volume 607 of Lecture Notes in Artificial Intelligence, pages 748–752. Springer Verlag, 1992.Google Scholar
  21. 21.
    Jens U. Skakkebaek and N. Shankar. Towards a Duration Calculus proof assistant in PVS. In H. Langmaack, W.-P. de Roever, and J. Vytopil, editors, Formal Techniques in Real-Time and Fault-Tolerant Systems, volume 863 of Lecture Notes in Computer Science, pages 660–679, Lübeck, Germany, September 1994. Springer-Verlag.Google Scholar
  22. 22.
    J. von Wright and T. Långbacka. Using a theorem prover for reasoning about concurrent algorithms. In G. v. Bochmann and D. K. Probst, editors, Computer Aided Verification — Fourth International Workshop. CAV'92. Montreal, Canada. June 29–July 1, volume 663 of Lecture Notes in Computer Science. Springer Verlag, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Pertti Kellomäki
    • 1
  1. 1.Software Systems LaboratoryTampere University of TechnologyFinland

Personalised recommendations