Advertisement

Formal Methods in System Design

, Volume 6, Issue 1, pp 11–44 | Cite as

Property preserving abstractions for the verification of concurrent systems

  • C. Loiseaux
  • S. Graf
  • J. Sifakis
  • A. Bouajjani
  • S. Bensalem
  • David Probst
Article

Abstract

We study property preserving transformations for reactive systems. The main idea is the use of simulations parameterized by Galois connections (α, γ), relating the lattices of properties of two systems. We propose and study a notion of preservation of properties expressed by formulas of a logic, by a function α mapping sets of states of a systemS into sets of states of a systemS'. We give results on the preservation of properties expressed in sublanguages of the branching time μ-calculus when two systemsS andS' are related via (α, γ)-simulations. They can be used to verify a property for a system by verifying the same property on a simpler system which is an abstraction of it. We show also under which conditions abstraction of concurrent systems can be computed from the abstraction of their components. This allows a compositional application of the proposed verification method.

This is a revised version of the papers [2] and [16]; the results are fully developed in [28].

Keywords

abstract interpretation simulation property preservation model-checking 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    M. Abadi and L. Lamport. The existence of refinement mappings.Theoretical Computer Science, 82 (2), 1991. First published as Report SRC-29, DEC Research Center in 1988.Google Scholar
  2. 2.
    A. Bouajjani, S. Bensalem, C. Loiseaux, and J. Sifakis. Property preserving simulations. InWorkshop on Computer-Aided Verification (CAV), Montréal. LNCS 630, June 1992.Google Scholar
  3. 3.
    A. Bouajjani, J.-C. Fernandez, S. Graf, J. Sifakis, and C. Rodriguez, “Safety for branching semantics,” In18th ICALP, Madrid. LNCS 510, Springer Verlag, 1991.Google Scholar
  4. 4.
    A. Bouajjani, “From Linear-Time Propositional Temporal Logics to a Branching-Time μ-calculus,” RTC 15, LGI-IMAG, Grenoble, 1989.Google Scholar
  5. 5.
    R. E. Bryant, “Graph based algorithms for boolean function manipulation,”IEEE Trans. on Computation, 35 (8), 1986.Google Scholar
  6. 6.
    J. R. Büchi, “On a decision method in restricted second order arithmetic,” InInternational Congress on Logic, Method and Philosophical Science. Stanford University Press, 1962.Google Scholar
  7. 7.
    P. Cousot and R. Cousot, “Systematic design of program analysis framework,” InProc. 6th ACM Symp. on Principle of Programming Languages, 1979.Google Scholar
  8. 8.
    P. Cousot and R. Cousot. Comparing the Galois connection and widening/narrowing approaches to abstract interpretation. PLILP'92, LNCS 631, pp. 269–295. Springer Verlag.Google Scholar
  9. 9.
    E. M. Clarke, E. A. Emerson, and E. Sistla, “Automatic verification of finite state concurrent systems using temporal logic specification: a practical approach,” In10th ACM Symposium on Principles of Programming Languages (POPL83). Complete version published in ACM TOPLAS, 8(2):244–263, April 1986.Google Scholar
  10. 10.
    E. M. Clarke, O. Grumberg, and D. E. Long, “Model checking and abstraction,” InSymposium on Principles of Programming Languages (POPL 92). ACM, January 1992.Google Scholar
  11. 11.
    K.M. Chandy and J. Misra,Parallel Program Design. Addison-Wesley, Massachusetts, 1988.Google Scholar
  12. 12.
    D. Dams, O. Grumberg, and R. Gerth, “Abstract interpretation of reactive systems: Abstractions preserving ∀CTL*, ∃CTL* and CTL*,”IFIP Conference PROCOMET' 94.Google Scholar
  13. 13.
    P. Ernberg, L. Fredlund, and B. Jonsson, “Specification and validation of a simple overtaking protocol using LOTOS,” Technical Report T90006, SICS, Sweden, 1990.Google Scholar
  14. 14.
    E.A. Emerson and J.Y. Halpern, “’Sometimes’ and ‘not never’ revisited: On branching versus linear time,” In10th ACM Symposium on Principles of Programming Languages (POPL 83). Published in Journal of ACM, 33:151–178.Google Scholar
  15. 15.
    O. Grumberg and E. Long, “Compositionnal model checking and modular verification,” In J.C.M. Baeten and J.F. Groote, editors,Concur'91, pp. 250–265. LNCS 527, Springer-Verlag, 1991.Google Scholar
  16. 16.
    S. Graf and C. Loiseaux, “Program verification using compositional abstraction,” InTAPSOFT 93, joint conference CAAP/FASE. LNCS 668, Springer Verlag, April 1993.Google Scholar
  17. 17.
    S. Graf and C. Loiseaux, “A tool for symbolic program verification and abstraction,” InConference on Computer Aided Verification CAV'93, Heraklion Crete. LNCS 697, Springer Verlag, 1993.Google Scholar
  18. 18.
    S. Graf, “Verification of a distributed cache memory by using abstractions,”Conference on Computer Aided Verification CAV'94, Stanford. LNCS 818, Springer Verlag, 1994.Google Scholar
  19. 19.
    C.A.R. Hoare.Communicating Sequential Processes. Prentice Hall International, 1984.Google Scholar
  20. 20.
    ISO. IS ISO/OSI 8807-LOTOS: a formal description technique based on the temporal ordering of observational behaviour. International standard, ISO, 1989.Google Scholar
  21. 21.
    H. Jifeng, “Various simulations and refinements”, InREX Workshop on Stepwise Refinement of Distributed Systems, Mook. LNCS 430, Springer Verlag, 1989.Google Scholar
  22. 22.
    B. Jonsson, “On decomposing and refining specifications of distributed systems,” InREX Workshop on Stepwise Refinement of Distributed Systems, Mook. LNCS 430, Springer Verlag, 1989.Google Scholar
  23. 23.
    J. Katzenelson and B. Kurshan, “S/R: A Language for Specifying Protocols and other Coordinating Processes,” In5th Ann. Int'l Phoenix Conf. Comput. Commun., pp. 286–292. IEEE, 1986.Google Scholar
  24. 24.
    D. Kozen, “Results on the propositional μ-calculus”, InTheoretical Computer Science. North-Holland, 1983.Google Scholar
  25. 25.
    R.P. Kurshan, “Analysis of discrete event coordination,” InREX Workshop on Stepwise Refinement of Distributed Systems, Mook. LNCS 430, Springer Verlag, 1989.Google Scholar
  26. 26.
    L. Lamport, “The temporal logic of actions”, Technical Report 79, DEC, Systems Research Center, 1991.Google Scholar
  27. 27.
    C. Loiseaux, Vérification symbolique de programmes réactifs à l'aide d'abstractions. Thesis, Université Joseph Fourier, Grenoble, February 1994.Google Scholar
  28. 28.
    N.A. Lynch and M.R. Tuttle, “An introduction to Input/Output automata,” Report MIT/LCS/TM 373, MIT, Cambridge, Massachussetts, November 1988.Google Scholar
  29. 29.
    R. Milner, “An algebraic definition of simulation between programs,” InProc. Second Int. Joint Conf. on Artificial Intelligence, pp. 481–489. BCS, 1971.Google Scholar
  30. 30.
    R. Milner, “A calculus of communication systems” InLNCS 92. Springer Verlag, 1980.Google Scholar
  31. 31.
    R. Milner, “A calculus for Synchrony and Asynchrony,”Journal of Theoretical Computer Science, 25, 1983.Google Scholar
  32. 32.
    Z. Manna and A. Pnueli, “A hierarchy of temporal properties,” InProceedings of 9th ACM Symposium on Principles of Distributed Computing, 1990.Google Scholar
  33. 33.
    O. Ore, “Galois connexions,”Trans. Amer. Math. Soc, 55:493–513, February 1944.Google Scholar
  34. 34.
    A. Pnueli, “The Temporal Logic of Programs,” In18th Symposium on Foundations of Computer Science (FOCS 77). IEEE, 1977. Revised version published in Theoretical Computer Science, 13:45–60, 1981.Google Scholar
  35. 35.
    A. Pnueli, “Application of temporal logic to specification and verification of reactive systems: a survey of current trends,” InCurrent trends in Concurrency, Nordwijkerhout. LNCS 224, Springer Verlag, 1986.Google Scholar
  36. 36.
    J.P. Queille. Le système CESAR: Description, spécification et analyse des applications réparties. Thesis, Université Scientifique et Médicale de Grenoble, June 1982.Google Scholar
  37. 37.
    Luis E. Sanchis, “Data types as lattices: retractions, closures and projections,” InRAIRO Theorical computer science, vol 11, no. 4, pp. 339–344, 1977.Google Scholar
  38. 38.
    J. Sifakis, “Property preserving homomorphisms and a notion of simulation of transition systems,” RR 332, IMAG, Grenoble, November 1982.Google Scholar
  39. 39.
    J. Sifakis, “Property preserving homomorphisms of transition systems,” In E. Clarke and D. Kozen, editors,4th Workshop on Logics of Programs, Pittsburgh. LNCS 164, Springer Verlag, June 1983.Google Scholar
  40. 40.
    P. Wolper, “Temporal logic can be more expressive,”Information and Control, 56, 1983.Google Scholar

Copyright information

© Kluwer Academic Publishers 1995

Authors and Affiliations

  • C. Loiseaux
    • 1
  • S. Graf
    • 1
  • J. Sifakis
    • 1
  • A. Bouajjani
    • 1
  • S. Bensalem
    • 1
  • David Probst
  1. 1.VERIMAGMonbonnotFrance

Personalised recommendations