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 条
  • [31] An ECA rule-based task programming language for ubiquitous environments
    Lee, KW
    Cho, ES
    Kim, H
    8TH INTERNATIONAL CONFERENCE ON ADVANCED COMMUNICATION TECHNOLOGY, VOLS 1-3: TOWARD THE ERA OF UBIQUITOUS NETWORKS AND SOCIETIES, 2006, : U357 - U360
  • [32] LMNtal as a hierarchical logic programming language
    Ueda, Kazunori
    THEORETICAL COMPUTER SCIENCE, 2009, 410 (46) : 4784 - 4800
  • [33] Mobidget: A programming language for mobile agents
    Fujita, S
    Jagannathan, S
    Kelsey, R
    Koyama, K
    Philbin, J
    Yamanouchi, T
    NEC RESEARCH & DEVELOPMENT, 1999, 40 (03): : 330 - 333
  • [34] BoboCEP: Distributed Complex Event Processing for Resilient Fault-Tolerance Support in IoT
    Power, Alexander
    Kotonya, Gerald
    2020 IEEE SIXTH INTERNATIONAL CONFERENCE ON BIG DATA COMPUTING SERVICE AND APPLICATIONS (BIGDATASERVICE 2020), 2020, : 110 - 113
  • [35] A generic distributed monitor construct for programming process synchronization in distributed systems
    Cao, Jiannong
    Wang, Miaomiao
    Wu, Weigang
    Wang, Xianbing
    Chan, Stephen C. F.
    PARALLEL AND DISTRIBUTED PROCESSING AND APPLICATIONS, PROCEEDINGS, 2007, 4742 : 695 - 706
  • [36] A++: An agent oriented programming language
    Xue, DY
    7TH WORLD MULTICONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL II, PROCEEDINGS: COMPUTER SCIENCE AND ENGINEERING, 2003, : 147 - 152
  • [37] StarL: Towards a Unified Framework for Programming, Simulating and Verifying Distributed Robotic Systems
    Lin, Yixiao
    Mitra, Sayan
    ACM SIGPLAN NOTICES, 2015, 50 (05)
  • [38] Emerging Edge Computing Technologies for Distributed IoT Systems
    Alnoman, Ali
    Sharma, Shree Krishna
    Ejaz, Waleed
    Anpalagan, Alagan
    IEEE NETWORK, 2019, 33 (06): : 140 - 147
  • [39] A Comparison of MQTT Brokers for Distributed IoT Edge Computing
    Koziolek, Heiko
    Gruener, Sten
    Rueckert, Julius
    SOFTWARE ARCHITECTURE (ECSA 2020), 2020, 12292 : 352 - 368
  • [40] Programming scientific and distributed workflow with Triana services
    Churches, David
    Gombas, Gabor
    Harrison, Andrew
    Maassen, Jason
    Robinson, Craig
    Shields, Matthew
    Taylor, Ian
    Wang, Ian
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2006, 18 (10) : 1021 - 1037