Service and Contract Composition: a model and a tool Antonella Longo, Marco Zappatore, Mario Alessandro Bochicchio Dept. of Innovation Engineering, University of Salento Via Monteroni, Lecce, Italy {antonella.longo, marcosalvatore.zappatore, mario.bochicchio}@unisalento.it Abstract— Cloud computing services are seeing great success in IT scenarios. Dynamic reservation and allocation of network, storage and computational resources, the hiding of visibility of internal IT components, as well as the pay-per-use paradigm are nowadays more and more widespread ways to provide and consume services. Their complexity, however, is clearly visible in composing services to satisfy users’ requests, as well as in performance monitoring and service level comparisons. Effective ways are then needed to model both contracts and Service Level Agreements (SLAs) referring to the services that have to be provided to customers. However, this is hindered by a lack of expressivity in current SLA specifications and a consequent inadequacy in tools for managing SLAs and contract composition aspects. Therefore, we present a possible extension of WSLA, a widely known SLA description language, for modeling contracts and SLAs suitable to support contract owners during service composition and monitoring phases. An ad-hoc developed tool based on tree-graphs is examined to assess the feasibility of the proposed model and to simplify SLA and contract composition. Keywords— SLA Management; SLA Measurement; SLA composition; SLA Design I. INTRODUCTION Modern Information Technology (IT) environments heavily exploits services according to a provide-and-consume paradigm, allowing users to perform a wide variety of tasks. However, how service terms that have to be agreed between parties can be rendered as viable contracts? Arguably, these contracts must be at the same time effective and flexible from a strategic point of view as well as workable from an operational point of view. In this scenario, Service Level Agreements (SLAs) [1] play a key-role in describing service relevant features by specifying the agreements between providers and consumers with respect to Quality of Service (QoS), service level guarantees, Service Level Objectives (SLOs), compliance to users’ requests, service time-sustainability. SLAs also define a measurements and criteria to be used when services fail or deviate beyond specific tolerability thresholds from the agreed- upon contract terms. SLAs exhibit different types of complexity (i.e., single or composed services, single or multiple providers, single or multiple customers) and their specification may be very qualitative and difficult to be transformed in machine readable elements. Moreover, this complexity may be inherent with each of the elements composing the SLAs definition (i.e. contract duration, working window, multiple targets, etc.). SLAs usually refer to scenarios where a provider and a customer agree upon the delivery of single services with SLAs. Current IT scenarios, instead, involve cloud paradigm or Business Process Outsourcing (BPO) and require paying much more attention to service composition issues. However, the available methodologies and frameworks lack in formalizing how IT managers can effectively compose the services, the contracts they are defined into and the corresponding SLAs. These issues are particularly relevant for Cloud Computing Services (CCSs), which typically impose the aggregation of many sub-services into more complex, higher-level services, typically based upon on-demand access to customizable resources, which can be static (e.g., CPU, storage, software) or dynamic (e.g., elasticity, prices, maintenance policy). Therefore, IT managers must a) supervise the way such services are functionally composed and b) assess precisely Service Levels (SLs) when they design the overall contract for the delivered service. Similarly, consumers usually require rapid service provisioning, reliable resource exploitation, reduced management efforts and frequent interaction with service providers, thus generating a great variety of SLOs that makes more difficult to negotiate and finalize service selection. Moreover, consumers require visibility on SLAs monitoring data and auditing tools. Selected composing contracts and their specifications should allow users to obtain the terms and conditions of the overall contract in a straightforward, non- domain-specific manner; otherwise, these aspects may severely hinder providers’ accountability when services do not match with their defined SLs or when services exhibit failures beyond the allowed guarantees after their delivery. SLA technologies have been profitably applied so far in Service-Oriented Architectures (SOAs) [2] thanks to their suitability to model domain information better than ad-hoc representations. Indeed, SLAs are: a) flexible and potentially language-independent; b) capable of defining both measurable quantities (e.g., accuracy, availability, latency, cost) and non-measurable aspects (e.g., reputation). Therefore, many formal specifications have been developed to model SLAs and their subject of application: WSLA [3], SLANG [4], BPEL [5] are amongst the most widely known (see Section II for their review and explanation). Consequently, in this research work we present a descriptive template for contract and SLA composition that extends WSLA (since it is XML-based and sufficiently general to cover different domain scenarios). We overcome its expressivity limitations (see Section II) in order to allow CCS providers to manage contracts and their compositions more easily. This also allows us identifying accountability issues more efficiently in the Cloud scenario. We also propose a tool for easing design and visualization phases in service contract composition, named Contract-Aware Service COmposer