The Sensoria Reference Modelling Language Jos´ e Fiadeiro 1 , Ant´onia Lopes 2 , Laura Bocchi 1 , and Jo˜ao Abreu 1 1 Department of Computer Science, University of Leicester 2 Department of Informatics, Faculty of Sciences, University of Lisbon Abstract. This chapter provides an overview of SRML — the Senso- ria Reference Modelling Language. SRML offers a technology-agnostic framework in which business services and activities can be modelled in- dependently of the languages in which components are implemented and the network protocols through which they communicate. From a method- ological point of view, SRML supports Service-Oriented Computing as a new paradigm in which computations result from a distributed orchestra- tion of software components and external services that are procured on the fly subject to a negotiation of service level agreements (SLAs). Our focus will be on the language primitives that SRML offers for orchestrat- ing business services and activities, defining the interfaces through which services are offered or procured, and expressing the SLA constraints that apply to service provision. We also present elements of the mathemat- ical semantics that underpins the modelling approach, and the way it supports qualitative and quantitative analysis. 1 Introduction This chapter provides an overview of the modelling language — SRML — that we developed in Sensoria. We present the language primitives that SRML offers for modelling business services and activities, and discuss the methodological ap- proach that SRML supports, which includes the use of the UMC model-checker (developed at CNR-ISTI) for qualitative analysis and of the Markovian process algebra PEPA (developed at the University of Edinburgh) for quantitative anal- ysis of timing properties. Only some elements of the mathematical semantics that we developed for the approach are provided in this chapter; full details can be found in [4,6,32,33,34]. Our approach addresses Service-Oriented Computing (SOC) as a new com- putational paradigm in which interactions are no longer based on fixed or pro- grammed exchanges between specific parties — what is known as clientship in object-oriented programming — but on the provisioning of services by external providers that are procured on the fly subject to a negotiation of service level agreements (SLAs). In SOC, the processes of discovery and selection of services are not coded (at design time) as part of the applications that implement busi- ness activities, but performed by the middleware according to functional and non-functional requirements (SLAs). We set ourselves to address the challenge 1