This paper introduces Machine Java, a framework of classes for the Java programming language that enable the description of software for systems with heterogeneous processing elements (such as CPUs, microcontrollers and function accelerators). Intended for the behavioural description of embedded systems, Machine Java encapsulates both the data and control aspects of computation into machine' objects that are appropriate for mapping onto architecturally diverse multiprocessors. System descriptions in Machine Java avoid the need for a separate programming language for each processing element, and makes explicit description of communications between processors unnecessary. Suitability for a wide variety of hardware platforms is enhanced by avoiding dependence on notions of shared memory or shared timing resources.

BibTex Entry

@inproceedings{Plumbridge2011,
 author = {G. J. Plumbridge and N. C. Audsley},
 booktitle = {Proc of the 6th Int Workshop on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC)},
 title = {Extending Java for Heterogeneous Embedded System Description},
 year = {2011}
}