The architectures of modern embedded systems tend to be highly application-specific, containing features such as heterogeneous multicore pro- cessors, non-uniform memory architectures, custom function accelerators and on-chip networks. Furthermore, these systems are resource-constrained and are often deployed as part of safety-related systems. This necessitates the lev- els of certification and the use of designs that meet stringent non-functional requirements (such as timing or power). This chapter focusses upon new tools for the generation of software and hardware for modern embedded systems implemented using Java. The approach promotes rapid deployment and de- sign space exploration, and is integrated into a fully model-driven toolflow that supports existing industrial practices. The presented approach allows the automatic deployment of architecture-neutral Java code over complex em- bedded architectures, with minimal overheads and a run-time support that is amenable to real-time analysis.

BibTex Entry

@inbook{Gray2014a,
 author = {I. Gray and N. C. Audsley and D. Kolovos and N. Matragkas and R. Paige and L. S. Indrusiak},
 pages = {23-53},
 publisher = {Springer-Verlag, Berlin},
 title = {Automatic Development of Embedded Systems Using Model Driven Engineering and Compile-Time Virtualisation, in Embedded and Real Time System Development: A Software Engineering Perspective},
 year = {2014}
}