{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,7]],"date-time":"2025-05-07T04:14:40Z","timestamp":1746591280245,"version":"3.40.5"},"reference-count":30,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2025,1,15]],"date-time":"2025-01-15T00:00:00Z","timestamp":1736899200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,1,15]],"date-time":"2025-01-15T00:00:00Z","timestamp":1736899200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100002347","name":"Bundesministerium f\u00fcr Bildung und Forschung","doi-asserted-by":"publisher","award":["16ES0875"],"award-info":[{"award-number":["16ES0875"]}],"id":[{"id":"10.13039\/501100002347","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2025,4]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>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\u2019s 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\u2019s 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\u2019s age and its distance to a branch\u2019s head. Both strategies aim to reduce the restoration time of arbitrary prior versions below a threshold to not interrupt a user\u2019s 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\u2019s computer and the model\u2019s size.We 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 usage even further compared to zone-based caching while still satisfying application responsiveness requirements.<\/jats:p>","DOI":"10.1007\/s10270-024-01214-9","type":"journal-article","created":{"date-parts":[[2025,1,15]],"date-time":"2025-01-15T08:25:23Z","timestamp":1736929523000},"page":"289-310","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Adaptive caching for operation-based versioning of models"],"prefix":"10.1007","volume":"24","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-8308-6636","authenticated-orcid":false,"given":"Jakob","family":"Pietron","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0009-0002-2342-9857","authenticated-orcid":false,"given":"Heiko","family":"Raab","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9067-3748","authenticated-orcid":false,"given":"Matthias","family":"Tichy","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2025,1,15]]},"reference":[{"key":"1214_CR1","unstructured":"(2011) ISO\/IEC 9075-1:2011: Information technology\u2014Database languages SQL- Part 1: Framework (SQL\/Framework). https:\/\/www.iso.org\/standard\/53681.html"},{"key":"1214_CR2","unstructured":"(2020) ISO 9241-110:2020(en): Ergonomics of human-system interaction\u2014Part 110: Interaction principles. https:\/\/www.iso.org\/obp\/ui\/#iso:std:iso:9241:-110:ed-2:v1:en"},{"key":"1214_CR3","unstructured":"(2024) Dropbox., last accessed on 2024-05-31 https:\/\/www.dropbox.com\/"},{"key":"1214_CR4","unstructured":"(2024) Git., last accessed on 2024-05-31 https:\/\/git-scm.com\/"},{"key":"1214_CR5","unstructured":"Appeldorn, M., Kuryazov, D., Winter, A.: Delta-driven collaborative modeling. In: Proceedings of MODELS 2018 Workshops, Copenhagen, Denmark, October, 14, 2018, CEUR Workshop Proceedings, vol 2245. CEUR-WS.org, pp 293\u2013302, (2018) https:\/\/ceur-ws.org\/Vol-2245\/commitmde_paper_4.pdf"},{"key":"1214_CR6","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2021.111094","volume":"184","author":"A Breckel","year":"2022","unstructured":"Breckel, A., Pietron, J., Juhnke, K., et al.: A domain-specific language for modeling and analyzing solution spaces for technology roadmapping. J. Syst. Softw. 184, 111094 (2022). https:\/\/doi.org\/10.1016\/j.jss.2021.111094","journal-title":"J. Syst. Softw."},{"key":"1214_CR7","doi-asserted-by":"publisher","unstructured":"Brosch, P., Kappel, G., Langer, P., et\u00a0al.: An introduction to model versioning. In: Formal Methods for Model-Driven Engineering - 12th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2012, Bertinoro, Italy, June 18-23, 2012. Advanced Lectures, Lecture Notes in Computer Science, vol 7320. Springer, pp 336\u2013398, (2012) https:\/\/doi.org\/10.1007\/978-3-642-30982-3_10","DOI":"10.1007\/978-3-642-30982-3_10"},{"issue":"2","key":"1214_CR8","first-page":"29","volume":"9","author":"C Brun","year":"2008","unstructured":"Brun, C., Pierantonio, A.: Model differences in the eclipse modeling framework. UPGRADE Eur. J. Inform. Profess. 9(2), 29\u201334 (2008)","journal-title":"UPGRADE Eur. J. Inform. Profess."},{"key":"1214_CR9","doi-asserted-by":"publisher","unstructured":"Codoban, M., Ragavan, S.S., Dig, D., et\u00a0al.: Software history under the lens: A study on why and how developers examine it. In: Koschke R, Krinke J, Robillard MP (eds) 2015 IEEE International Conference on Software Maintenance and Evolution, ICSME 2015, Bremen, Germany, September 29 - October 1, 2015. IEEE Computer Society, pp 1\u201310, (2015) https:\/\/doi.org\/10.1109\/ICSM.2015.7332446","DOI":"10.1109\/ICSM.2015.7332446"},{"key":"1214_CR10","volume-title":"Regression Analysis and Linear Models: Concepts, Applications, and Implementation","author":"RB Darlington","year":"2016","unstructured":"Darlington, R.B., Hayes, A.F.: Regression Analysis and Linear Models: Concepts, Applications, and Implementation. Guilford Publications, Guilford (2016)"},{"key":"1214_CR11","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2023.111626","volume":"199","author":"I David","year":"2023","unstructured":"David, I., Aslam, K., Malavolta, I., et al.: Collaborative model-driven software engineering\u2014a systematic survey of practices and needs in industry. J. Syst. Softw. 199, 111626 (2023). https:\/\/doi.org\/10.1016\/j.jss.2023.111626","journal-title":"J. Syst. Softw."},{"key":"1214_CR12","doi-asserted-by":"publisher","unstructured":"Erb, B., Mei\u00dfner, D., Ogger, F., et\u00a0al.: Log pruning in distributed event-sourced systems. In: Proceedings of the 12th ACM International Conference on Distributed and Event-based Systems, DEBS 2018, Hamilton, New Zealand, 2018. ACM, (2018) https:\/\/doi.org\/10.1145\/3210284.3219767","DOI":"10.1145\/3210284.3219767"},{"key":"1214_CR13","doi-asserted-by":"publisher","unstructured":"Exelmans, J., Pietron, J., Raschke, A., et\u00a0al.: Improving collaborative modeling by an operation-based versioning approach. In: Rabiser R, Wimmer M, Groher I, et\u00a0al (eds) Software Engineering 2024, Fachtagung des GI-Fachbereichs Softwaretechnik, Linz, Austria, February 26\u2013March 1, 2024, LNI, vol P-343. Gesellschaft f\u00fcr Informatik e.V., pp 39\u201340, (2024) https:\/\/doi.org\/10.18420\/sw2024_7","DOI":"10.18420\/sw2024_7"},{"key":"1214_CR14","unstructured":"Fowler, M.: Event Sourcing. https:\/\/martinfowler.com\/eaaDev\/EventSourcing.html, last accessed on 2024-05-22 (2005)"},{"key":"1214_CR15","unstructured":"Google: Measure Performance with the RAIL Model. https:\/\/web.dev\/rail\/, last accessed on 2024-05-22 (2020)"},{"issue":"2","key":"1214_CR16","doi-asserted-by":"publisher","first-page":"1","DOI":"10.5381\/jot.2023.22.2.a5","volume":"22","author":"E Herac","year":"2023","unstructured":"Herac, E., Assun\u00e7\u00e3o, W.K.G., Marchezan, L., et al.: A flexible operation-based infrastructure for collaborative model-driven engineering. J. Object Technol. 22(2), 1\u201314 (2023). https:\/\/doi.org\/10.5381\/jot.2023.22.2.a5","journal-title":"J. Object Technol."},{"key":"1214_CR17","doi-asserted-by":"publisher","unstructured":"Kehrer, T., Kelter, U., Taentzer, G.: A rule-based approach to the semantic lifting of model differences in the context of model versioning. In: 26th IEEE\/ACM International Conference on Automated Software Engineering (ASE 2011), Lawrence, KS, USA, November 6\u201310, 2011. IEEE Computer Society, pp 163\u2013172, (2011) https:\/\/doi.org\/10.1109\/ASE.2011.6100050","DOI":"10.1109\/ASE.2011.6100050"},{"key":"1214_CR18","doi-asserted-by":"publisher","unstructured":"Kolovos, D.S., Rose, L.M., Matragkas, N., et\u00a0al.: A research roadmap towards achieving scalability in model driven engineering. Association for Computing Machinery, New York, BigMDE \u201913, (2013) https:\/\/doi.org\/10.1145\/2487766.2487768","DOI":"10.1145\/2487766.2487768"},{"issue":"3","key":"1214_CR19","doi-asserted-by":"publisher","first-page":"34","DOI":"10.1145\/2380776.2380786","volume":"41","author":"KG Kulkarni","year":"2012","unstructured":"Kulkarni, K.G., Michels, J.: Temporal features in SQL: 2011. SIGMOD Rec. 41(3), 34\u201343 (2012). https:\/\/doi.org\/10.1145\/2380776.2380786","journal-title":"SIGMOD Rec."},{"key":"1214_CR20","unstructured":"MDN Contributors: Shallow Copy. https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/Shallow_copy, last accessed on 2024-05-22 (2024)"},{"key":"1214_CR21","volume-title":"Usability Engineering","author":"J Nielsen","year":"1993","unstructured":"Nielsen, J.: Usability Engineering. Academic Press, London (1993)"},{"key":"1214_CR22","doi-asserted-by":"publisher","unstructured":"Pietron, J.: Adaptive caching for operation-based versioning of models (reproducibility package). (2024). https:\/\/doi.org\/10.5281\/zenodo.11403071","DOI":"10.5281\/zenodo.11403071"},{"key":"1214_CR23","unstructured":"Pietron, J., F\u00fcg, F., Tichy, M.: An operation-based versioning approach for synchronous and asynchronous collaboration in graphical modeling tools. In: STAF 2021 Workshop Proceedings, Virtual Event \/ Bergen, Norway, June 21\u201325, 2021, CEUR Workshop Proceedings, vol 2999. CEUR-WS.org, pp 88\u201389, (2021) https:\/\/ceur-ws.org\/Vol-2999\/fpvmdata4mdepaper3.pdf"},{"key":"1214_CR24","doi-asserted-by":"publisher","unstructured":"Pietron, J., Funk, L., Tichy, M.: Improving the comprehension of evolving graphical models. In: Working Conference on Software Visualization, VISSOFT 2022, Limassol, Cyprus, October 3-4, 2022. IEEE, https:\/\/doi.org\/10.1109\/VISSOFT55257.2022.00018 (2022)","DOI":"10.1109\/VISSOFT55257.2022.00018"},{"key":"1214_CR25","doi-asserted-by":"publisher","unstructured":"Pietron, J., Raab, H., Tichy, M.: Efficient caching for operation-based versioning. In: ACM\/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2023 Companion, V\u00e4ster\u00e5s, Sweden, Oct 1-6, 2023. IEEE, pp 969\u2013978, https:\/\/doi.org\/10.1109\/MODELS-C59198.2023.00152 (2023a)","DOI":"10.1109\/MODELS-C59198.2023.00152"},{"key":"1214_CR26","doi-asserted-by":"publisher","unstructured":"Pietron, J., Raschke, A., Exelmans, J., et\u00a0al.: Collaboration and versioning framework - A systematic top-down approach. In: ACM\/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2023 Companion, V\u00e4ster\u00e5s, Sweden, Oct 1-6, 2023. IEEE, pp 767\u2013777, https:\/\/doi.org\/10.1109\/MODELS-C59198.2023.00124 (2023b)","DOI":"10.1109\/MODELS-C59198.2023.00124"},{"key":"1214_CR27","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-29044-2","volume-title":"Experimentation in Software Engineering","author":"C Wohlin","year":"2012","unstructured":"Wohlin, C., Runeson, P., H\u00f6st, M., et al.: Experimentation in Software Engineering. Springer, Cham (2012)"},{"key":"1214_CR28","doi-asserted-by":"publisher","unstructured":"Wong, R.K., Lam, N.: Managing and querying multi-version XML data with update logging. In: Proceedings of the 2002 ACM Symposium on Document Engineering, McLean, Virginia, USA, November 8-9, 2002. ACM, pp 74\u20138https:\/\/doi.org\/10.1145\/585058.585073 (2002)","DOI":"10.1145\/585058.585073"},{"key":"1214_CR29","doi-asserted-by":"publisher","unstructured":"Yohannis, A., Rodriguez, H.H., Polack, F., et\u00a0al.: Towards efficient loading of change-based models. In: Modelling Foundations and Applications - 14th European Conference, ECMFA@STAF 2018, Toulouse, France, June 26-28, 2018, Proceedings, Lecture Notes in Computer Science, vol 10890. Springer, pp 235\u2013250, https:\/\/doi.org\/10.1007\/978-3-319-92997-2_15 (2018a)","DOI":"10.1007\/978-3-319-92997-2_15"},{"key":"1214_CR30","unstructured":"Yohannis, A., Rodriguez, H.H., Polack, F., et\u00a0al.: Towards hybrid model persistence. In: Proceedings of MODELS 2018 Workshops, Copenhagen, Denmark, October, 14, 2018, CEUR Workshop Proceedings, vol 2245. CEUR-WS.org, pp 594\u2013603, https:\/\/ceur-ws.org\/Vol-2245\/me_paper_3.pdf (2018b)"}],"container-title":["Software and Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-024-01214-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10270-024-01214-9\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-024-01214-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,5,6]],"date-time":"2025-05-06T08:37:32Z","timestamp":1746520652000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10270-024-01214-9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,1,15]]},"references-count":30,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2025,4]]}},"alternative-id":["1214"],"URL":"https:\/\/doi.org\/10.1007\/s10270-024-01214-9","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"type":"print","value":"1619-1366"},{"type":"electronic","value":"1619-1374"}],"subject":[],"published":{"date-parts":[[2025,1,15]]},"assertion":[{"value":"31 January 2024","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"31 May 2024","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"5 September 2024","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"15 January 2025","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}