The Context-Aware Software Factory