Analyzing Interactions of Asynchronously Communicating Software Components

(Invited Paper)
  • Tevfik Bultan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7892)


Since software systems are becoming increasingly more concurrent and distributed, modeling and analysis of interactions among their components is a crucial problem. In several application domains, message-based communication is used as the interaction mechanism, and the communication contract among the components of the system is specified semantically as a state machine. In the service-oriented computing domain this type of message-based communication contracts are called “choreography” specifications. A choreography specification identifies allowable ordering of message exchanges in a distributed system. A fundamental question about a choreography specification is determining its realizability, i.e., given a choreography specification, is it possible to build a distributed system that communicates exactly as the choreography specifies? In this short paper we give an overview of this problem, summarize some of the recent results and discuss its application to web service choreographies, Singularity OS channel contracts, and UML collaboration (communication) diagrams.


Composite Service Synchronous Communication Distribute Software System Channel Contract Communication Contract 
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.


  1. 1.
    Armstrong, J.: Getting Erlang to Talk to the Outside World. In: Proc. ACM SIGPLAN Work. on Erlang, pp. 64–72 (2002)Google Scholar
  2. 2.
    Banavar, G., Chandra, T., Strom, R., Sturman, D.: A Case for Message Oriented Middleware. In: Jayanti, P. (ed.) DISC 1999. LNCS, vol. 1693, pp. 1–17. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Basu, S., Bultan, T.: Choreography Conformance via Synchronizability. In: Proc. 20th Int. World Wide Web Conf. (2011)Google Scholar
  4. 4.
    Basu, S., Bultan, T., Ouederni, M.: Deciding Choreography Realizability. In: Proc. 39th Symp. Principles of Programming Languages (2012)Google Scholar
  5. 5.
    Brand, D., Zafiropulo, P.: On communicating finite-state machines. Journal of the ACM 30(2), 323–342 (1983)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Bultan, T., Fu, X., Su, J.: Analyzing conversations: Realizability, synchronizability, and verification. In: Baresi, L., Di Nitto, E. (eds.) Test and Analysis of Web Services, pp. 57–85. Springer (2007)Google Scholar
  7. 7.
    Carbone, M., Honda, K., Yoshida, N., Milner, R., Brown, G., Ross-Talbot, S.: A Theoretical Basis of Communication-Centred Concurrent Programming, W3C Note (October 2006),
  8. 8.
    Fähndrich, M., Aiken, M., Hawblitzel, C., Hodson, O., Hunt, G.C., Larus, J.R., Levi, S.: Language support for fast and reliable message-based communication in singularity os. In: Proc. 2006 EuroSys Conf., pp. 177–190 (2006)Google Scholar
  9. 9.
    Hunt, G.C., Larus, J.R.: Singularity: rethinking the software stack. Operating Systems Review 41(2), 37–49 (2007)CrossRefGoogle Scholar
  10. 10.
    Menascé, D.A.: Mom vs. rpc: Communication models for distributed applications. IEEE Internet Computing 9(2), 90–93 (2005)CrossRefGoogle Scholar
  11. 11.
    Stengel, Z., Bultan, T.: Analyzing Singularity Channel Contracts. In: Proceedings of the 18th International Symposium on Software Testing and Analysis, pp. 13–24 (2009)Google Scholar
  12. 12.
    Web Service Choreography Description Language (WS-CDL) (2005),

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Tevfik Bultan
    • 1
  1. 1.Department of Computer ScienceUniversity of CaliforniaSanta BarbaraUSA

Personalised recommendations