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

求助全文
约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学术官方微信