Future systems also offer new challenges. One aspect is the wide variety of characteristics of tasks. Take for example multimedia. In many cases these are real time constraints. In other cases fall back mechanisms are possible and we can design for average timing constraints.
Tasks also require varying degrees of programmability.
One of the main challenges, however, is that the time to market of IT products will be even more critical. The system designers will often make decisions with this constraint in mind. For example, for a first generation it is important to be first on the market while for later generations the cost aspect might become important. For ASICs, re-usability, which requires some degree of programmability, becomes an important issue. How is the software support and programmability at different levels to be addressed.