Given the constrained nature of the embedded system designs related to size, timing, power, reliability and mobility issues, software for embedded systems goes beyond traditional programming approaches to building software for embedded real and non-real time systems.
A systems design perspective is needed that evaluates software cost-performance tradeoffs subject to various optimization criteria and tools.