Skip to main content
Log in

An experience in proving regular networks of processes by modular model checking

  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

This paper presents a complete example of the use of the synchronous declarative language LUSTRE for the specification, description and verification of a resource arbiter, which is a regular network of hardware devices. The fact that both programs and properties may be expressed in LUSTRE is used to perform an inductive verification. An invariant property of the network is found, and merged with the description program. Verification is performed by model checking.

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

  • [AK86] Apt, K.R., Kozen, D.C.: Limits for automatic verification of finite-state concurrent system. Inf. Process. Lett.22, 307–309 (1986)

    Google Scholar 

  • [BCM+89] Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, J.: Symbolic model checking: 1020 states and beyond. Technical report, Carnegie Mellon University, 1989

  • [BFH90] Bouajjani, A., Fernandez, J.C., Halbwachs, N.: On the verification of safety properties. Technical Report SPECTRE L12, IMAG, Grenoble, March 1990

    Google Scholar 

  • [Bry86] Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput.C-35(8), 677–691 (1986)

    Google Scholar 

  • [CBM89] Coudert, O., Berthet, C., Madre, J.C.: Verification of synchronous sequential machines based on symbolic execution. International Workshop on Automatic Verification Methods for Finite Sate Systems. (Lect. Notes Comput. Sci., vol. 407) Berlin Heidelberg New York: Springer 1989

    Google Scholar 

  • [CES86] Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. TOPLAS8(2), 244–263 (1986)

    Google Scholar 

  • [CGB86] Clarke, E.M., Grumberg, O., Browne, M.C.: Reasonning about networks with many identical finite-state processes. ACM Symposium on Principles of Distributed Computing, Calgary (Alberta), p. 240–248, August 1986

  • [CLM89] Clarke, E.M., Long, D.E., Mc Millan, K.L.: Compositional model checking. In: Fourth IEEE Symposium on Logic in Computer Science, June 1989

  • [CMB90] Coudert, O., Madre, J.C., Berthet, C.: Verifying temporal properties of sequential machines without building their state diagrams. International Workshop on Computer-Aided Verification, June 1990

  • [CPHP87] Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.: LUSTRE: a declarative language for programming synchronous systems. 14th ACM Symposium on Principles of Programming Languages, January 1987

  • [FM91] Fernandez, J.C., Mounier, L.: On the fly verification of behavioural equivalences and preorders. Workshop on Computer-Aided Verification, Aalborg (Denmark), June 1991

  • [GS90] Graf, S., Steffen, B.: Compositional minimization of finite state systems. Workshop on Computer-Aided Verification, June 1990

  • [HCRP91] Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language LUSTRE. Proceedings of the IEEE79(9): 1305–1320, September 1991

    Google Scholar 

  • [Hol87] Holzmann, G.J.: Automated protocol validation in ARGOS: Assertion proving and scatter searching. IEEE Trans. Software EngSE-13(6), 683–696 (1987)

    Google Scholar 

  • [HPOG89] Halbwachs, N., Pilaud, D., Ouabdesselam, F., Glory, A.C.: Specifying, programming and verifying real-time systems, using a synchronous declarative language. Workshop on Automatic Verification Methods for Finite State Systems. (Lect. Notes Comput. Sci., vol. 407, pp. 213–231). Berlin Heidelberg New York: Springer 1989

    Google Scholar 

  • [JJ89] Jard, C., Jéron, Th.: On-line model checking for finite linear temporal logic specifications. International Workshop on Automatic Verification Methods for Finite State Systems. (Lect. Notes Comput. Sci., vol. 407). Berlin Heidelberg New York: Springer 1989

    Google Scholar 

  • [KM89] Kurshan, R.P., McMillan, K.: A structural induction theorem for processes. 8th AC Symposium on Principles of Distributed Computing, Edmonton (Alberta), p. 239–247, August 1989

  • [LPZ85] Lichtenstein, O., Pnueli, A., Zuck, L.: The glory of the past. Conference on Logics of Programs. (Lect. Notes Comput. Sci., vol. 194, pp. 196–218). Berlin Heidelberg New York: Springer 1985

    Google Scholar 

  • [MP88] Manna, Z., Pnueli, A.: The anchored version of the temporal framework. In: Roever W.P. de, Bakker, J.W. de, Rozenberg, G. (eds.) Linear time, branching time and partial orders in logics and models for concurrency. (Lect. Notes Comput. Sci., vol. 354, pp. 201–284). Berlin Heidelberg New York: Springer 1988

    Google Scholar 

  • [QS82] Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in CESAR. International Symposium on Programming. (Lect. Notes Comput. Sci., vol. 137, pp. 337–351. Berlin Heidelberg New York: Springer 1982

    Google Scholar 

  • [RHR91] Ratel, C., Halbwachs, N., Raymond, P.: Programming and verifying critical systems by means of the synchronous data-flow programming language LUSTRE. ACMSIGSOFT'91 Conference on Software for Critical Systems. New Orleans, December 1991

  • [RRSV87] Richier, J.L., Rodriguez, C., Sifakis, J., Voiron, J.: Verification in XESAR of the sliding window protocol. IFIP WG-6.1 7th. International Conference on Protocol Specification, Testing and Verification. Amsterdam: North Holland 1987

    Google Scholar 

  • [SG87] Sistla, A.P., German, S.M.: Reasoning with many processes. Symposium on Logic in Computer Science, Ithaca, p. 138–152, June 1987

  • [Suz88] Suzuki, I.: Proving properties of a ring of finite-state machines. Int. Process. Lett.28, 213–214 (1988)

    Google Scholar 

  • [WL89] Wolper, P., Lovinfosse, V.: Verifying properties of large sets of processes with network invariants. International Workshop on Automatic Verification Methods for Finite State Systems. (Lect. Notes Comput. Sci., vol. 407, pp. 68–80). Berlin Heidelberg New York: Springer 1989

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was partially supported by ESPRIT Basic Research Action “SPEC” and by a grant from the French Department of Research and Technology

Rights and permissions

Reprints and permissions

About this article

Cite this article

Halbwachs, N., Lagnier, F. & Ratel, C. An experience in proving regular networks of processes by modular model checking. Acta Informatica 29, 523–543 (1992). https://doi.org/10.1007/BF01185559

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01185559

Keywords

Navigation