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] SELECTING A PROGRAMMING LANGUAGE MADE EASY
    SALOMON, D
    ROSENBLUETH, D
    SIGPLAN NOTICES, 1986, 21 (09): : 6 - 6
  • [2] Aspect Oriented Programming Made Easy: An Embedded Pointcut Language
    Cisternino, Antonio
    Vaucouleur, Sebastien
    APSEC 09: SIXTEENTH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2009, : 215 - +
  • [3] Programming made easy
    Leach, M
    LIBRARY JOURNAL, 1999, 124 (15) : 122 - 122
  • [4] The robot programming made easy
    Reiter F.
    JOT, Journal fuer Oberflaechentechnik, 2024, 64 (07): : 28 - 31
  • [5] Concurrent programming made easy
    Ramirez, R
    Santosa, AE
    Yap, RHC
    SIXTH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS, PROCEEDINGS, 2000, : 151 - 160
  • [6] Quantum Programming Made Easy
    Paolini, Luca
    Roversi, Luca
    Zorzi, Margherita
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (292): : 133 - 147
  • [7] Controls programming made easy
    不详
    PROFESSIONAL ENGINEERING, 2000, 13 (11) : 48 - 48
  • [8] Programming by Example Made Easy
    Wu, Jiarong
    Wei, Lili
    Jiang, Yanyan
    Cheung, Shing-Chi
    Ren, Luyao
    Xu, Chang
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2024, 33 (01)
  • [9] Concurrent programming made easy
    Ramirez, Rafael, 2000, IEEE, Piscataway, NJ, United States
  • [10] ReSpecTX: Programming Interaction Made Easy
    Ciatto, Giovanni
    Mariani, Stefano
    Omicini, Andrea
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2018, 15 (03) : 655 - 682