Conversation Protocols: A Formalism for Specification and Verification of Reactive Electronic Services

  • Xiang Fu
  • Tevfik Bultan
  • Jianwen Su
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2759)


This paper focuses on the realizability problem of a framework for modeling and specifying the global behavior of reactive electronic services (e-services). In this framework, Web accessible programs (peers) communicate by asynchronous message passing, and a virtual global watcher listens silently to the network. The global behavior is characterized by a conversation, which is the infinite sequence of messages observed by the watcher. We show that given a Büchi automaton specifying the desired set of conversations, called a conversation protocol, it is possible to implement it using a set of finite state peers if three realizability conditions are satisfied. In particular, the synthesized peers will conform to the protocol by generating only those conversations specified by the protocol. Our results enable a top-down verification strategy where: (1) A conversation protocol is specified by a realizable Büchi automaton, (2) The properties of the protocol are verified on the Büchi automaton specification, (3) The peer implementations are synthesized from the protocol via projection.


Global Behavior Business Process Execution Language FIFO Queue Input Queue Illegal State 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    M. Abadi, L. Lamport, and P. Wolper. Realizable and unrealizable specifications of reactive systems. In Proc. of 16th Int. Colloq. on Automata, Languages and Programming, volume 372 of LNCS, pages 1–17. Springer Verlag, 1989.CrossRefGoogle Scholar
  2. [2]
    P.A. Abdulla and B. Jonsson. Verifying programs with unreliable channels. Journal of Information and Computation, 127:91–101, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  3. [3]
    L.D. Alfaro and T.A. Henzinger. Interface automata. In Proc. of 9th ACM Symp. on Foundations of Software Engineering, pages 109–120, 2001.Google Scholar
  4. [4]
    R. Alur, K. Etessami, and M. Yannakakis. Realizability and verification of MSC graphs. In Proc. 28th Int. Colloq. on Automata, Languages, and Programming, 2001.Google Scholar
  5. [5]
    R. Alur, K. McMillan, and D. Peled. Model-checking of correctness conditions for concurrent objects. Information and Computation, 160:167–188, 2000.zbMATHCrossRefMathSciNetGoogle Scholar
  6. [6]
    Business process execution language for web services (BPEL4WS), version 1.1. available at
  7. [7]
    Business process modeling language (BPML).
  8. [8]
    D. Brand and P. Zafiropulo. On communicating finite-state machines. Journal of the ACM, 30(2):323–342, 1983.zbMATHCrossRefMathSciNetGoogle Scholar
  9. [9]
    T. Bultan, X. Fu, R. Hull, and J. Su. Conversation specification: A new approach to design and analysis of e-service composition. In Proc. of 12th Intl. World Wide Web Conf., May 2003.Google Scholar
  10. [10]
    M. Chiodo, P. Giusto, A. Jurecska, L. Lavagno, H. Hsieh, and A. Sangiovanni-Vincentelli. A formal specification model for hardware/software codesign. In Proc. of the Intl. Workshop on Hardware-Software Codesign, October 1993.Google Scholar
  11. [11]
    E. M. Clarke, O. Grumberg, and D.A. Peled. Model Checking. The MIT Press, Cambridge, Massachusetts, 1999.Google Scholar
  12. [12]
    E.A. Emerson. Temporal and modal logic. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science: Volume B: Formal Models and Semantics, pages 995–1072. Elsevier, 1990.Google Scholar
  13. [13]
    A. Finkel and P. McKenzie. Verifying identical communicating processes is undecidable. Theoretical Computer Science, 174(1–2):217–230, 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  14. [14]
    S. J. Garland and N. Lynch. Using I/O automata for developing distributed systems. In Foundations of Component-Based Systems. Cambridge Univ. Press, 2000.Google Scholar
  15. [15]
    P. Graunke, R.B. Findler, S. Krishnamurthi, and M. Felleisen. Modeling web interactions. In Proc. of 12th European Symp. on Programming, LNCS 2618, 2003.Google Scholar
  16. [16]
    J.E. Hanson, P. Nandi, and S. Kumaran. Conversation support for business process integration. In Proc. of 6th IEEE Int. Enterprise Distributed Object Computing Conference, 2002.Google Scholar
  17. [17]
    C.A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.zbMATHCrossRefMathSciNetGoogle Scholar
  18. [18]
    R. Hull, M. Benedikt, C. Christophides, and J. Su. E-services: A look behind the curtain. In Proc. of 22nd ACM Symp. on Principles of Database Systems, 2003.Google Scholar
  19. [19]
    IBM. Conversation support project.
  20. [20]
    G. Kahn. The semantics of a simple language for parallel programming. In Proc. of IFIP 74, pages 471–475. North-Holland, 1974.Google Scholar
  21. [21]
    H. Liu and R. E. Miller. Generalized fair reachability analysis for cyclic protocols. In IEEE/ACM Transactions on Networking, pages 192–204, 1996.Google Scholar
  22. [22]
    N. Lynch and M. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proc. 6th ACM Symp. Principles of Distributed Computing, pages 137–151, 1987.Google Scholar
  23. [23]
    R. Milner. Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, 1999.Google Scholar
  24. [24]
    A. Pnueli and R. Rosner. On the synthesis of a reactive module. In Proc. of 16th ACM Symp. Principles of Programming Languages, pages 179–190, 1989.Google Scholar
  25. [25]
    A. Pnueli and R. Rosner. On the synthesis of an asynchronous reactive module. In Proc. of 16th Int. Colloq. on Automata, Languages, and Programs, volume 372 of LNCS, pages 652–671, 1989.CrossRefGoogle Scholar
  26. [26]
    S.K. Rajamani and J. Rehof. A behavioral module system for the pi-calculus. In Proc. of Static Analysis Symposium (SAS), July 2001.Google Scholar
  27. [27]
    Sun. Java message service.
  28. [28]
    W3C. Web service choreography interface (WSCI) version 1.0. available at
  29. [29]
    W3C. Web services description language (WSDL) version 1.1. available at, 2001.

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Xiang Fu
    • 1
  • Tevfik Bultan
  • Jianwen Su
  1. 1.Department of Computer ScienceUniversity of CaliforniaSanta BarbaraUSA

Personalised recommendations