Change Is the Only Constant: Dynamic Updates for Workflows

被引:3
|
作者
Sokolowski, Daniel [1 ]
Weisenburger, Pascal [1 ]
Salvaneschi, Guido [1 ]
机构
[1] Univ St Gallen, St Gallen, Switzerland
基金
瑞士国家科学基金会;
关键词
Software Evolution; Dynamic Software Updating; Workflows; SUPPORT;
D O I
10.1145/3510003.3510065
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software systems must be updated regularly to address changing requirements and urgent issues like security-related bugs. Traditionally, updates are performed by shutting down the system to replace certain components. In modern software organizations, updates are increasingly frequent-up to multiple times per day-hence, shutting down the entire system is unacceptable. Safe dynamic software updating (DSU) enables component updates while the system is running by determining when the update can occur without causing errors. Safe DSU is crucial, especially for long-running or frequently executed asynchronous transactions (workflows), e.g., user-interactive sessions or order fulfillment processes. Unfortunately, previous research is limited to synchronous transaction models and does not address this case. In this work, we propose a unified model for safe DSU in workflows. We discuss how state-of-the-art DSU solutions fit into this model and show that they incur significant overhead. To improve the performance, we introduce Essential Safety, a novel safe DSU approach that leverages the notion of non-essential changes, i.e., semantics preserving updates. In 106 realistic BPMN workflows, Essential Safety reduces the delay of workflow completions, on average, by 47.8 % compared to the state of the art. We show that the distinction of essential and non-essential changes plays a crucial role in this reduction and that, as suggested in the literature, non-essential changes are frequent: at least 60 % and often more than 90 % of systems' updates in eight monorepos we analyze.
引用
收藏
页码:350 / 362
页数:13
相关论文
共 50 条