High-level Programming on Low-level Platforms: Two Domain-specific Languages based on Haskell
Licentiate thesis, 2023
As an example, consider applications that run on microcontrollers. Such applications
may need to specify precise temporal behavior, carefully manage power usage, and handle cryptographic keys.
Low-level platforms are programmed using low-level languages such as C/C++, where the lack of expressiveness can
lead to error-prone code.
We investigate whether we can use high-level languages to program these platforms, by embedding domain-specific languages
in a host language, Haskell. A high-level language offers better expressivity and shields the developer from low-level
details, yielding code that more concretely describes what the application is supposed to do. Furthermore, a richer runtime
system could ease the burden of e.g. memory management and scheduling of coroutines.
The papers in this thesis indicate that it is possible to program these devices using a high-level language. We develop
two domain-specific languages, Scoria and HasTEE. Scoria is evaluated on NRF52 microcontrollers, where we run applications
that require precise, temporal behavior and perform I/O. HasTEE is evaluated on machines whose processor has support
for Intel Software Guard Extension and shows that the type system of Haskell can be used to automatically partition a Haskell
application and run it in a trusted execution environment.
Embedded Domain-specific Languages
Haskell
Confidential Computing
TEE
Author
Robert Krook
Chalmers, Computer Science and Engineering (Chalmers), Functional Programming
Creating a Language for Writing Real-Time Applications for the Internet of Things
2022 20th ACM-IEEE International Conference on Formal Methods and Models for System Design, MEMOCODE 2022,;(2022)
Paper in proceeding
Sarkar, A. Krook, R. Russo, A. Claessen, K. HasTEE - Confidential Computing on Trusted Execution Environments with Haskell
Octopi: Secure Programming for the Internet of Things
Swedish Foundation for Strategic Research (SSF), 2018-05-01 -- .
Areas of Advance
Information and Communication Technology
Subject Categories
Embedded Systems
Computer Science
Computer Systems
Publisher
Chalmers
EC
Opponent: Troels Henriksen, DIKU, Denmark