Interfaces, Models, and Monitoring for Resource-Aware Transformations that Augment the Lifecycles of Systems

IMMoRTALS will create advanced program analysis, resource specification, program syn-thesis, and runtime techniques to manage resource-related changes in applications' ecosystem. Technologies developed by the IMMoRTALS project will help extend the life of networked mobile applications over many generations of changes in hardware devices, OS upgrades, and evolution of library and infrastructure services. We will demonstrate and evaluate these technologies in the context of a tactical situational awareness information management platform and the Android Team Awareness Kit (ATAK) application, a combination that is widely used in civilian (e.g., FBI) and military (e.g., Special Operations Command, SOCOM) operations and in several DARPA research efforts. BBN is working with researchers from Oregon State University, Securboration, Vanderbilt University and Syracuse University to realize IMMoRTALS.

A tactical application designed to run on mobile devices will face multiple change drivers over its lifecycle. These include differences in the system resources (e.g., CPU, memory) available on the devices on which it needs to run, changes in the software ecosystem in which the application lives (i.e., the software layers and libraries on which the application implicitly and explicitly de-pends and the services they use at runtime), and variations in the requirements of the missions it serves. For the most part, programs do not currently respond well to such changes.

Emerging program evolution technologies can compensate for limited changes in Application Programming Interfaces (APIs), libraries, and data structures and schemas. There has also been foundational work in dynamic resource management and Quality of Service (QoS)-aware adaptation techniques that respond to changes in systems resources such as network bandwidth, CPU, or memory, including our own. The envsioned scope of IMMoRTALS, covering automated handling of anticipated and unanticipated changes in the system resources and ecosystem throughout the application's entire lifecycle, goes well beyond what is possible today. Even the current state-of-the-art techniques cannot eliminate manual rewriting of the application, which is expensive, time consuming, labor-intensive, and error prone- IMMoRTALS aims to evolve programs in a mostly automated way. This work is part of the DARPA BRASS program and is sponsored by AFRL.