A reduction is a validity-preserving transformation by which a complex assertion about a complex model may be replaced by a simpler assertion about a simpler model in such a way that the validity of the latter implies the validity of the former. Reductions, in that they are relative to the property to be proved, are significantly more powerful than equivalence and minimization, and are needed to reason about complex coordinating systems. Furthermore, reduction subsumes refinement: a model M refines or “implements” a model M' provided M' reduces M relative to all assertions about M which are pullbacks of assertions in M' (so anything proved about M' remains true in the refinement M).

On account of the close relationship between state machines and automata, it is conceptually convenient to reason about reductions of state machine models in the context of formal assertions based in language (automata) theory. However, as a practical matter, state machine models have been felt to have overwhelming drawbacks. First of all, it has been felt that significant hardware and software systems are simply too complex to capture in a meaningful way, through state machine models. Second, even if they could be captured, the complexity of the resulting model has been thought to be too great to analyze: the complexity of the resulting model has been thought to be too great to analyze: the complexity of the analysis algorithms aside, the size of the resulting state spaces, growing geometrically with the number of system components, has been thought to render analysis intractable in practice. The purpose of this paper is to dispel both of these notions. It is shown how large, complex systems may be modelled accurately in terms of (many) small coordinating component state machines. Second, it is shown how a theory of reduction based upon language homomorphism can render analysis and refinement of such models tractable.


formal verification reduction refinement homomorphism coordination analysis 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [RS59]
    M. O. Rabin, D. Scott, “Finite Automata and their Decisions Problems”, IBM J. Res. and Dev. 3 (1959) 114–125. (Reprinted in [Mo64] 63–91.)Google Scholar
  2. [Ts59]
    M. L. Tsetlin, “Non-primitive Circuits” (in Russian) Problemy Kibernetiki 2 (1959).Google Scholar
  3. [Bu62]
    J. R. Büchi, “On a Decision Method in Restricted Second-Order Arithmetic”, Proc. Internat. Cong. on Logic, Methodol. and Philos. of Sci., 1960, 1–11 (Stanford Univ. Press, 1962).Google Scholar
  4. [Ra69]
    M. O. Rabin, “Decidability of Second-Order Theories and Automata on Infinite Trees”, Trans. Amer. Math. Soc. 141 (1969) 1–35.Google Scholar
  5. [Ra72]
    M. O. Rabin, Automata on Infinite Objects and Church's Problem. Amer. Math. Soc., 1972.Google Scholar
  6. [Ch74]
    Y. Choueka, “Theories of Automata on ω-Tapes: A Simplified Approach”, J. Comput. Syst. Sci. 8 (1974), 117–141.Google Scholar
  7. [Ha74]
    P. Halmos, Lectures on Boolean Algebras, Springer-Verlag, N.Y., 1974.Google Scholar
  8. [GK80]
    B. Gopinath, R. P. Kurshan, “The Selection/Resolution Model of Coordinating Concurrent Processes”, internal AT&T report.Google Scholar
  9. [AKS83]
    S. Aggarwal, R. P. Kurshan, K. K. Sabnani, “A Calculus for Protocol Specification and Validation” in Protocol Specification, Testing and Verification, III, North-Holland, 1983, 19–34.Google Scholar
  10. [DC85]
    D. L. Dill, E. M. Clarke, “Automatic Verification of Asynchronous Circuits Using Temporal Logic”, Proc. Chapel Hill Conf. VLSI, Computer Sci. Press (1985) 127–143.Google Scholar
  11. [Ku85]
    R. P. Kurshan, “Modelling Concurrent Processes”, Proc. Symp. Applied Math. 3 (1985) 45–57.Google Scholar
  12. [SVW85]
    A. P. Sistla, M. Y. Vardi, P. Wolper, “The Complementation Problem for Büchi Automata, with Applications to Temporal Logic”, in Proc. 12th Internat. Coll. on Automata, Languages and Programming, Lect. Notes Comp. Sci., 1985, Springer-Verlag.Google Scholar
  13. [WA85]
    W. W. Wadge, E. A. Ashcroft, LUCID, The Dataflow Programming Language, Academic Press, 1985.Google Scholar
  14. [KK86]
    J. Katzenelson and R. P. Kurshan, “S/R: A Language For Specifying Protocols and Other Coordinating Processes”, Proc. 5th Ann. Int'l Phoenix Conf. Comput. Commun., IEEE, 1986, 286–292.Google Scholar
  15. [BC87]
    M. C. Brown, E. M. Clarke, “SML — A High Level Language for the Design and Verification of Finite State Machines”, in From HDL Descriptions to Guaranteed Correct Circuit Designs (D. Borrione, ed.) North-Holland (1987) 269–292.Google Scholar
  16. [GK87]
    I. Gertner, R. P. Kurshan, “Logical Analysis of Digital Circuits”, Proc. 8th Intn'l. Conf. Comput. Hardware Description Languages, 1987, 47–67.Google Scholar
  17. [Ku87]
    R. P. Kurshan, “Reducibility in Analysis of Coordination”, LNCIS 103 (1987) Springer Verlag, 19–39.Google Scholar
  18. [Ku87a]
    R. P. Kurshan, “Complementing Deterministic Büchi Automata in Polynomial Time”, J. Comput. Syst. Sci. 35 (1987) 59–71.Google Scholar
  19. [RW87]
    P. J. Ramadge, W. M. Wonham, “Supervisory Control of a Class of Discrete-Event Processes”, SIAM J. Contr. Opt. 25 (1987) 206–230.Google Scholar
  20. [Sa88]
    S. Safra, “On the Complexity of ω-Automata”, 29th FOCS (1988) 319–327.Google Scholar
  21. [Ba89]
    J. Barwise, “Mathematical Proofs of Computer System Correctness”, Notices AMS 36 (1989) 884–851.Google Scholar
  22. [KM89]
    R. P. Kurshan, K. McMillan, “A Structural Induction Theorem for Processes”, Proc. 8th ACM Symp. PODC (1989) 239–247.Google Scholar
  23. [KM90]
    R. P. Kurshan, K. McMillan, “Analysis of Digital Circuits Through Symbolic Reduction”, IEEE Trans. CAD/ICS, to appear.Google Scholar
  24. [HK90]
    Z. Har'El, R. P. Kurshan, “Software for analytical Development of Communication Protocols”, AT&T Tech. J., to appear.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • R. P. Kurshan
    • 1
  1. 1.AT&T Bell LaboratoriesMurray Hill

Personalised recommendations