Programming Services with Correlation Sets

  • Fabrizio Montesi
  • Marco Carbone
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7084)


Correlation sets define a powerful mechanism for routing incoming communications to the correct running session within a server, by inspecting the content of the received messages. We present a language for programming services based on correlation sets taking into account key aspects of service-oriented systems, such as distribution, loose coupling, open-endedness and integration. Distinguishing features of our approach are the notion of correlation aliases and an asynchronous communication model. Our language is equipped with formal syntax, semantics, and a typing system for ensuring desirable properties of programs with respect to correlation sets. We provide an implementation as an extension of the JOLIE language and apply it to a nontrivial real-world example of a fully-functional distributed user authentication system.


Chat Room Runtime Environment Message Type Loose Coupling Incoming Message 
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.
    Internet Relay Chat Protocol,
  2. 2.
  3. 3.
  4. 4.
    Cesari, L., Lapadula, A., Pugliese, R., Tiezzi, F.: A Tool for Rapid Development of WS-BPEL applications. In: SAC, pp. 2438–2442 (2010)Google Scholar
  5. 5.
    Free Software Foundation (FSF). GNU Lesser General Public License,
  6. 6.
    Guidi, C., Lanese, I., Montesi, F., Zavattaro, G.: Dynamic Error Handling in Service Oriented Applications. Fundamenta Informaticae 95(1), 73–102 (2009)MathSciNetzbMATHGoogle Scholar
  7. 7.
    Guidi, C., Lucchi, R., Gorrieri, R., Busi, N., Zavattaro, G.: SOCK: A Calculus for Service Oriented Computing. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294, pp. 327–338. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proc. of POPL 2008, vol. 43(1), pp. 273–284. ACM Press (2008)Google Scholar
  9. 9.
    Honda, K., Vasconcelos, V.T., Kubo, M.: Language Primitives and Type Discipline for Structured Communication-Based Programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  10. 10.
    Hu, R., Yoshida, N., Honda, K.: Session-based Distributed Programming in Java. In: Ryan, M. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 516–541. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    JOLIE. JOLIE: Java Orchestration Language Interpreter Engine,
  12. 12.
    Lapadula, A., Pugliese, R., Tiezzi, F.: A calculus for orchestration of web services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 33–47. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    Lapadula, A., Pugliese, R., Tiezzi, F.: A Formal Account of WS-BPEL. In: Wang, A.H., Tennenholtz, M. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 199–215. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I and II. Information and Computation 100(1), 1–40, 41–77 (1992)Google Scholar
  15. 15.
    Montesi, F., Guidi, C., Lanese, I., Zavattaro, G.: Dynamic Fault Handling Mechanisms for Service-Oriented Applications. In: Proceedings of ECOWS 2008, pp. 225–234 (2008)Google Scholar
  16. 16.
    Montesi, F., Guidi, C., Zavattaro, G.: Composing Services with JOLIE. In: Proceedings of ECOWS 2007, pp. 13–22 (2007)Google Scholar
  17. 17.
    OASIS. Web Services Business Process Execution Language Version 2.0,
  18. 18.
    OpenID. OpenID Specifications,
  19. 19.
    World Wide Web Consortium (W3C). SOAP Specifications,
  20. 20.
    World Wide Web Consortium (W3C). Web Services Description Language.

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Fabrizio Montesi
    • 1
  • Marco Carbone
    • 1
  1. 1.IT University of CopenhagenDenmark

Personalised recommendations