Formal specification and verification of the pGVT algorithm

  • Balakrishnan Kannikeswaran
  • Radharamanan Radhakrishnan
  • Peter Frey
  • Perry Alexander
  • Philip A. Wilsey
Session 6: Larch and LP
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1051)


The time warp mechanism is a technique for optimistically synchronizing Parallel and distributed Discrete Event-driven Simulators (PDES). Within this synchronization paradigm lie numerous parallel algorithms, chief among them being an estimation of the Global Virtual Time (GVT) value for fossil collection and output commit. Because the optimistic synchronization strategy allows for temporary violations of causal relations in the system being simulated, developing algorithms that correctly estimate GVT can prove extremely difficult. Testing and debugging can also prove difficult as error situations are frequently not repeatable due to varying load conditions and processing orders. Consequently, the application of formal methods to develop and analyze such algorithms are of extreme importance. This paper addresses the application of formal methods for the development of GVT estimation algorithms. More precisely, the paper presents a formal specification for and verification of one specific GVT estimation algorithm, the pGVT algorithm. The specifications are presented in the Larch Shared Language and verification completed using the Larch Proof Assistant. The ultimate goal of this work is to develop a reusable infrastructure for GVT proof development that can be used by developers of new GVT estimation algorithms.


Formal Method Critical Path Logical Process Proof Obligation Error Situation 
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.


  1. 1.
    Bauer, H., and Sporrer, C. Distributed logic simulation and an approach to asynchronous GVT-calculation. In 6th Workshop on Parallel and Distributed Simulation (January 1992), Society for Computer Simulation, pp. 205–208.Google Scholar
  2. 2.
    Blank, T. A survey of hardware accelerators used in computer-aided design. IEEE Design and Test of Computers 1, 4 (August 1984), 21–39.Google Scholar
  3. 3.
    Chandy, K. M., and Misra, J. Asynchronous distributed simulation via a sequence of parallel computations. Communications of the ACM 24, 11 (April 1981), 198–206.Google Scholar
  4. 4.
    Chandy, K. M., and Sherman, R. Space-time and simulation. In Distributed Simulation (1989), Society for Computer Simulation, pp. 53–57.Google Scholar
  5. 5.
    Denneau, M., Kronstadt, E., and Pfister, G. Design and implementation of a software simulation engine. Computer-Aided Design 15, 3 (May 1983), 123–130.Google Scholar
  6. 6.
    D'Souza, L. M. Global virtual time estimation algorithms in optimistically synchronized distributed discrete event driven simulation. Master's thesis, University of Cincinnati, Cincinnati, Ohio, May 1994.Google Scholar
  7. 7.
    D'Souza, L. M., Fan, X., and Wilsey, P. A. pGVT: An algorithm for accurate GVT estimation. In Proc. of the 8th Workshop on Parallel and Distributed Simulation (PADS 94) (July 1994), Society for Computer Simulation, pp. 102–109.Google Scholar
  8. 8.
    Fishwick, P. A. Simulation Model Design and Execution: Building Digital Worlds. Prentice Hall, Englewood Cliffs, NJ, 1995.Google Scholar
  9. 9.
    Fujimoto, R. Parallel discrete event simulation. Communications of the ACM 33, 10 (October 1990), 30–53.Google Scholar
  10. 10.
    Garland, S. J., and Guttag, J. V. A guide to LP, the Larch Prover. Tech. rep., TR 82, DEC/SRC, December 1991.Google Scholar
  11. 11.
    Guttag, J. V., and Horning, J. J. Larch: Languages and Tools for Formal Specification. Springer-Verlag, New York, NY, 1993.Google Scholar
  12. 12.
    Hoare, C. A. R. Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs, 1985.Google Scholar
  13. 13.
    Jefferson, D. Virtual time. ACM Transactions on Programming Languages and Systems 7, 3 (July 1985), 405–425.Google Scholar
  14. 14.
    Knuth, D. E., and Bendix, P. B. Simple word problems in universal algebras. In Computational Problems in Abstract Algebra, J. Leech, Ed. Pergamon Press, 1970.Google Scholar
  15. 15.
    Lin, Y.-B., and Lazowska, E. Determining the global virtual time in a distributed simulation. In 1990 International Conference on Parallel Processing (1990), pp. III-201–III-209.Google Scholar
  16. 16.
    Lincoln, P., and Rushby, J. Formal verification of an algorithm for interactive consistency under a hybrid fault model. In Computer-Aided Verification, CAV'93 (June/July 1993), C. Courcoubetis, Ed., vol. 697 of Lecture Notes in Computer Science, Springer-Verlag, pp. 292–304.Google Scholar
  17. 17.
    Martin, D. E., McBrayer, T., and Wilsey, P. A. warped: A time warp simulation kernel for analysis and application development, 1995. (available on the www at∼paw/warped/).Google Scholar
  18. 18.
    Martin, D. E., McBrayer, T. J., and Wilsey, P. A. warped: A time warp simulation kernel for analysis and application development. In 29th Hawaii International Conference on System Sciences (HICSS-29) (January 1996). (forthcoming)Google Scholar
  19. 19.
    Mattern, F. Effecient algorithms for distributed snapshots and global virtual time approximation. Journal of Parallel and Distributed Computing 18, 4 (August 1993), 423–434.Google Scholar
  20. 20.
    Misra, J. Distributed discrete-event simulation. Computing Surveys 18, 1 (March 1986), 39–65.Google Scholar
  21. 21.
    Owre, S., Rushby, J., Shankar, N., and von Henke, F. Formal verification for fault-tolerant architectures: Prolegomena to the design of pvs. IEEE Transactions on Software Engineering 27(2) (February 1995), 107–125.Google Scholar
  22. 22.
    Penix, J., Alexander, P., Martin, D., and Wilsey, P. A. Formal specification and partial verification of LVT in a time warp simulation kernel, 1995.Google Scholar
  23. 23.
    Rushby, J. A formally verified algorithm for clock synchronization under a hybrid fault model. 13th ACM Symposium on Principles of Distributed Computing(PODC'94) (August 1994), 304–313.Google Scholar
  24. 24.
    Samadi, B. Distributed Simulation, Algorithms and Performance Analysis. PhD thesis, Computer Science Department, University of California, Los Angeles, CA, 1985.Google Scholar
  25. 25.
    Spivey, J. M. Understanding Z: A Specification Language and its Formal Semantics. Cambridge University Press, Cambridge, 1988.Google Scholar
  26. 26.
    Tomlinson, A. I., and Garg, V. K. An algorithm for minimally latent global virtual time. In Proc of the 7th Workshop on Parallel and Distributed Simulation (PADS) (July 1993), Society for Computer Simulation, pp. 35–42.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Balakrishnan Kannikeswaran
    • 1
  • Radharamanan Radhakrishnan
    • 1
  • Peter Frey
    • 1
  • Perry Alexander
    • 1
  • Philip A. Wilsey
    • 1
  1. 1.Computer Architecture Design Laboratory, Dept of ECECSUniversity of CincinnatiCincinnati

Personalised recommendations