| |||||
| |||||
Tutorial OverviewImportant Information
Modern embedded software is becoming increasingly dynamic and adaptive. Software dynamic translation (SDT) is a technology that enables software malleability and adaptivity at the instruction-level by providing facilities for run-time monitoring and code modification. This paradigm makes it easier to achieve dynamic capabilities that would be difficult, or impossible, to otherwise accomplish. For example, SDT has uses in embedded systems for code security resource management, run-time verification, binary instrumentation, and many others. Although SDT has compelling uses for embedded systems, it has not been as widely deployed in this domain as in general-purpose systems. This tutorial aims to raise awareness in the embedded systems community about how SDT can solve important problems faced by embedded system designers and dispel myths about the technology's performance and memory overhead. The tutorial will describe the benefits and challenges to using SDT in resource-constrained embed- ded devices. We will first introduce SDT to tutorial attendees, including its fundamental operation. We will next describe techniques specific to embedded systems to improve SDT performance and memory overhead. Finally, case studies of SDT will be presented on securing software intellectual property and managing on-chip scratchpad memory. The tutorial will be presented in the context of a software infrastructure, Strata, which has been developed and used for nearly ten years by the presenters and others for research on SDT. The tutorial will have enough breadth and detail to be beneficial to both embedded system engineers/researchers new to SDT and those who are experienced with it. The tutorial will assume that attendees have an undergraduate background in computer science/computer engineering. The tutorial will be arranged as a combination of lecture and demonstration (case studies). | |||||
| Last modified by childers on January 3, 2012. Credits |