Towards Self-Management in Service-oriented Computing with Modes Howard Foster, Sebastian Uchitel, Jeff Kramer, and Jeff Magee Department of Computing, Imperial College London, 180 Queen’s Gate, London SW7 2BZ, UK Abstract. A self-managed system is both self-assembling and self- healing. Service-oriented Computing (SoC) architectures, such as a Web Services Architecture (WS-A) illustrate a highly distributed, potentially dynamic, domain for component configurations. We propose the use of component architecture ”modes” to facilitate the self-management of ser- vices within a SoC environment. A mode abstracts a set of services that are composed to complete a given task. Our approach, named ”SelfSoC” includes designing and implementing key parts of a self-managed system specifically aimed at supporting a dynamic services architecture. We ex- tend Darwin component models, Alloy constraint models and distributed system management policies to specify the mode architectures. We also propose the generation of dynamic orchestrations for service composi- tions to coordinate different modes of an automotive services platform. 1 Introduction Self-management of components in distributed system architectures is becoming a widely researched area, with the emerging paradigms of Service-oriented Com- puting (SoC) and Service-oriented Architectures (SoA), these have increased the interest of having less human intervention in the management of complex, distributed systems. With the use of a Web Services Architecture (WS-A) [3] to overcome technical interoperability difficulties using standard protocols and messaging formats, the issue of managing complex configurations of services is a leading requirement of progressing the use of this type of architecture. The availability of services is also more prominent in a dynamic service configuration whereby the provider of the service may not be known in advance. As services should be developed with much closer representation to clients requirements, the context and environment co-exist to support requests. Events that change con- text or conditions within the environment however, need self-managing mecha- nisms to support both initial configurations (self-assembly) and reconfigurations (self-healing) [10]. Further self-management techniques can be applied to sup- port optimal configurations of a given set of components (self-optimisation or also known as self-tuning). The main contribution of this paper is to present self-management techniques applied to a services architecture, using the concept of modes and the coordi- nation of reconfigurable component architectures. We firstly discuss the mode