The architecture of GEAMAS is actually implemented in an agent language, ReActalk [3], that is an agent environment to develop and experiment with agents. The notion of self-adaptation has been realised thanks to reflection. Reflection allows an agent to draw a feedback of his behaviour and to dynamically update and modify it. For our proposal, the reflection mechanism helps in implementing the interpretation of the instability of reactive agents, when a Recomposition message is received by an agent. The agent receiving the message must then respond by adapting his behaviour. Such an agent is called a reflective agent.
Reflection then provides a natural framework for expressing dynamic evolution of agents behaviours. When an agent is created, a meta-agent is given to it. This meta-agent provides an easy access to the self-adaptation facilities of an agent. The whole structure of the system is described in Giroux et al. (1996) [4], and the ReActalk environment in Giroux (1996) [3].