Abstract-This paper presents a self-organizing approach to developing and managing distributed software in pervasive computing environments. In such environments, people are surrounded by hundreds of mobile or embedded computers each of which may be used to support one or more user applications due to limitations in their individual computational capabilities. We need an approach to coordinating heterogeneous computers that acts as a virtual computer around a mobile and pervasive computing environment and supports various applications beyond the capabilities of single computers. This paper presents a framework for building and aggregating distributed applications from one or more mobile components that can be dynamically deployed at mobile or stationary computers during the execution of the application. Since the approach involves mobile-transparent communications between components and component relocation semantics, it enables a federation of components to adapt its structure and be deployed on multiple computers whose computational resources, such as input and output devices, can satisfy the requirement of the components in a self-organized manner. This paper also describes a prototype implementation of the approach and its application.