# Language Support for Adaptation: Intent-Driven Programming in FAST

**Authors:** Yao-Hsiang Yang, Adam Duracz, Ferenc A. Bartha, Ryuichi Sai, Ahsan, Pervaiz, Saeid Barati, Dung Nguyen, Robert Cartwright, Henry Hoffmann,, Krishna V. Palem

arXiv: 1907.08695 · 2019-07-23

## TL;DR

This paper proposes an intent-driven programming model that allows programs to adapt dynamically based on specified intents, enhancing flexibility and resource management, demonstrated through the FAST language extension of Swift.

## Contribution

It introduces FAST, a novel intent-driven programming language that extends Swift, enabling dynamic adaptation to environmental changes and user-defined intents during execution.

## Key findings

- FAST supports dynamic adaptation to environment changes.
- FAST enables mixing procedural control with feedback-based control.
- FAST demonstrates improved resource management and flexibility.

## Abstract

Historically, programming language semantics has focused on assigning a precise mathematical meaning to programs. That meaning is a function from the program's input domain to its output domain determined solely by its syntactic structure. Such a semantics, fosters the development of portable applications which are oblivious to the performance characteristics and limitations (such as a maximum memory footprint) of particular hardware and software platforms. This paper introduces the idea of intent-driven programming where the meaning of a program additionally depends on an accompanying intent specification expressing how the ordinary program meaning is dynamically modified during execution to satisfy additional properties expressed by the intent. These include both intensional properties---e.g., resource usage---and extensional properties---e.g., accuracy of the computed answer. To demonstrate the intent-driven programming model's value, this paper presents a general-purpose intent-driven programming language---called FAST---implemented as an extension of Swift. FAST consists of an intent compiler, a profiler, a general controller interface and a runtime module which supports interoperation with legacy C/C++ codes. Compared to existing frameworks for adaptive computing, \FAST{} supports dynamic adaptation to changes both in the operating environment and in the intent itself, and enables the mixing of procedural control and control based on feedback and optimization.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1907.08695/full.md

## Figures

23 figures with captions in the complete paper: https://tomesphere.com/paper/1907.08695/full.md

## References

39 references — full list in the complete paper: https://tomesphere.com/paper/1907.08695/full.md

---
Source: https://tomesphere.com/paper/1907.08695