Dienst van SURF
© 2025 SURF
Live programming is a style of development characterized by incremental change and immediate feedback. Instead of long edit-compile cycles, developers modify a running program by changing its source code, receiving immediate feedback as it instantly adapts in response. In this paper, we propose an approach to bridge the gap between running programs and textual domain-specific languages (DSLs). The first step of our approach consists of applying a novel model differencing algorithm, tmdiff, to the textual DSL code. By leveraging ordinary text differencing and origin tracking, tmdiff produces deltas defined in terms of the metamodel of a language. In the second step of our approach, the model deltas are applied at run time to update a running system, without having to restart it. Since the model deltas are derived from the static source code of the program, they are unaware of any run-time state maintained during model execution. We therefore propose a generic, dynamic patch architecture, rmpatch, which can be customized to cater for domain-specific state migration. We illustrate rmpatch in a case study of a live programming environment for a simple DSL implemented in Rascal for simultaneously defining and executing state machines.
Since the European Union wants to reduce the oil dependence of the transportation system, the uptake of alternative vehicle technologies are stimulated in the member states. In the Netherlands, stimulation is already largely implemented in the form of a comprehensive charging infrastructure. This infrastructure is widely used by the electric vehicle drivers and thus there may occur a form of competition for the charging points. In this paper we address this problem by predicting the short-term availability of charging points at a given location and time by using the historical charging data in a space-time series model. The model shows better accuracy with respect to a naive method for short term predictions up to one day. This will allow charging point operators to provide customers with the service of looking up estimated charging point availability in the nearby future.