Energy-Aware System Design