With the intensified use of intelligent things, the demands on the
technological systems are increasing permanently. A possible approach to meet
the continuously changing challenges is to shift the system integration from
design to run-time by using adaptive systems. Diverse adaptivity properties,
so-called self-* properties, form the basis of these systems and one of the
properties is self-improvement. It describes the ability of a system not only
to adapt to a changing environment according to a predefined model, but also
the capability to adapt the adaptation logic of the whole system. In this
paper, a closer look is taken at the structure of self-adaptive systems.
Additionally, the systems' ability to improve themselves during run-time is
described from the perspective of Organic Computing. Furthermore, four
different strategies for self-improvement are presented, following the taxonomy
of self-adaptation suggested by Christian Krupitzer et al.