As reactive systems such as cyber physical systems and the Internet of Things are becoming increasingly important, time-varying values, also known as signals, have been playing an important role in the software development. Even though reactive systems require change histories of some signals to be stored for many purposes such as post analysis and simulation, existing programming languages still do not provide a way to declare signals to be persistent. This paper proposes an approach to realize the persistent signals in a reactive programming language where (1) every update in each persistent signal is recorded in the time-series database, which can be seen as a part of the programming language runtime; and (2) the persistent signal supports a convenient time-oriented query mechanism. In this approach, each signal in the reactive programming language is seamlessly connected with the time-series database. This idea is implemented as an extension of SignalJ, a Java-based reactive programming language that supports signals, where the persistent signal mechanism is integrated with TimescaleDB, a PostgreSQL-based time-series database. Preliminary performance evaluations show that our implementation is mostly responsive, indicating its feasibility in many applications.
Wed 23 Oct Times are displayed in time zone: Beirut change
|11:00 - 11:30|
|Deployable Probabilistic Programming|
|11:30 - 12:00|
|An Approach for Persistent Time-Varying Values|
|12:00 - 12:30|
|CallƐ: An Effect System for Method Calls|