In this thesis, we explore how legacy software investment can be re-used as part of new self-adaptive software. In effect, in an ever-changing environment where software are pervasive and control critical systems (robots on Mars, nuclear power plants or energy systems, high-frequency trading), hardware (vehicles, machines, robots), are more and more involved in our every days lives (socio-technical systems, social networks, smart-devices), it is evident that software are becoming tremendously complex. It can be expected that with some current technological paradigms such as distributed computing, internet of things (enabling software to cooperate and exchange real-time information), semantic web and technologies (enabling software to reason over the understanding of the environment), a software system is not simply expected to react automatically to our request, but to exhibit a proactive behavior and to adapt to its environment (the context in which it operates). At the same time, many existing legacy systems are still useful and can perform the complex roles they were constructed for. In a new self-adaptive system, these legacy functions could be used to achieve a software objective under a certain context. It is certainly difficult to integrate such code, as legacy systems were designed and implemented only for a specific purpose in the past. Transforming them to allow modification and integration with other actors is thus a challenging task, but would not only save high investment but also enable future modifications or extend the potential scope of use of the existing software. We consider that an adequate technique to drive the integration of legacy systems into self-adaptive systems is to transform first relevant legacy code into a multi-agent system (MAS), from which adaptation within the system and communication with other agents is easier to attain. We refer to this process as “adaptization”. We use as an adaptation proxy conceptually intelligent agents conforming to the Belief, Desire, Intention (BDI) model, one tool of Agent- Oriented Software Engineering (AOSE). This proxy permits to understand the legacy system in terms of goals to achieve and to address adaptiveness with goal selections at run-time (based on context), thus abstracting away the current implementation to a high level goal- achievement mechanism. In this thesis, we make sure first of the adequacy of agents concepts for the design of self-adaptive system and we propose a novel stepwise methodology towards adaptization: the Knowledge-Oriented Adaptization methodology for Legacy software Artifacts (KOALA).