Future single chip systems will resemble more traditional computer networks than traditional central processors. The main reasons for this trend are the infeasibility of global synchrony on a single chip, the necessity of reuse of existing hardware and software components as much as possible, and the heterogeneity and irregularity of system functions and features. The consequences of this trend are far reaching and imply the shift in concern from computation and sequential algorithms to concurrency, communication and interaction in every aspect of design and development of hardware and software.
Based on an analsysis of current trends we suggest that there is an opportunity for defining an interface between applications and Netork-on-Chip (NoC) platform implementations with significant benefits for both worlds. We analyse the desirable properties of such an interface by means of studying a particular NoC platform, the Nostrum. We draw the general conclusion that such an interface, which we also call contract, has to include (1) description of functionality, (2) description of communication semantics and performance, and (3) mapping of task to resources.