Gradual Transition towards Autonomic Software Systems based on High-level Communication Specification * Edin Arnautovic, Hermann Kaindl, J ¨ urgen Falb, Roman Popp and Alexander Sz´ ep Vienna University of Technology Institute of Computer Technology Vienna, Austria {arnautovic, kaindl, falb, popp, szep}@ict.tuwien.ac.at ABSTRACT While management of today’s software systems is usually performed by humans using some user interface (UI), au- tonomic systems would be self-managed. They would typ- ically consist of a managed element, which provides actual system functionality, and an autonomic manager performing system management. However, truly self-managed systems are hard to achieve and not (yet) in wide-spread use. Dur- ing the transition towards autonomic software systems it is more realistic to manage a large and complex software sys- tem partly by humans and partly by an autonomic manager. For facilitating this approach, the communication between the managed element and human administrators on the one hand and the communication between the managed element and the autonomic manager on the other, should be unified and specified on the same semantic level. However, there is no scientific basis for such a unified communication ap- proach. We present a unified specification of this communication in a high-level discourse model based on insights from the- ories of human communication. This approach would make this communication “natural” for humans to define and to understand. In addition, we propose to use the same spec- ification for the automated generation of user interfaces for management by human administrators. As a consequence, a smooth and gradual transition towards self-managed soft- ware systems will be facilitated, where the portion managed by human administrators becomes smaller and smaller. Categories and Subject Descriptors D.2 [D.2 Software Engineering]: Software Architectures; K.6 [Management of Computing and Information Sys- tems]: System Management * This research has been partially carried out in the OntoUCP project (No. 809254/9312) funded by the Aus- trian FIT-IT Program and Siemens AG ¨ Osterreich. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SAC’07 March 11-15, 2007, Seoul, Korea Copyright 2007 ACM 1-59593-480-4 /07/0003 ...$5.00. General Terms Design, Management Keywords self-managing systems, autonomic computing, interaction modeling 1. INTRODUCTION Large and complex software systems need to be managed with respect to, e.g., trouble shooting, dynamic reconfigura- tion and parameterization. Managing such systems requires dedicated and especially trained personnel and is, therefore, costly. Total costs of computer systems are more and more burdened with the expenses for maintenance, recovery from failures, etc. For example, companies now spend between 33% and 50% of their total cost of ownership recovering from or preparing against failures and 80% of IT money is spent on operations, maintenance and minor enhancements [19]. In addition, a special user interface for these tasks has to be provided, either built into the software to be managed or plugged onto it. Studies show that system administra- tors work in very complex and challenging environments [1] (both socially and technically). This confirms the need for automation of administration tasks. In order to address these issues, there is relatively new re- search on autonomic systems [9] that would be self-managed. The basic idea is to have a so-called autonomic manager, which is itself built in software — as a separate component — and supposed to manage the software system in question. Unfortunately, this ambitious approach is difficult to imple- ment and to put into wide-spread industrial use, especially for legacy systems. We propose a gradual transition towards self-managed software systems, because it seems to be more realistic in practice. In this approach, “human-managed” and “auto- nomic-managed” live together, where more and more related tasks will be moved from the human administrator to the autonomic manager. For implementing such an approach, it is desirable to have the communication between the man- aged software system and its (human or software) manager on the same semantic level. In order to make the com- munication easy to understand and to specify by humans, the specification of this communication should be on a high level. Unfortunately, the previously proposed protocols for communication between managed elements and autonomic managers are still on a low semantic level (e.g., standard Web services [8]).