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 条
  • [1] AbU: A calculus for distributed event-driven programming with attribute-based interaction
    Pasqua, Michele
    Miculan, Marino
    THEORETICAL COMPUTER SCIENCE, 2023, 958
  • [2] Behavioral equivalences for AbU: Verifying security and safety in distributed IoT systems
    Pasqua, Michele
    Miculan, Marino
    THEORETICAL COMPUTER SCIENCE, 2024, 998
  • [3] IRON: Reliable domain specific language for programming IoT devices
    Cacciagrano, D. R.
    Culmone, R.
    INTERNET OF THINGS, 2020, 9
  • [4] POLLUX - A LANGUAGE FOR DISTRIBUTED SYSTEM PROGRAMMING
    JANECEK, J
    MICROPROCESSING AND MICROPROGRAMMING, 1992, 34 (1-5): : 33 - 36
  • [5] Programming language impact on the development of distributed systems
    Ghosh, Debasish
    Sheehy, Justin
    Thorup, Kresten Krab
    Vinoski, Steve
    JOURNAL OF INTERNET SERVICES AND APPLICATIONS, 2012, 3 : 23 - 30
  • [6] ORCA - A LANGUAGE FOR PARALLEL PROGRAMMING OF DISTRIBUTED SYSTEMS
    BAL, HE
    KAASHOEK, MF
    TANENBAUM, AS
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1992, 18 (03) : 190 - 205
  • [7] FogFlow: Easy Programming of IoT Services Over Cloud and Edges for Smart Cities
    Cheng, Bin
    Solmaz, Guerkan
    Cirillo, Flavio
    Kovacs, Ernoe
    Terasawa, Kazuyuki
    Kitazawa, Atsushi
    IEEE INTERNET OF THINGS JOURNAL, 2018, 5 (02): : 696 - 707
  • [8] McErlang: A Model Checker for a Distributed Functional Programming Language
    Fredlund, Lars-Ake
    Svensson, Hans
    ICFP'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2007, : 125 - 136
  • [9] McErlang:: A model checker for a distributed functional programming language
    Fredlund, Lars-Ake
    Svensson, Hans
    ACM SIGPLAN NOTICES, 2007, 42 (09) : 125 - 136
  • [10] Formal semantics of an IoT-specific language
    Cacciagrano, Diletta Romana
    Culmone, Rosario
    2018 32ND INTERNATIONAL CONFERENCE ON ADVANCED INFORMATION NETWORKING AND APPLICATIONS WORKSHOPS (WAINA), 2018, : 579 - 584