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

Autores:
Sanabria-Ardila, Mateo
Benavides-Navarro, Luis Daniel
Díaz-López, Daniel
Garzón-Alfonso, Wilmer
Tipo de recurso:
Article of investigation
Fecha de publicación:
2020
Institución:
Escuela Colombiana de Ingeniería Julio Garavito
Repositorio:
Repositorio Institucional ECI
Idioma:
eng
OAI Identifier:
oai:repositorio.escuelaing.edu.co:001/1433
Acceso en línea:
https://repositorio.escuelaing.edu.co/handle/001/1433
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9144537
Palabra clave:
Internet de las cosas
Computación semántica
Aplicaciones web
Redes LOT
Distributed computing
the Internet of Things (IoT),
Logical clocks
Maude
Reactive programming
Rewriting logic
Cybersecurity applications
Real-time languages
Rights
openAccess
License
https://creativecommons.org/licenses/by/4.0/
Description
Summary: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 ethink 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