Programming IoT systems: A focused conceptual framework and survey of approaches

IF 6 3区 计算机科学 Q1 COMPUTER SCIENCE, INFORMATION SYSTEMS
Roberto Casadei , Fabrizio Fornari , Stefano Mariani , Claudio Savaglio
{"title":"Programming IoT systems: A focused conceptual framework and survey of approaches","authors":"Roberto Casadei ,&nbsp;Fabrizio Fornari ,&nbsp;Stefano Mariani ,&nbsp;Claudio Savaglio","doi":"10.1016/j.iot.2025.101548","DOIUrl":null,"url":null,"abstract":"<div><div>Any software engineer of Internet of Things (IoT) systems deals with three macro issues: how to perceive the properties of interest through sensors (<em>sensing</em> facet), how to process such information to decide what to do to achieve the system goals (<em>processing</em> facet), and how to enact such decisions by affecting the IoT system itself and its deployment environment accordingly (<em>actuation</em> facet). For each, one can either develop ad-hoc solutions from scratch, with mainstream programming languages, or build on top of existing IoT-specific software libraries, frameworks, and platforms. Here, we survey the broad state of the art of “IoT programming”, with a focus on clarifying which and how <em>programming paradigms and platforms</em> deal with four key features demanded by modern IoT systems: <em>scale-independence</em>, <em>situatedness</em>, <em>adaptiveness</em>, and <em>opportunistic deployment</em>, along the aforementioned three facets. We motivate such needs by describing compelling contemporary and near future scenarios. Then, we propose a reference <em>conceptual framework of programming IoT systems</em> with the goal of <em>(i)</em> uncovering which research areas are mostly active in IoT programming, and <em>(ii)</em> placing the state of the art at the intersection between the appropriate features and facets, to both <em>(iii)</em> clarify which approaches are most suited for different kinds of tasks, and <em>(iv)</em> emphasising open challenges. This conceptual framework is a novel contribution in the landscape of IoT programming surveys, and is intended to be a practical aid for researchers and practitioners that are deciding which computational tools (e.g. languages and platforms) to adopt while building their own IoT systems.</div></div>","PeriodicalId":29968,"journal":{"name":"Internet of Things","volume":"31 ","pages":"Article 101548"},"PeriodicalIF":6.0000,"publicationDate":"2025-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Internet of Things","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2542660525000617","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 0

Abstract

Any software engineer of Internet of Things (IoT) systems deals with three macro issues: how to perceive the properties of interest through sensors (sensing facet), how to process such information to decide what to do to achieve the system goals (processing facet), and how to enact such decisions by affecting the IoT system itself and its deployment environment accordingly (actuation facet). For each, one can either develop ad-hoc solutions from scratch, with mainstream programming languages, or build on top of existing IoT-specific software libraries, frameworks, and platforms. Here, we survey the broad state of the art of “IoT programming”, with a focus on clarifying which and how programming paradigms and platforms deal with four key features demanded by modern IoT systems: scale-independence, situatedness, adaptiveness, and opportunistic deployment, along the aforementioned three facets. We motivate such needs by describing compelling contemporary and near future scenarios. Then, we propose a reference conceptual framework of programming IoT systems with the goal of (i) uncovering which research areas are mostly active in IoT programming, and (ii) placing the state of the art at the intersection between the appropriate features and facets, to both (iii) clarify which approaches are most suited for different kinds of tasks, and (iv) emphasising open challenges. This conceptual framework is a novel contribution in the landscape of IoT programming surveys, and is intended to be a practical aid for researchers and practitioners that are deciding which computational tools (e.g. languages and platforms) to adopt while building their own IoT systems.

Abstract Image

物联网系统编程:重点概念框架和方法调查
任何物联网(IoT)系统的软件工程师都要处理三个宏观问题:如何通过传感器感知感兴趣的属性(传感方面),如何处理这些信息以决定如何实现系统目标(处理方面),以及如何通过相应地影响物联网系统本身及其部署环境来制定这些决策(驱动方面)。对于每一个,你都可以用主流编程语言从头开始开发特别的解决方案,或者在现有的物联网特定软件库、框架和平台上构建。在这里,我们调查了“物联网编程”的广泛现状,重点是澄清编程范式和平台如何处理现代物联网系统所需的四个关键特征:规模独立性、情境性、适应性和机会部署,以及上述三个方面。我们通过描述引人注目的当代和不久的将来的场景来激发这些需求。然后,我们提出了一个物联网系统编程的参考概念框架,其目标是(i)揭示哪些研究领域在物联网编程中最活跃,(ii)将最先进的技术置于适当的特征和方面之间的交叉点,以(iii)阐明哪些方法最适合不同类型的任务,以及(iv)强调开放的挑战。这个概念框架是物联网编程调查领域的一个新贡献,旨在为在构建自己的物联网系统时决定采用哪种计算工具(例如语言和平台)的研究人员和实践者提供实用帮助。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Internet of Things
Internet of Things Multiple-
CiteScore
3.60
自引率
5.10%
发文量
115
审稿时长
37 days
期刊介绍: Internet of Things; Engineering Cyber Physical Human Systems is a comprehensive journal encouraging cross collaboration between researchers, engineers and practitioners in the field of IoT & Cyber Physical Human Systems. The journal offers a unique platform to exchange scientific information on the entire breadth of technology, science, and societal applications of the IoT. The journal will place a high priority on timely publication, and provide a home for high quality. Furthermore, IOT is interested in publishing topical Special Issues on any aspect of IOT.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信