Award Abstract # 1652397
CAREER: Harnessing Implementation Flexibility to Enable Runtime Adaptation

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: THE RESEARCH FOUNDATION FOR THE STATE UNIVERSITY OF NEW YORK
Initial Amendment Date: February 13, 2017
Latest Amendment Date: February 13, 2017
Award Number: 1652397
Award Instrument: Continuing Grant
Program Manager: Samee Khan
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2017
End Date: March 31, 2018 (Estimated)
Total Intended Award Amount: $525,582.00
Total Awarded Amount to Date: $199,938.00
Funds Obligated to Date: FY 2017 = $0.00
History of Investigator:
  • Geoffrey Challen (Principal Investigator)
    challen@buffalo.edu
Recipient Sponsored Research Office: SUNY at Buffalo
520 LEE ENTRANCE STE 211
AMHERST
NY  US  14228-2577
(716)645-2634
Sponsor Congressional District: 26
Primary Place of Performance: SUNY at Buffalo
338 Davis Hall
Buffalo
NY  US  14260-2500
Primary Place of Performance
Congressional District:
26
Unique Entity Identifier (UEI): LMCJKRFW5R81
Parent UEI: GMZUKXFDJMA9
NSF Program(s): CSR-Computer Systems Research
Primary Program Source: 01001718DB NSF RESEARCH & RELATED ACTIVIT
01001920DB NSF RESEARCH & RELATED ACTIVIT

01002021DB NSF RESEARCH & RELATED ACTIVIT

01002122DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 1045
Program Element Code(s): 735400
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

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.

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page