Theses Doctoral

Sparse Synchronous Programming with Temporal Abstractions

Hui, John

For many embedded applications, the timing of a result is as important as its value. However, most programming languages treat timing as a side effect, so they cannot convey temporal behavior without compromising precision, efficiency, or flexibility.

This dissertation presents the Sparse Synchronous Model (SSM), a programming model for building temporal abstractions with high-level languages. SSM is deterministic and defines behavior in terms of logical time, but is more expressive than the synchronous languages it was inspired by. It uses the same abstractions for internal events and external I/O, so the meaning of each program is preserved across different platforms.

The main contributions of this work are the formal semantics of SSM, and SSLANG, a standalone functional programming language that implements SSM and runs on microcontrollers. SSLANG's runtime keeps the software synchronized with the real world, and uses timing-aware hardware peripherals to achieve jitter-free I/O with sub-microsecond precision.

The dissertation also describes two embeddings of SSM in existing languages to show that the model is compatible with conventional programming paradigms. Together, these results illustrate the value of extensible, timing-aware programming abstractions for building reliable real-time systems.

Files

  • thumnail for Hui_columbia_0054D_18880.pdf Hui_columbia_0054D_18880.pdf application/pdf 770 KB Download File

More About This Work

Academic Units
Computer Science
Thesis Advisors
Edwards, Stephen A.
Degree
Ph.D., Columbia University
Published Here
November 6, 2024