Faculty of Information Technology Programming Languages and Systems
Skip to Content
QUT Home FIT Home PLAS Home Projects People Wiki Contacts
 
     

GPSL: Gardens Point Service Language

   

Overview

Services are fundamentally different from objects or components, yet are often implemented using mainstream object-oriented languages. This research explores the quintessential nature of services to synthesize a new programming language with explicit support for service oriented computing. A prototype compiler is being developed to validate in practice the ideas this research generates.

For more details on the GPSL project see the following site: http://www.serviceorientation.com.

A prototype compiler is available here. Requires .NET Framework 2.0 and Microsoft Web Services Extensions (WSE) 3.0. There are a number of KnownBugsAndIssues. Please report bugs to mailto:editor@serviceorientation.com.

Research team

Researchers
Marlon Dumas
Associate Professor Paul Roe

Research Students
Dominic Cooney

Papers

Dominic Cooney, Marlon Dumas, and Paul Roe. GPSL: A Programming Language for Service Implementation. To appear at FASE, ETAPS 2006.

Abstract: 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 for service-oriented programming. 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. 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 present the core semantics of the language.

Dominic Cooney, Marlon Dumas, and Paul Roe. Programming and Compiling Web Services in GPSL. Lecture Notes in Computer Science, Volume 3826, Nov 2005, p. 508-513. Proceedings of the Third International Conference on Service-Oriented Computing (ICSOC 2005), The Netherlands, December 12-15, 2005.

Abstract: Implementing web services that participate in long-running, multi-lateral conversations is difficult because traditional programming languages are poor at manipulating XML data and handling concurrent and interrelated interactions. We have designed a programming language to deliberately address these problems. In this paper we describe how to use this language to consume a popular web service, and discuss the compiler, including the kinds of semantic checks it performs, and the runtime environment.

D. Cooney, M. Dumas, and P. Roe. A Programming Language for Web Service Development. In Proceedings of the 28th Australasian Computer Science Conference (ACSC), Newcastle, Australia, February 2005. Australian Computer Society. [pdf]

Abstract: There is now widespread acceptance of Web services and service-oriented architectures. But despite the agreement on key Web services standards there remain many challenges. Programming environments based on WSDL support go some way to facilitating Web service development. However Web services fundamentally rely on XML and Schema, not on contemporary programming language type systems such as those of Java or .NET. Moreover, Web services are based on a messaging paradigm and hence bring forward the traditional problems of messaging systems including concurrency control and message correlation. It is easy to write simple synchronous Web services using traditional programming languages; however more realistic scenarios are surprisingly difficult to implement. To alleviate these issues we propose a programming language which directly supports Web service development. The language leverages XQuery for native XML processing, supports implicit message correlation and has high level join calculus-style concurrency control. We illustrate the features of the language through a motivating example.

 

PLAS
Projects
  ActiveSheets
  Bioinformatics
  ConcernMaps
  ELP
  ELP.NET
  G2 Cluster Computing
  Generics
  Gardens Point Component Pascal
  Gardens Point Flow
  Gardens Point Modula
  * Gardens Point Service Language
  Language Processing Tools
  Mentok
  Metaphor
  Mobilizer
  RikWik
Ruby.NET
People
Wiki
Contacts