FRP IoT Modules as a Scala DSL

Ben Calus, Bob Reynders, Dominique Devriese, Job Noorman, Frank Piessens

Onderzoeksoutput: Conference paper

8 Citaten (Scopus)

Samenvatting

With Internet of Things applications growing in size and popularity, physical sensor networks are more often running multiple complex applications. It becomes increasingly important to maintain these event-driven programs on embedded systems. Traditionally, event-driven applications such as sensor network applications are written using an imperative style of programming where different callback routines are registered to handle events. As the application complexity grows, the inverted control flow and reliance on shared global state makes this style of programming hard to maintain. Furthermore, sensor network applications are inherently distributed and are written by manually managing code-bases of sub-Applications that go on all nodes separately. If security is important, the programmer needs to manually interface with low-level security primitives because there is no built-in notion of components. We propose a more maintainable approach where the developer essentially writes a first-order FRP program, containing code fragments in an embedded subset of C. From this FRP program, we generate efficient C code to be run on every node. Every module of the FRP program is compiled to a separate C module, making it easy to deploy modules to different nodes, and to enhance the security of the application by isolating modules from other software running on the nodes. Our implementation is based on a Scala EDSL that we use to let the user conveniently embed fragments of C code. The annotated C code gets compiled to Sancus, a security architecture for IoT nodes that supports the secure and distributed execution of the generated modules.

Originele taal-2English
TitelREBLS 2017 - Proceedings of the 4th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems, co-located with SPLASH 2017
UitgeverijAssociation for Computing Machinery, Inc
Pagina's15-20
Aantal pagina's6
ISBN van elektronische versie9781450355155
DOI's
StatusPublished - 23 okt 2017
Evenement4th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems, REBLS 2017 - Vancouver, Canada
Duur: 23 okt 2017 → …

Conference

Conference4th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems, REBLS 2017
Land/RegioCanada
StadVancouver
Periode23/10/17 → …

Vingerafdruk

Duik in de onderzoeksthema's van 'FRP IoT Modules as a Scala DSL'. Samen vormen ze een unieke vingerafdruk.

Citeer dit