Adaptive Mobile Computing