In the last two decades, the popularity of self-adaptive systems in the field
of software and systems engineering has drastically increased. However, despite
the extensive work on self-adaptive systems, the literature still lacks a
common agreement on the definition of these systems. To this day, the notion of
self-adaptive systems is mainly used intuitively without a precise
understanding of the terminology. Using terminology only by intuition does not
suffice, especially in engineering and science, where a more rigorous
definition is necessary. In this paper, we investigate the existing formal
definitions of self-adaptive systems and how these systems are characterised
across the literature. Additionally, we analyse and summarise the limitations
of the existing formal definitions in order to understand why none of the
existing formal definitions is used more broadly by the community. To achieve
this, we have conducted a systematic literature review in which we have
analysed over 1400 papers related to self-adaptive systems. Concretely, from an
initial pool of 1493 papers, we have selected 314 relevant papers, which
resulted in nine primary studies whose primary objective was to define
self-adaptive systems formally. Our systematic review reveals that although
there has been an increasing interest in self-adaptive systems over the years,
there is a scarcity of efforts to define these systems formally. Finally, as
part of this paper, based on the analysed primary studies, we also elicit
requirements and set a foundation for a potential (formal) definition in the
future that is accepted by the community on a broader range.