Implementation of a self-adaptive system should be on the premise of explicitly representing and efficiently perceiving its environment, which is a challenge to the self-adaptive system research. In this paper, the autonomous entities in self-adaptive systems are abstracted as agents, and the complex self-adaptive systems are regarded as multi-agent organizations. Based on dynamic binding, we present an adaptive mechanism and its supporting framework to develop self-adaptive agents. In the framework, environment is regarded as the first-class abstraction, and a language is provided to abstract and describe the environment in which self-adaptive multi-agent organizations are situated. To perceive the environment efficiently, two approaches are presented based on event publish-subscrib and softsensor, and also the method of dynamic associating the relationship between softsensor and environment. Based on the approaches, the developed complex self-adaptive systems can represent their environment explicitly and perceive the environment transparently, and it is easy to maintain and upgrade those systems. This paper introduces the supporting platform SADE for the above mechanism, technology and language. In addition, a case study is presented to illustrate the feasibility and effectiveness of the proposed approaches.