Skip to main content
Log in

Procedure-Level Verification of Real-time Concurrent Systems

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

We want to develop verification techniques for real-time concurrent system specifications with high-level behavior structures. This work identifies two common engineering guidelines respected in the development of real-world software projects, structured programming and local autonomy in concurrent systems, and experiments with special verification algorithm based on those engineering wisdoms. The algorithm we have adopted respects the integrity of program structures, treats each procedure as an entity instead of as a group of statements, allows local state space search to exploit the local autonomy in concurrent systems without calculating the Cartesian products of local state spaces, and derives from each procedure declaration characteristic information which can be utilized in the verification process anywhere the procedure is invoked. We have endeavored to implement our idea, test it against an abstract extension of a real-world protocol in a mobile communication environment, and report the data.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Alur, R., Courcoubetis, C., and Dill, D. L. 1990. Model checking for real-time systems. IEEE LICS.

  • Alur, R., and Henzinger, T. A. 1994. A really temporal logic. Journal of ACM 41: 181–204

    Google Scholar 

  • Alur, R., Henzinger, T. A., and Ho, P.-H. 1993. Automatic symbolic cerification of embedded systems. Proceedings of 1993 IEEE Real-Time System Symposium.

  • Abdulla, P. A., and Jonsson, B. 1993. Verifying programs with unreliable channels. 8th IEEE International Symposium on Logic in Computer Science.

  • Aho, A. V., Sethi, R., and Ullman, J. D. 1986. Compliers-Principles, Techniques, and Tools, pp. 393–396. Addison-Wesley Publishing Company

  • Burch, J. R., Clarke, E. M., McMillan, K. L., Dill, D. L., and Hwang, L. J. 1990. Symbolic model checking: 1020 states and beyond. IEEE LICS.

  • Berthomieu, B., and Diaz, M. 1991. Modeling and verification of time dependent systems Using time Petri nets. IEEE TSE 17(3).

  • Boyer, R., and Moore, S. 1988. A Computational Logic Handbook. Academic Press.

  • Bosscher, D., Polak, I., and Vaandrager, F. 1994. Verification of an audio control protocol. Proceedings of Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems. LNCS, Springer-Verlag.

    Google Scholar 

  • Bryant, R. E. 1986. Graph-based algorithms for Boolean function manipulation. IEEE Trans.Comput. C-35(8).

  • Clarke, E., and Emerson, E. A. 1981. Design and synthesis of synchronization skeletons using branchingtime temporal logic.Proceedings of Workshop on Logic of Programs, Lecture Notes in Computer Science 131, Springer-Verlag.

  • Clarke, E., Emerson, E. A., and Sistla, A. P. 1986. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems 8(2): 244–263.

    Google Scholar 

  • Chandy, K. M., and Misra, J. 1988. Parallel Program Design: A Foundation. Addison-Wesley.

  • Deitel, H. M. 1984. An Introduction to Operating Systems, pp. 110–115. Addison-Wesley

  • Emerson, E. A., and Lei, C.-L. 1997. Modalities for model checking: Branching time logic strikes back. Science of Computer Programming 8, pp.275–306. Science Publishers B.V. (North-Holland).

    Google Scholar 

  • Gordon, M. J. C. HOL-A Proof Generating System for Higher-Order Logic. Computer Laboratory, Cambridge University, 1987.

    Google Scholar 

  • Hong, S., and Gerber, R. June 1993. Compiling real-time programs into schedulable code. ACM SIGPLAN'93 Conference on Programming Language Design and Implementation; ACM SIGPLAN Notices, 28(6).

  • Henzinger, T. A., Nicollin, X., Sifakis, J., and Yovine, S. 1992. Symbolic model checking for real-time systems. IEEE LICS.

  • Hoare, C. A. R. 1969. An axiomatic basis of computer programming. Comm.ACM 12: 576–583.

    Google Scholar 

  • Hoare, C. A. R. 1985. Communicating Sequential Processes. Prentice Hall.

  • Horowitz, E. 1984. Fundamentals of Programming Languages. Computer Science Press.

  • Hopcroft, J. E., and Ullman, J. D. 1979. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley.

  • Jahanian, F., and Mok, A. K. 1986. Safety analysis of timing properties in real-time systems. IEEE Transactions on Software Engineering SE-12(9): 890–904.

    Google Scholar 

  • Jahanian, F., and Stuart, D. A. 1988. A method for verifying properties of Modechart specifications. IEEE RTSS.

  • Jones, C. B. 1990. Systematic Software Development using VDM, 2nd ed. Prentice Hall.

  • Kesten, Y., Pnueli, A., Sifakis, J., and Yovine, S. 1993. Integration graphs: A class of decidable hybrid systems. Proc.Workshop on Theory of Hybrid Systems, LNCS 736. Springer-Verlag.

  • Lewis, H. R. 1979. Unsolvable Classes of Quantificational Formulus. Addison-Wesley Pub. Co.

  • McMillan, K. L. 1993. Symbolic Model Checking. Boston, MA: Kluwer Academic Publishers.

    Google Scholar 

  • Merlin, P., and Faber, D. J. Sept. 1976. Recoverability of communication protocols. IEEE Trans.Commun COM-24(9).

  • Milner, R. 1989. Communication and Concurrency. Prentice Hall.

  • Maler, O., Manna, Z., and Pnueli, A. 1991. From timed to hybrid systems. In Real Time: Theory in Practice, LNCS 600, pp. 447–484. Springer-Verlag.

  • Manna, Z., and Pnueli, A. 1993. Verifying hybrid systems. Proc.Workshop on Theory of Hybrid Systems, LNCS 736. Springer-Verlag.

  • Pressman, R. S. 1982. Software Engineering, A Practitioner's Approach. McGraw-Hill.

  • Slind, K. HOL90 Users Manual. Technical report, 1992.

  • Spivey, J. M. 1992. The Z Notation, A Reference Manual, second edition. Prentice Hall.

  • Satoh, I., and Tokoro, M. Semantics for a real-time object-oriented programming language. Proceedings of 1994 IEEE International Conference on Computer Languages.

  • Wang, F., Mok, A. K., and Emerson, E. A. Octobor 1993. Real-time distributed system specification and verifi-cation in APTL. ACM TOSEM 2(4): 346–378.

    Google Scholar 

  • Wang, F. 1995. Timing behavior analysis for real-time systems. IEEE LICS.

  • Wang, F. August 1995. Reachability analysis at procedure level through timing coincidence. Proceedings of the 6th CONCUR. Philadelphia, LNCS 962.

  • Wang, F. High-level execution time analysis. Proceedings of 1997 AMAST Real-Time Systems Workshop. Malleoca, Spain, LNCS 1231. Springer-Verlag. (An enhanced and more complete version is in IIS Technical Report: TR-IIS–97–009.

  • Wulf, W., Shaw, M., Hilfinger, P., and Flon, L. 1981. Fundamentals of Computer Science. Reading, Mass.: Addison-Wesley.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wang, F., Lo, CT. Procedure-Level Verification of Real-time Concurrent Systems. Real-Time Systems 16, 81–114 (1999). https://doi.org/10.1023/A:1008008003332

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008008003332

Navigation