SLAC: A Formal Service-Level-Agreement Language for Cloud Computing


The need of mechanisms to automate and regu- late the interaction among the parties involved in the offered services is exacerbated by the increasing number of providers and solutions that enable the cloud paradigm. This regulation should be defined through a contract, the so-called Service Level Agreement (SLA). We argue that the current solutions for SLA specification cannot adequately cope with the distinctive characteristics of clouds. Therefore, in this paper we define a language, named SLAC, devised for specifying SLA for the cloud computing domain. The main differences with respect to the existing specification languages are: SLAC is domain specific; its semantics is formally defined, in order to avoid ambiguity; it supports the main cloud deployment models; and it permits the specification of multi-party agreements. Moreover, SLAC can support the specification of business aspects of the cloud domain, such as pricing schemas, business actions and metrics. Further- more, SLAC comes with an open-source software framework that allows to specify, evaluate and enforce SLAs in the cloud domain. We illustrate potentialities and effectiveness of SLAC language and management framework through experiments on an OpenNebula cloud test bed.


Rafael Brundo Uriarte, Francesco Tiezzi and Rocco De Nicola. Definition of Metrics and Elements of the SLAC Language. Technical Report, IMT, 2014.


The current version of the tool can be download here, while its source code can be found here.


  • ZeroRPC: – pip install zerorpc
  • Gevent: – pip install gevent
  • Z3: – Source Code
  • Simple Parser: – Source Code


In a terminal start the – python
Send the SLA and the monnitoring data – E.g.: : python -s Examples/SLAs/Case_Study_1_3.slac -m Examples/Monitoring/Case_Study_1_Monitoring.slac


For suggestions, remarks, bugs or requests please do not hesitate to contact any of us.