A language for ASP SLAs

UCL Logo
Disclaimer: None of the information provided on this page should be construed as legal advice. SLAng is under development and should not yet be used for real SLAs.


SLAng is a language for Service Level Agreements (SLAs) under development in the Department of Computer Science University College London.

SLAs are a means to mitigate financial risks to the client inherent in service provision scenarios. These included the risk that a reduction in the Quality of Service (QoS) delivered will impact on the value of the service to the client, and the risk of investing in integrating a service that may become unavailable.

Currently SLAng can express a range of SLAs for Application-Service Provision scenarios, by which we mean anything that looks like the diagram below:

In ASP scenarios a client submits service requests to a service across a network. The service processes the request, possibly causing events in the real world (for example, dispatching a parcel), possibly storing or manipulating data on the client's behalf. The service then sends a response back across the network.

SLAng SLAs can associate penalties with the violation of latency, reliability, throughput and data consistency constraints in this context. The application of these constraints can vary over time or according to some state visible to both parties.

Getting started:

SLAng is distributed in three main ways:

  • The technical specification for the language (expressed using the emofocl format understood by the UCL MDA tools) is available via CVS.
  • Detailed HTML documentation generated for revisions of the specification is available here.
  • An editor plug-in for the Eclipse development platform is made available for each revision of the language. This plugin also contains a precompiled JMI repository for the language.

SLAng is currently under development. See the status section below for more information. Until further evaluation is completed we do not recommend using SLAng as the basis for real service-level agreements. However, the language in its current form is a suitable basis for further research and development.

To get started understanding and using SLAng, we suggest that you do one or more of the following:


SLAng is currently under development, and the details of its syntax and semantics are subject to regular change.

We would not advise anybody to attempt to use SLAng in a real service agreement in its current form. Current activity relating to SLAng is divided into several areas:

  1. Validating the definition of the language using test cases.
  2. Developing a case study for the language.
  3. Finalising and documenting the design rationale behind a first version of the language.

The academic basis of SLAng

Many of the principles underpinning the design of SLAng are the results of academic work undertaken at UCL in recent years. The following papers discuss these aspects in detail. The design of SLAng has evolved over the years so not all descriptions of the language in these papers are accurate with respect to the revision of the language.

Further resources:


Trusted and Quality of Service Aware Provision of Application Services
IST Project No: IST-2001-34069
1 April 2002 - 31 March 2005

Contact us