Advertisement

Abstract Patterns of Compositional Reasoning

  • Nina Amla
  • E. Allen Emerson
  • Kedar Namjoshi
  • Richard Trefler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2761)

Abstract

Compositional Reasoning – reducing reasoning about a concurrent system to reasoning about its individual components – is an essential tool for managing proof complexity and state explosion in model checking. Typically, such reasoning is carried out in an assume-guarantee manner: each component guarantees its behavior based on assumptions about the behavior of other components. Restrictions imposed on such methods to avoid unsoundness usually also result in incompleteness – i.e., one is unable to prove certain properties. In this paper, we construct an abstract framework for reasoning about process composition, formulate an assume-guarantee method, and show that it is sound and semantically complete. We then show how to instantiate the framework for several common notions of process behavior and composition. For these notions, the instantiations result in the first methods known to be complete for mutually inductive, assume-guarantee reasoning.

Keywords

Model Check Composition Operator Liveness Property Abstract Pattern Linear Time Temporal Logic 
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.
    Abadi, M., Lamport, L.: The existence of refinement mappings. In: LICS (1988)Google Scholar
  2. 2.
    Abadi, M., Lamport, L.: Conjoining specifications. In: ACM Trans. on Programming Languages and Systems (TOPLAS) (May 1995)Google Scholar
  3. 3.
    Abadi, M., Merz, S.: An abstract account of composition. In: Hájek, P., Wiedermann, J. (eds.) MFCS 1995. LNCS, vol. 969. Springer, Heidelberg (1995)Google Scholar
  4. 4.
    Abadi, M., Plotkin, G.: A logical view of composition and refinement. In: POPL (1991)Google Scholar
  5. 5.
    Alpern, B., Schneider, F.: Defining liveness. Information Processing Letters 21(4) (1985)Google Scholar
  6. 6.
    Alur, R., Henzinger, T.: Reactive modules. In: LICS (1996)Google Scholar
  7. 7.
    Amla, N., Emerson, E.A., Namjoshi, K.S., Trefler, R.J.: Assume-guarantee based compositional reasoning for synchronous timing diagrams. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, p. 465. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Amla, N., Emerson, E.A., Namjoshi, K.S., Trefler, R.J.: Visual specifications for modular reasoning about asynchronous systems. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Chandy, K.M., Misra, J.: Proofs of networks of processes. IEEE Transactions on Software Engineering 7(4) (1981)Google Scholar
  10. 10.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Workshop on Logics of Programs. LNCS, vol. 131 (1981)Google Scholar
  11. 11.
    de Roever, W.-P., de Boer, F., Hannemann, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification: Introduction to Compositional and Noncompositional Proof Methods. Cambridge University Press, Cambridge (2001)zbMATHGoogle Scholar
  12. 12.
    de Roever, W.-P., Langmaack, H., Pnueli, A. (eds.): COMPOS 1997. LNCS, vol. 1536. Springer, Heidelberg (1997)Google Scholar
  13. 13.
    Dijkstra, E.W., Scholten, C.S.: Predicate Calculus and Program Semantics. Springer, Heidelberg (1990)zbMATHGoogle Scholar
  14. 14.
    Henzinger, T.A., Kupferman, O., Rajamani, S.: Fair simulation. In: Mazurkiewicz, A., Winkowski, J. (eds.) CONCUR 1997. LNCS, vol. 1243. Springer, Heidelberg (1997)Google Scholar
  15. 15.
    Henzinger, T.A., Qadeer, S., Rajamani, S.K., Tasiran, S.: An assume-guarantee rule for checking simulation. ACM Trans. on Programming Languages and Systems (TOPLAS) (January 2002)Google Scholar
  16. 16.
    Jones, C.B.: Development methods for computer programs including a notion of interference. PhD thesis, Oxford University (1981)Google Scholar
  17. 17.
    Kurshan, R.P.: Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach. Princeton University Press, Princeton (1994)Google Scholar
  18. 18.
    Maier, P.: A set-theoretic framework for assume-guarantee reasoning. In: Orejas, F., Spirakis, P.G., van Leeuwen, J. (eds.) ICALP 2001. LNCS, vol. 2076, p. 821. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Maier, P.: Compositional circular assume-guarantee rules cannot be sound and complete. In: Gordon, A.D. (ed.) FOSSACS 2003. LNCS, vol. 2620, pp. 343–357. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Manolios, P., Trefler, R.J.: Safety and liveness in branching time. In: LICS (2001)Google Scholar
  21. 21.
    McMillan, K.L.: Circular compositional reasoning about liveness. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 342–346. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  22. 22.
    Milner, R.: An algebraic definition of simulation between programs. In: 2nd IJCAI (1971)Google Scholar
  23. 23.
    Namjoshi, K.S., Trefler, R.J.: On the completeness of compositional reasoning. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855. Springer, Heidelberg (2000)Google Scholar
  24. 24.
    Pandya, P., Joseph, M.: P-A logic - a compositional proof system for distributed programs. Distributed Computing (1991)Google Scholar
  25. 25.
    Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in CESAR. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137. Springer, Heidelberg (1982)Google Scholar
  26. 26.
    Viswanathan, M., Viswanathan, R.: Foundations for circular compositional reasoning. In: Orejas, F., Spirakis, P.G., van Leeuwen, J. (eds.) ICALP 2001. LNCS, vol. 2076, p. 835. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Nina Amla
    • 1
  • E. Allen Emerson
    • 2
  • Kedar Namjoshi
    • 3
  • Richard Trefler
    • 4
  1. 1.Cadence Design Systems 
  2. 2.Univ. of Texas at Austin 
  3. 3.Bell LabsLucent Technologies 
  4. 4.Univ. of Waterloo 

Personalised recommendations