GGrantIndex
← Search

CAREER: Harnessing Implementation Flexibility to Enable Runtime Adaptation

$525,582FY2018CSENSF

University Of Illinois At Urbana-Champaign, Urbana IL

Investigators

Abstract

Smartphones and the applications (apps) that they run are transforming our world. Web apps and software marketplaces have made it easier than ever before to distribute software to anyone and anywhere. However, writing good smartphone apps remains challenging. Developers must anticipate and adapt to numerous different devices and users, and to the changing conditions and environments caused by mobility. One minute the network is fast and free, the next it is slow and metered. The importance of adaptation to successful mobile apps is well understood. However, little language and system support exists to help developers create and improve adaptive mobile apps. This project investigates a new system enabling the next generation of adaptive apps. Central to the approach is a new language construct that allows developers to express flexibility within their source code. This allows decisions that today must be made during development to be deferred, and leaves flexibility that can be harnessed to enable adaptation. Intelligently utilizing flexibility exposed by developers requires novel approaches to automated pre-deployment testing and dynamic adaptation policy generation. The project also explores how to guide developers toward useful flexibility, and how flexibility should be managed and exposed in current and next-generation programming languages. The integrated educational plan also explores how to harness flexibility, but uses it to adapt online courses to make them more effective. Beginning with a concept library containing overlapping and self-reinforcing lessons, the project explores two forms of flexibility. Lessons can be reordered to express different prerequisites, and within each lesson multiple explanations an be used for different students. Integrated quiz results and other forms f feedback will be used to determine the success or failure of different approaches. These new personalized learning techniques will be applied to an existing online course on the internet created by the investigator.

View original record on NSF Award Search →