Carnegie Mellon University
Browse

Abstracting Distributed, Time-Sensitive Applications

Download (33.68 MB)
thesis
posted on 2025-11-10, 22:23 authored by Kyle LiangKyle Liang
<p dir="ltr">Distributed and Time-sensitive (DT) cyber-physical systems are challenging to design and develop. When writing systems in conventional languages, programmers struggle to write programs at scale due to the complexity of intrusive, cross-cutting concerns in a heterogeneous, distributed system with sensing and actuation timing requirements. </p><p dir="ltr">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 require?ments 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. </p><p dir="ltr">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.</p>

History

Date

2025-09-26

Degree Type

  • Dissertation

Thesis Department

  • Software and Societal Systems (S3D)

Degree Name

  • Doctor of Philosophy (PhD)

Advisor(s)

Jonathan Aldrich

Usage metrics

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC