High-level Programming on Low-level Platforms: Two Domain-specific Languages based on Haskell
Licentiatavhandling, 2023
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
Confidential Computing
TEE
Haskell
Författare
Robert Krook
Chalmers, Data- och informationsteknik, Funktionell programmering
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 i proceeding
HasTEE - Programming Trusted Execution Environments with Haskell
Haskell 2023 - Proceedings of the 16th ACM SIGPLAN International Symposium on Haskell, Co-located with ICFP 2023,;(2023)p. 72-88
Paper i proceeding
Octopi: Säker Programmering för Sakernas Internet
Stiftelsen för Strategisk forskning (SSF), 2018-05-01 -- .
Styrkeområden
Informations- och kommunikationsteknik
Ämneskategorier (SSIF 2011)
Inbäddad systemteknik
Datavetenskap (datalogi)
Datorsystem
Utgivare
Chalmers
EC
Opponent: Troels Henriksen, DIKU, Denmark