This document provides an overview of self-adaptation and self-awareness, with a focus on reflective Russian dolls. It discusses white-box perspectives on adaptation, defining adaptation as the runtime modification of control data. Reflective Russian dolls are proposed as a way to support formal techniques for self-adaptation and self-awareness using logical reflection and wrapping components within each other. The document concludes by referencing key works in the field of self-adaptive software engineering.