: Software agents are often employed in distributed environments to cope with the various dynamical dimensions of such systems. Furthermore, the paradigm of agent-oriented software engineering is of special interest in the course of ubiquitous computing and the emerging mobility of users. One reason for this are the constituting characteristics of agents, that perfectly suit the accompanying demands of these trends. Hence, this paper introduces a new kind of adaptive, mobile application supporting the "anywhere and anytime"-ability of mobile computing in general as well as the mobility of users and their adaptation to new computing environments. Therefore, a generic and extensible environment model, facing the heterogeneity of the infrastructure and entities within the environment, is presented in this paper. Further on, a mobility model for safe and efficient migration of agents is introduced. Using these models, agents may adaptively choose appropriate migration strategies ...