ENSembles) project [@wirsing2015software], the interplay between human developers and autonomous adaptation has been formalized in a life-cycle model featuring separate states for each the development progress of each respective feedback cycle. Classical software development tasks and self-adaptation (as well as self-monitoring and self-awareness) are regarded as equally powerful contributing mechanisms for the production of software. Both can be employed in junction to steer the development process. In addition, ASCENS built upon a (in parts) similar formal notion of adaptivity [@bruni2012conceptual; @nicola2014formal] and sketched a connection between adaptivity in complex distributed systems and multi-goal multi-agent learning [@holzl2015reasoning].

*ADELFE* (Atelier de Développement de Logiciels à Fonctionnalité Emergente) is a toolkit designed to augment current development processes to account for complex adaptive systems [@bernon2003tools; @bernon2005engineering]. For this purpose, ADELFE is based on the Rational Unified Process (RUP) [@kruchten2004rational] and comes with tools for various tasks of software design. From a more scientific point of view, ADELFE is also based on the theory of adaptive multi-agent systems. For ADELFE, multi-agent systems are used to derive a set of stereotypes for components, which ease modeling for according types of systems. It thus imposes stronger restrictions on system design than our approach intends to.

Besides the 