A multi-level strategy for software power estimation