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...

Full description

Bibliographic Details
Main Authors: Mateo Sanabria-Ardila, Luis Daniel Benavides Navarro, Daniel Diaz-Lopez, Wilmer Garzon-Alfonso
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