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.
Electric vehicles have penetrated the Dutch market, which increases the potential for decreased local emissions, the use and storage of sustainable energy, and the roll-out and use of electric car-sharing business models. This development also raises new potential issues such as increased electricity demand, a lack of social acceptance, and infrastructural challenges in the built environment. Relevant stakeholders, such as policymakers and service providers, need to align their values and prioritize these aspects. Our study investigates the prioritization of 11 Dutch decision-makers in the field of public electric vehicle charging. These decision-makers prioritized different indicators related to measurements (e.g., EV adoption rates or charge point profitability), organization (such as fast- or smart-charging), and developments (e.g., the development of mobility-service markets) using the best-worst method. The indicators within these categories were prioritized for three different scenario's in time. The results reveal that priorities will shift from EV adoption and roll-out of infrastructure to managing peak demand, using more sustainable charging techniques (such as V2G), and using sustainable energy towards 2030. Technological advancements and autonomous charging techniques will become more relevant in a later time period, around 2040. Environmental indicators (e.g., local emissions) were consistently valued low, whereas mobility indicators were valued differently across participants, indicating a lack of consensus. Smart charging was consistently valued higher than other charging techniques, independent of time period. The results also revealed that there are some distinct differences between the priorities of policymakers and service providers. Having a systematic overview of what aspects matter supports the policy discussion around EVs in the built environment.
Residential public charging points are shared by multiple electric vehicle drivers, often neighbours. Therefore, charging behaviour is embedded in a social context. Behaviours that affect, or are influenced by, other publiccharging point users have been sparsely studied and lack an overarching and comprehensive definition. Consequently, very few measures are applied in practice to influence charging behaviour. We aim to classify and define the social dimension of charging behaviour from a social-psychological perspective and, using a behaviour change framework, identify and analyse the measures to influence this behaviour. We interviewed 15 experts onresidential public charging infrastructure in the Netherlands. We identified 17 charging behaviours rooted in interpersonal interactions between individuals and interactions between individuals and technology. These behaviours can be categorised into prosocial and antisocial charging behaviours. Prosocial charging behaviour provides or enhances the opportunity for other users to charge their vehicle at the public charging point, for instance by charging only when necessary. Antisocial charging behaviour prevents or diminishes this opportunity, for instance by occupying the charging point after charging, intentionally or unintentionally. We thenidentified 23 measures to influence antisocial and prosocial charging behaviours. These measures can influence behaviour through human–technology interaction, such as providing charging etiquettes to new electric vehicle drivers or charging idle fees, and interpersonal interaction, such as social pressure from other charging point users or facilitating social interactions to exchange requests. Our approach advocates for more attention to the social dimension of charging behaviour.