AboutResearch WorkTeaching (in French)Software projectsLinks |
Late Specialization of Embedded Java Systems for Small and Restrained DevicesAbstractJava is an attractive technology for embedded and constraint devices, thanks to its safety, portability, and low bytecode footprint properties. However, the important size of a Java environment obliged embedded devices producers to use degraded and features-limited specifications of Java, like J2ME and Java Card. These early specializations of Java lose applicative-level compatibility with the standard edition, and only address particular use cases. Our work consists in allowing using standard Java on constraint embedded systems, through a late and aggressive specialization that occurs after the deployment of applications on the system. The late occurrence of specialization allows to infer the usage conditions of the system more accurately, and to tailor it "on demand" according to the applications that run on it. Indeed, contrary to systems which rely on a custom-made specification (like J2ME or Java Card), or a system customization prior to its deployment (library extraction), we rely on a late specialization scheme that occurs after the deployment of the system within a virtual execution environment. Late specialization offers several advantages for the embedded system designer:
The customization tools can thus work in a much more friendly environment, with plenty of static data and information about its future behavior. As a side effect, customizing a deployed system has many other benefits in the context of embedded devices:
The result is a very low-footprint, custom-made system ready to run a set of deployed applications. We implemented this architecture on the JITS (Java In The Small) platform. Further reading |