The AbU Language: IoT Distributed Programming Made Easy

被引:3
|
作者
Pasqua, Michele [1 ]
Comuzzo, Massimo [2 ]
Miculan, Marino [2 ]
机构
[1] Univ Verona, Dept Comp Sci, I-37134 Verona, Italy
[2] Univ Udine, Dept Math Comp Sci & Phys, I-33100 Udine, Italy
关键词
IoT programming; ECA rules; attribute-based memory updates; distributed systems; edge computing; domain specific language; ECA RULES; VERIFICATION; CALCULUS;
D O I
10.1109/ACCESS.2022.3230287
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Event-driven programming based on Event-Condition-Action (ECA) rules allows users to define complex automation routines in a simple, declarative way; for this reason, in recent years ECA rules have been adopted by the majority of companies in the Internet of Things (IoT) industry as a promising paradigm for implementing ubiquitous and pervasive systems. Unfortunately, programming simplicity comes to a price: most implementations of ECA rules are bound to a strongly centralized communication infrastructure, that poses serious limitations on the application scenarios for the IoT, due to scalability, security and availability issues. To mitigate these issues, recent works introduced abstractions for communication and coordination of ensembles of IoT devices in a decentralized setting, effectively moving the computation towards the edge of the network without sacrificing the programming simplicity prerogative of ECA rules. In particular, Attribute-based memory Updates is a communication model transparently enhancing ECA rules-based systems with an interaction mechanism where communication is similar to broadcast but actual receivers are selected on the spot, by means of predicates (i.e., properties) over devices attributes. In this paper, we introduce AbU-dsl, a Domain Specific Language for the IoT that compiles on top of an implementation of Attribute-based memory Updates. In this way, AbU-dsl provides a practical development interface, based on ECA rules, to effectively program IoT devices in a fully decentralized setting, by exploiting a full-fledged attribute-based interaction model. Thus, programmers can specify interactions between devices in a declarative way, abstracting from details such as devices identity, number, or even their existence, without the need for a central controlling service.
引用
收藏
页码:132763 / 132776
页数:14
相关论文
共 50 条
  • [41] GUESSTIMATE: A Programming Model for Collaborative Distributed Systems
    Rajan, Kaushik
    Rajamani, Sriram
    Yaduvanshi, Shashank
    PLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2010, : 210 - 220
  • [42] Programming IoT systems: A focused conceptual framework and survey of approaches
    Casadei, Roberto
    Fornari, Fabrizio
    Mariani, Stefano
    Savaglio, Claudio
    INTERNET OF THINGS, 2025, 31
  • [43] Affine Refinement Types for Secure Distributed Programming
    Bugliesi, Michele
    Calzavara, Stefano
    Eigner, Fabienne
    Maffei, Matteo
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2015, 37 (04):
  • [44] Programming distributed systems with group_IO
    Guerra, F
    Miranda, J
    Santos, JM
    Martel, E
    Hernández, L
    Pulido, E
    10TH EUROMICRO WORKSHOP ON PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING, PROCEEDINGS, 2002, : 188 - 195
  • [45] GUESSTIMATE: A Programming Model for Collaborative Distributed Systems
    Rajan, Kaushik
    Rajamani, Sriram
    Yaduvanshi, Shashank
    ACM SIGPLAN NOTICES, 2010, 45 (06) : 210 - 220
  • [46] Distributed Novelty Detection at the Edge for IoT Network Security
    Puhl, Luis
    Cassales, Guilherme Weigert
    Guardia, Helio Crestana
    Senger, Hermes
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS, ICCSA 2021, PT III, 2021, 12951 : 471 - 486
  • [47] Benchmarking Distributed Stream Processing Platforms for IoT Applications
    Shukla, Anshu
    Simmhan, Yogesh
    PERFORMANCE EVALUATION AND BENCHMARKING: TRADITIONAL - BIG DATA - INTERNET OF THINGS, TPCTC 2016, 2017, 10080 : 90 - 106
  • [48] Reducing the Power Consumption of IoT with Task-Oriented Programming
    Crooijmans, Sjoerd
    Lubbers, Mart
    Koopman, Pieter
    TRENDS IN FUNCTIONAL PROGRAMMING, TFP 2022, 2022, 13401 : 80 - 99
  • [49] IOT-BASED CONTROLLER DESCRIPTION LANGUAGE AND SYSTEM
    Zhou Gang
    Chen Fenglei
    Lu Xiaojun
    2022 19TH INTERNATIONAL COMPUTER CONFERENCE ON WAVELET ACTIVE MEDIA TECHNOLOGY AND INFORMATION PROCESSING (ICCWAMTIP), 2022,
  • [50] An Algebraic Language for Distributed Quantum Computing
    Ying, Mingsheng
    Feng, Yuan
    IEEE TRANSACTIONS ON COMPUTERS, 2009, 58 (06) : 728 - 743