|
CMU-S3D-25-120 Software and Societal Systems Department School of Computer Science, Carnegie Mellon University
Abstracting Distributed, Time-Sensitive Applications Kyle Liang September 2025
Ph.D. Thesis
This thesis proposes that a system using a macroprogramming language with dataflow graph semantics can reduce barriers to entry for programmers and domain experts unfamiliar with designing distributed, time-sensitive applications. We present TTPython: a domain-specific language and runtime system designed to write shorter and cleaner code for challenging cyber-physical applications. Its novel, timed, tagged-token dataflow graph execution model allows programmers to develop applications at a macroprogramming scale while supporting timing specifications such as periodicity and soft deadlines. The programmer specifies timing requirements and uses decorators and system-provided function calls to guide TTPython in the placement of code while TTPython handles distribution, communication, and coordination between devices. We have evaluated TTPython by comparing it to a best-practice implementation of a 1/10th-scale connected autonomous vehicle application. An in-progress case study on an intercity flooding application examines how TTPython affects design and system decisions during development. These two case studies serve as the foundation of a user study in which we ask users to write these DT applications using either TTPython or vanilla Python with a message-broker system. We find that programmers struggle when writing infrastructure code that TTPython abstracts, and find TTPython straightforward and helpful. Dataflow graphs have been applied in various contexts in parallelism and distributed computing, but little work has focused on token-tagged dataflow graphs. This thesis will show how incorporating time in a token-tagged dataflow graph makes it an effective tool for handling distributed, time-sensitive applications. We contribute key abstractions that make programming DT applications at scale approachable. The modified dataflow graph serves as the initial framework towards creating a standard digital distribution service for developing and deploying DT applications across shared devices, such as in a smart city.
161 pages
Nicolas Christin, Head, Software and Societal Systems Department
Creative Commons License: CC-BY (Attribution)
|
|
Return to:
SCS Technical Report Collection This page maintained by reports@cs.cmu.edu |
|