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)
![]() |
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