A Semantic Framework for the Design of Distributed Reactive Real-Time Languages and Applications
The proliferation of on-demand internet services delivered over a network of a heterogeneous set of computing devices has created the need for high-performing dynamic systems in real-time. Services such as audio and video streaming, self-driving cars, the Internet of things (IoT), or instant communi...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2020-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/9144537/ |
id |
doaj-85f6d7276d6949bf9ddefe884054341a |
---|---|
record_format |
Article |
spelling |
doaj-85f6d7276d6949bf9ddefe884054341a2021-03-30T04:51:12ZengIEEEIEEE Access2169-35362020-01-01814386214388010.1109/ACCESS.2020.30106979144537A Semantic Framework for the Design of Distributed Reactive Real-Time Languages and ApplicationsMateo Sanabria-Ardila0https://orcid.org/0000-0003-3407-9792Luis Daniel Benavides Navarro1https://orcid.org/0000-0002-6166-325XDaniel Diaz-Lopez2https://orcid.org/0000-0001-7244-2631Wilmer Garzon-Alfonso3https://orcid.org/0000-0002-5920-2278Escuela Colombiana de Ingeniería Julio Garavito, Bogotá, ColombiaEscuela Colombiana de Ingeniería Julio Garavito, Bogotá, ColombiaSchool of Engineering, Science and Technology, Universidad del Rosario, Bogotá, ColombiaEscuela Colombiana de Ingeniería Julio Garavito, Bogotá, ColombiaThe proliferation of on-demand internet services delivered over a network of a heterogeneous set of computing devices has created the need for high-performing dynamic systems in real-time. Services such as audio and video streaming, self-driving cars, the Internet of things (IoT), or instant communication on social networks have forced system designers to rethink the architectures and tools for implementing computer systems. Reactive programming has been advocated as a programming paradigm suitable for implementing dynamic applications with complex and heterogeneous architectural needs. However, there is no consensus on the core set of features that a reactive framework must-have. Furthermore, the current set of features proposed in reactive tools seems very restricted to cope with the actual needs for concurrency and distribution in modern systems. In this paper, several alternative semantics for distributed reactive languages are investigated, addressing complex open issues such as glitch avoidance, explicit distribution support, and constructs for explicit time management. First, we propose a reactive event-based programming language with explicit support for distribution, concurrency, and explicit time manipulation (ReactiveXD). Second, we present a reactive event-based semantic framework called Distributed Reactive Rewriting Framework (DRRF). The framework uses rewriting logic to model the components of a distributed base application, observables, and observers, and predicates supporting explicit time manipulation. Finally, to validate the proposal, the paper discusses the specification of the semantics of ReactiveXD and a scenario describing a case of intrusion detection on IoT networks.https://ieeexplore.ieee.org/document/9144537/Distributed computingthe Internet of Things (IoT)logical clocksMaudereal-time languagesreactive programming |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Mateo Sanabria-Ardila Luis Daniel Benavides Navarro Daniel Diaz-Lopez Wilmer Garzon-Alfonso |
spellingShingle |
Mateo Sanabria-Ardila Luis Daniel Benavides Navarro Daniel Diaz-Lopez Wilmer Garzon-Alfonso A Semantic Framework for the Design of Distributed Reactive Real-Time Languages and Applications IEEE Access Distributed computing the Internet of Things (IoT) logical clocks Maude real-time languages reactive programming |
author_facet |
Mateo Sanabria-Ardila Luis Daniel Benavides Navarro Daniel Diaz-Lopez Wilmer Garzon-Alfonso |
author_sort |
Mateo Sanabria-Ardila |
title |
A Semantic Framework for the Design of Distributed Reactive Real-Time Languages and Applications |
title_short |
A Semantic Framework for the Design of Distributed Reactive Real-Time Languages and Applications |
title_full |
A Semantic Framework for the Design of Distributed Reactive Real-Time Languages and Applications |
title_fullStr |
A Semantic Framework for the Design of Distributed Reactive Real-Time Languages and Applications |
title_full_unstemmed |
A Semantic Framework for the Design of Distributed Reactive Real-Time Languages and Applications |
title_sort |
semantic framework for the design of distributed reactive real-time languages and applications |
publisher |
IEEE |
series |
IEEE Access |
issn |
2169-3536 |
publishDate |
2020-01-01 |
description |
The proliferation of on-demand internet services delivered over a network of a heterogeneous set of computing devices has created the need for high-performing dynamic systems in real-time. Services such as audio and video streaming, self-driving cars, the Internet of things (IoT), or instant communication on social networks have forced system designers to rethink the architectures and tools for implementing computer systems. Reactive programming has been advocated as a programming paradigm suitable for implementing dynamic applications with complex and heterogeneous architectural needs. However, there is no consensus on the core set of features that a reactive framework must-have. Furthermore, the current set of features proposed in reactive tools seems very restricted to cope with the actual needs for concurrency and distribution in modern systems. In this paper, several alternative semantics for distributed reactive languages are investigated, addressing complex open issues such as glitch avoidance, explicit distribution support, and constructs for explicit time management. First, we propose a reactive event-based programming language with explicit support for distribution, concurrency, and explicit time manipulation (ReactiveXD). Second, we present a reactive event-based semantic framework called Distributed Reactive Rewriting Framework (DRRF). The framework uses rewriting logic to model the components of a distributed base application, observables, and observers, and predicates supporting explicit time manipulation. Finally, to validate the proposal, the paper discusses the specification of the semantics of ReactiveXD and a scenario describing a case of intrusion detection on IoT networks. |
topic |
Distributed computing the Internet of Things (IoT) logical clocks Maude real-time languages reactive programming |
url |
https://ieeexplore.ieee.org/document/9144537/ |
work_keys_str_mv |
AT mateosanabriaardila asemanticframeworkforthedesignofdistributedreactiverealtimelanguagesandapplications AT luisdanielbenavidesnavarro asemanticframeworkforthedesignofdistributedreactiverealtimelanguagesandapplications AT danieldiazlopez asemanticframeworkforthedesignofdistributedreactiverealtimelanguagesandapplications AT wilmergarzonalfonso asemanticframeworkforthedesignofdistributedreactiverealtimelanguagesandapplications AT mateosanabriaardila semanticframeworkforthedesignofdistributedreactiverealtimelanguagesandapplications AT luisdanielbenavidesnavarro semanticframeworkforthedesignofdistributedreactiverealtimelanguagesandapplications AT danieldiazlopez semanticframeworkforthedesignofdistributedreactiverealtimelanguagesandapplications AT wilmergarzonalfonso semanticframeworkforthedesignofdistributedreactiverealtimelanguagesandapplications |
_version_ |
1724181123051814912 |