Software Adaptation In An Open Environme