GPSL: A Programming Language for Service Implementation

  • Dominic Cooney
  • Marlon Dumas
  • Paul Roe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3922)


At present, there is a dichotomy of approaches to supporting web service implementation: extending mainstream programming languages with libraries and metadata notations vs. designing new languages. While the former approach has proven suitable for interconnecting services on a simple point-to-point fashion, it turns to be unsuitable for coding concurrent, multi-party, and interrelated interactions requiring extensive XML manipulation. As a result, various web service programming languages have been proposed, most notably (WS-)BPEL. However, these languages still do not meet the needs of highly concurrent and dynamic interactions due to their bias towards statically-bounded concurrency. In this paper we introduce a new web service programming language with a set of features designed to address this gap. We describe the implementations in this language of non-trivial scenarios of service interaction and contrast them to the corresponding BPEL implementations. We also define a formal semantics for the language by translation to the join calculus. A compiler for the language has been implemented based on this semantics.


Business Process Execution Language Event Handler Soap Messaging Partial Synchronisation XQuery Expression 
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.
    Weerawarana, S., Curbera, F., Leymann, F., Story, T., Ferguson, D.F.: Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable-Messaging, and More. Prentice-Hall, Englewood Cliffs (2005)Google Scholar
  2. 2.
    Florescu, D., Grünhagen, A., Kossmann, D.: XL: an XML programming language for Web service specification and composition. In: International World Wide Web Conference, Honolulu, HI, USA (2002)Google Scholar
  3. 3.
    Florescu, D., Grünhagen, A., Kossmann, D.: XL: A platform for Web services. In: Conference on Innovative Data Systems Research (CIDR), Asilomar, CA, USA (2003)Google Scholar
  4. 4.
    Andrews, T., Curbera, P., Dholakia, H., Goland, Y., Klein, J., Leymann, F., Liu, K., Roller, D., Smith, D., Thatte, S., Trickovic, I., Weerawarana, S.: Business process execution language for Web services version 1.1 (2003)Google Scholar
  5. 5.
    Barros, A., Dumas, M., Hofstede, A.: Service interaction patterns. In: Proceedings of the 3rd International Conference on Business Process Management, Nancy, France, Springer, Heidelberg (2005), Extended version available at: Google Scholar
  6. 6.
    Fournet, C., Gonthier, G.: The reflexive chemical abstract machine and the join calculus. In: The 23rd ACM Symposium on Principles of Programming Languages (POPL), pp. 372–385 (1996)Google Scholar
  7. 7.
    Boag, S., Chamberlin, D., Fernández, M.F., Florescu, D., Robie, J., Siméon, J.: XQuery 1.0: An XML query language. W3C Working Draft (2005)Google Scholar
  8. 8.
    Cooney, D., Dumas, M., Roe, P.: A programming language for web service development. In: Estivill-Castro, V. (ed.) Proceedings of the 28th Australasian Computer Science Conference, Australian Computer Society, Newcastle, Australia (2005)Google Scholar
  9. 9.
    Cooney, D.: GPSL home page. WWW (2005),
  10. 10.
    Cooney, D., Dumas, M., Roe, P.: Programming and compiling web services in GPSL. In: Proceedings of the 3rd International Conference on Service-Oriented Programming (ICSOC) – Short papers track, Springer, Amsterdam, The Netherlands (to appear, 2005)Google Scholar
  11. 11.
    Snir, M., Gropp, W.: MPI: The Complete Reference, 2nd edn. MIT Press, Cambridge (1998)Google Scholar
  12. 12.
    Itzstein, G.S., Kearney, D.: Applications of Join Java. In: Lai, F., Morris, J. (eds.) Seventh Asia-Pacific Computer Systems Architectures Conference (ACSAC 2002), Melbourne, Australia, ACS (2002)Google Scholar
  13. 13.
    Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C#. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 415–440. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  14. 14.
    Ouyang, C., Aalst, W., Breutel, S., Dumas, M., Hofstede, A., Verbeek, H.: Formal Semantics and Analysis of Control Flow in WS-BPEL (Revised Version). BPM Center Report BPM-05-13 (2005),

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Dominic Cooney
    • 1
  • Marlon Dumas
    • 1
  • Paul Roe
    • 1
  1. 1.Queensland University of TechnologyAustralia

Personalised recommendations