During the past decade, many different research communities have explored the aspects of self-awareness in computing systems, each from their own perspective. Relevant work can be found in different areas including autonomic computing, self-adaptive and self-organizing software and systems, machine learning, artificial intelligence and multi-agent systems, organic computing, context- and situation-aware systems, reflective computing, model-predictive control, as well as work from the models@run-time community.
The workshop on self-aware computing (SeAC) provides a forum to foster interaction and collaborations between the respective research communities, raising the awareness about related research efforts and synergies that can be exploited to advance the state of the art. The workshop was initiated by the 2015 Dagstuhl Seminar 15041 on model-driven algorithms and architectures for self-aware computing systems, which brought together 45 international experts . As proposed by the seminar and documented in a recent Springer book on the topic, self-aware computing systems are understood in a broad sense seeking to integrate the different ways in which this term is used in the interdisciplinary research landscape.
More specifically, self-aware computing systems are understood as having two main properties. They
> learn models, capturing knowledge about themselves and their environment (such as their structure, design, state, possible actions, and runtime behavior) on an ongoing basis; and
> reason using the models (to predict, analyze, consider, or plan), which enables them to act based on their knowledge and reasoning (for example, to explore, explain, report, suggest, self-adapt, or impact their environment) and do so in accordance with high-level goals, which can change.