版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:Ulm Univ Inst Software Engn & Programming Languages Ulm Germany
出 版 物:《SOFTWARE AND SYSTEMS MODELING》 (Softw. Syst. Model.)
年 卷 期:2025年第24卷第2期
页 面:289-310页
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:Bundesministerium fr Bildung und Forschung [16ES0875] German Federal Ministry of Education and Research (BMBF)
主 题:Operation-based versioning Modeling Caching Event-sourcing
摘 要:In a collaborative multi-user model-driven engineering context, it becomes important to track who changed what model part how and why. Operation-based versioning addresses this need by persisting a meaningful edit history which enables a single user to navigate through a model s evolution over time, to analyze arbitrary previous model versions, or to trace the impact of an operation. However, to load a distinct prior version, it must be restored by reapplying all previous operations, which is time-consuming and, thus, interrupts a user s workflow. Caching with a fixed distance between caches helps to overcome this problem to the cost of increasing memory requirements. Further, there is no caching approach supporting branches, merges, and possibly resolved conflicts. We propose two advanced caching strategies for operation-based versioning capable of the previously mentioned features: zonal and adaptive caching. Both strategies reduce the memory in use by not applying the same static distance between two caches across the whole edit history. Instead, the distance increases depending on a version s age and its distance to a branch s head. Both strategies aim to reduce the restoration time of arbitrary prior versions below a threshold to not interrupt a user s flow of thought. Zonal caching employs predefined distances compatible with a broad range of model sizes. In contrast, adaptive caching derives the distances individually depending on the initial time to load the model on a user s computer and the model s *** conducted controlled experiments with models of varying sizes and compared the time to restore model versions and the memory in use for no caching, caching with static distances, zonal, and adaptive strategies on different computers. The developed strategies decrease the time to restore a version remarkably while using less memory than static caching. Our results show that for all considered systems and models individual adaptive caching reduces memory u