For future E-commerce systems that are engaged in many dynamic trading relationships, the ability to adapt themselves smoothly will increasingly become a critical property. In this paper, we first define the basic semantic structure of a collaborative process. Then we introduce a formal framework for self-adaptive systems. We argue that self-adaptive systems should specify goals explicitly, and propose a goal-based architecture. We further argue that for systems that operate in a shared environment with other systems, self-adaptation should be extended with co-adaptation. We define four levels of co-adaptation, and present an argumentation mechanism that can be used to enable co-adaptation at the higher levels.