A key issue in utility computing environments, such as utility Grids, is the provisioning, orchestration and allocation of resources to services. In these environments, providers need to decide how resources are allocated to service applications according to their workloads, guaranteeing the Quality of Service (QoS) required by customers. Autonomic computing inspired mechanisms are appealing to enable self-organising resource allocation and provisioning. However, these mechanisms are difficult to evaluate in practice either because of the lack of a real test bed or the difficulty in replicating experimental results. This work describes a service framework for a Grid simulator, which enables the modelling and simulation of service-oriented applications. This framework allows the modelling and evaluation of provisioning and negotiation of services and resources. We discuss experimental results that demonstrate the usefulness of the framework for the simulation of a decentralised, self-o...