This book describes the emerging field of self-organizing, multicore, distributed and real-time embedded systems. Self âorganization of both hardware and software can be a key technique to handle the growing complexity of modern computing systems. Distributed systems running hundreds of tasks on dozens of processors, each equipped with multiple cores, requires selfâorganization principles to ensure efficient and reliable operation. This book addresses various, so-called SelfâX features such as self-configuration, selfâoptimization, selfâadaptation, selfâhealing and selfâprotection.