Signal Classes: A Mechanism for Building Synchronous and Persistent Signal Networks
Sat 17 Jul 2021 10:10 - 10:30 at ECOOP 1 - Multiparty Programming and Session Types (time band 3) Chair(s): Lu Zhang
Signals are principal abstraction in reactive programming languages and constitute the basics of reactive computations in modern systems, such as the Internet of Things. Signals sometimes utilize past values, which leads to space leak, a problem where accumulated past values waste resources such as the main memory. Persistent signals, an abstraction for time-varying values with their execution histories, provide a generalized and standardized way of space leak management by leaving this management to the database system. However, the current design of persistent signals is very rudimental. For example, they cannot represent complex data structures; they can only be connected using pre-defined API methods that implicitly synchronize the persistent signal network; and they cannot be created dynamically.
In this paper, we show that these problems are derived from more fundamental one: no language mechanism is provided to group related persistent signals. To address this problem, we propose a new language mechanism signal classes. A signal class packages a network of related persistent signals that comprises a complex data structure. A signal class defines the scope of synchronization, making it possible to flexibly create persistent signal networks by methods not limited to the use of pre-defined API methods. Furthermore, a signal class can be instantiated, and this instance forms a unit of lifecycle management, which enables the dynamic creation of persistent signals. We formalize signal classes as a small core language where the computation is deliberately defined to interact with the underlying database system using relational algebra. Based on this formalization, we prove the language’s glitch freedom. We also formulate its type soundness by introducing an additional check of program well-formedness. This mechanism is implemented as a compiler and a runtime library that is based on a time-series database. The usefulness of the language is demonstrated through the vehicle tracking simulator and viewer case study. We also conducted a performance evaluation that confirms the feasibility of this case study.
Thu 15 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
00:20 - 01:20 | Language Design (time band 2)ECOOP Technical Papers at ECOOP 1 Chair(s): Jens Dietrich Victoria University of Wellington | ||
00:20 20mTalk | Lambda-based object-oriented programmingPearl ECOOP Technical Papers DOI Media Attached | ||
00:40 20mTalk | ALPACAS: A Language for Parametric Assessment of Critical Architecture Safety ECOOP Technical Papers DOI | ||
01:00 20mTalk | Signal Classes: A Mechanism for Building Synchronous and Persistent Signal Networks ECOOP Technical Papers Tetsuo Kamina Oita University, Tomoyuki Aotani Mamezou Co.,Ltd., Hidehiko Masuhara Tokyo Institute of Technology DOI |
Sat 17 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
09:30 - 10:50 | Multiparty Programming and Session Types (time band 3)ECOOP Technical Papers at ECOOP 1 Chair(s): Lu Zhang Peking University | ||
09:30 20mTalk | On the Monitorability of Session Types, in Theory and Practice ECOOP Technical Papers Christian Bartolo Burlò Gran Sasso Science Institute, Adrian Francalanza University of Malta, Alceste Scalas Technical University of Denmark DOI | ||
09:50 20mTalk | Multiparty Session Types for Safe Runtime Adaptation in an Actor Language ECOOP Technical Papers Paul Harvey Rakuten Mobile Innovation Studio, Simon Fowler University of Glasgow, Ornela Dardha University of Glasgow, Simon J. Gay University of Glasgow, UK DOI Pre-print Media Attached | ||
10:10 20mTalk | Signal Classes: A Mechanism for Building Synchronous and Persistent Signal Networks ECOOP Technical Papers Tetsuo Kamina Oita University, Tomoyuki Aotani Mamezou Co.,Ltd., Hidehiko Masuhara Tokyo Institute of Technology DOI | ||
10:30 20mTalk | Multiparty Languages: the Choreographic and Multitier CasesDistinguished PaperPearl ECOOP Technical Papers Saverio Giallorenzo Alma Mater Studiorum - Università di Bologna, Fabrizio Montesi University of Southern Denmark, Marco Peressotti University of Southern Denmark, David Richter Technical University of Darmstadt, Guido Salvaneschi University of St. Gallen, Pascal Weisenburger TU Darmstadt Link to publication DOI |