18.01.15 - 23.01.15, Seminar 15041

Model-driven Algorithms and Architectures for Self-Aware Computing Systems

The following text appeared on our web pages prior to the seminar, and was included as part of the invitation.


Self-aware computing systems are best understood as a sub-class of autonomic computing systems. The term autonomic computing was first introduced by IBM in 2001 motivated by the concern that the ever-growing size and complexity of IT systems would soon become too difficult for human administrators to manage. IBM proposed a biologically-inspired approach to tackle this challenge by designing computing systems that manage themselves in accordance with high-level objectives from humans. Over the past decade, there has been much research activity in the field of autonomic computing and at least 8000 research papers have been written on the topic. The evolution of autonomic computing reflects a growing acceptance of the idea that, for an autonomic computing element or system to manage itself competently, it needs to exploit (and often learn) models of how actions it might take would affect its own state and the state of the part of the world with which it interacts.

To understand how self-aware computing systems fit within the broader context of autonomic computing, we offer the following definition: A computing system is considered to be “self-aware” if it possesses, and/or is able to acquire at run-time, the following three properties, ideally to an increasing degree the longer the system is in operation:

  1. Self-reflective: Aware of its software architecture, execution environment, and hardware infrastructure on which it is running as well as of its operational goals (e.g., quality-of-service requirements, cost- and energy-efficiency targets),
  2. Self-predictive: Able to predict the effect of dynamic changes (e.g., changing workloads) as well as predict the effect of possible adaptation actions (e.g., adding/removing resources),
  3. Self-adaptive: Proactively adapting as the environment evolves in order to ensure that its operational goals are continuously met.

Understood in terms of these three properties, the design of self-aware computing systems calls for an integrated interdisciplinary approach building on results from multiple areas of computer science and engineering, including software and systems engineering, systems modeling, simulation and analysis, autonomic and organic computing, machine learning and artificial intelligence, data center resource management, and so on. One of the major challenges from a scientific perspective is the definition of appropriate abstractions and models for understanding, controlling, and designing emergent behavior in self-aware systems. Models are required to capture the relevant influences (with respect to the system’s operational goals) of the system’s software architecture, its configuration, its usage profile, and its execution environment (e.g., hardware and software stack). Models are also required to explicitly capture the system’s operational goals and policies as well as the system’s adaptation space, adaptation strategies and processes. The development of appropriate modeling techniques and tools provides the foundation for designing novel model-driven algorithms and architectures for self-aware computing systems. Inspired by a common vision requiring expertise from, and being relevant to, all of the mentioned research fields, the seminar aims to bring together researchers from the respective communities in order to enable the exchange of ideas and experiences as well as to encourage active collaborations and cross-fertilization between related research efforts in the area of model-driven algorithms and architectures for self-aware computing systems.

The goals of the seminar are to - raise the awareness about the relevant research efforts in the respective research communities as well as existing synergies that can be exploited to advance the state-of-the-art, - produce a joint report summarizing the current state of the field and related work as well as open research challenges, latest results, and active researchers in the field, - formulate a new research agenda that takes a broader view on the problem following an integrated and interdisciplinary approach, - establish collaborations between academia and industry, and - establish a new annual workshop on self-aware computing and plan a journal special issue.