Exposing Contextual Information for Balancing Software Autonomy and User Control in Context-Aware Systems