Could tierless languages reduce IoT development grief?

Lubbers, M., Koopman, P., Ramsingh, A., Singer, J. and Trinder, P. (2023) Could tierless languages reduce IoT development grief? ACM Transactions on Internet of Things, 41(1), 6. (doi: 10.1145/3572901)

[img] Text
283797.pdf - Accepted Version
Available under License Creative Commons Attribution.

1MB

Abstract

Internet of Things (IoT) software is notoriously complex, conventionally comprising multiple tiers. Traditionally an IoT developer must use multiple programming languages and ensure that the components interoperate correctly. A novel alternative is to use a single tierless language with a compiler that generates the code for each component and ensures their correct interoperation. We report a systematic comparative evaluation of two tierless language technologies for IoT stacks: one for resource-rich sensor nodes (Clean with iTask), and one for resource-constrained sensor nodes (Clean with iTask and mTask). The evaluation is based on four implementations of a typical smart campus application: two tierless and two Python-based tiered. (1) We show that tierless languages have the potential to significantly reduce the development effort for IoT systems, requiring 70% less code than the tiered implementations. Careful analysis attributes this code reduction to reduced interoperation (e.g. two embedded domain-specific languages (DSLs) and one paradigm versus seven languages and two paradigms), automatically generated distributed communication, and powerful IoT programming abstractions. (2) We show that tierless languages have the potential to significantly improve the reliability of IoT systems, describing how Clean iTask/mTask maintains type safety, provides higher order failure management, and simplifies maintainability. (3) We report the first comparison of a tierless IoT codebase for resource-rich sensor nodes with one for resource-constrained sensor nodes. The comparison shows that they have similar code size (within 7%), and functional structure. (4) We present the first comparison of two tierless IoT languages, one for resource-rich sensor nodes, and the other for resource-constrained sensor nodes.

Item Type:Articles
Additional Information:Thanks to Kristian Hentschel and Dejice Jacob who developed and maintain PRS and to funders: Royal Netherlands Navy, the Radboud-Glasgow Collaboration Fund, and UK EPSRC grants MaRIONet (EP/P006434) and STARDUST (EP/T014628).
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Singer, Dr Jeremy and Trinder, Professor Phil and Ramsingh, Mr Adrian
Authors: Lubbers, M., Koopman, P., Ramsingh, A., Singer, J., and Trinder, P.
College/School:College of Science and Engineering > School of Computing Science
Journal Name:ACM Transactions on Internet of Things
Publisher:Association for Computer Machinery
ISSN:2691-1914
ISSN (Online):2577-6207
Published Online:30 November 2022
Copyright Holders:Copyright © 2022 Association for Computing Machinery
First Published:First published in ACM Transactions on Internet of Things 41(1): 6
Publisher Policy:Reproduced in accordance with the publisher copyright policy

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
173366MaRIONet: Manycore Research Interaction and Opportunities NetworkJeremy SingerEngineering and Physical Sciences Research Council (EPSRC)EP/P006434/1Computing Science
306912Session Types for Reliable Distributed SystemsSimon GayEngineering and Physical Sciences Research Council (EPSRC)EP/T014628/1Computing Science