This project develops design methods for embedded software in the context of portable, integrated and secure platforms. An example of such a platform is a key-chain or a next-generation smart-card with integrated electronics and embedded fingerprint sensor. The key-chain allows to use biometrics as a personal key in electronic payments or access control. The software for this platform is complex and draws from multiple application domains, including signal processing, cryptography, and protocol transaction processing. Moreover, this software must integrate encryption and fingerprint signal co-processors. Thus, the design method for such software must allow for multiple design paradigms to coexist, and at the same time must also make optimal use of the constrained, embedded form factor to which it is confined.
The design method is based on two principles. The first principle is the use of virtual machine specializations. A virtual machine allows for a smooth, write-once run-everywhere development concept, while the specializations allow native support of domain-specific co-processors. The second principle is that of flexible interconnect, which allows to shape the target architecture to the application at hand. Both of these methods are genuine innovations in embedded software design context.
On a broader scale, these design techniques are applicable to a wide range of portable, embedded devices that provide a tighter coupling of secure information infrastructure with the real world. For example, currently digital identities are insufficiently coupled to physical identities, resulting in identity theft becoming a large-scale problem. Software is a key enabler to combat this problem, and the design techniques from this project will have broad impact by allowing this software to migrate to the embedded context where it is required.