{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,30]],"date-time":"2026-09-30T23:26:47Z","timestamp":1790810807812,"version":"4.1.0"},"reference-count":40,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2025,5,17]],"date-time":"2025-05-17T00:00:00Z","timestamp":1747440000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Model. Comput. Simul."],"published-print":{"date-parts":[[2025,7,31]]},"abstract":"<jats:p>Simulating and predicting the performance of a distributed software system that works under stringent real-time constraints poses significant challenges, particularly when dealing with legacy systems being in production use, where any disruption is intolerable. This challenge is exacerbated in the context of a System Under Evaluation (SUE) that operates within a resource-sharing environment, running concurrently with numerous other software components.<\/jats:p>\n                  <jats:p>\n                    In this article, we introduce an innovative toolset designed for predicting the performance of such complex and time-critical software systems. Our toolset builds upon the RAST (\n                    <jats:underline>R<\/jats:underline>\n                    egression\n                    <jats:underline>A<\/jats:underline>\n                    nalysis,\n                    <jats:underline>S<\/jats:underline>\n                    imulation, and load\n                    <jats:underline>T<\/jats:underline>\n                    esting) approach, significantly enhanced in this article compared with its initial version. While current state-of-the-art methods for performance prediction often rely on data collected by Application Performance Monitoring (APM), the unavailability of APM tools for existing systems and the complexities associated with integrating them into legacy software necessitate alternative approaches. Our toolset, therefore, utilizes readily accessible system request logs as a substitute for APM data. We describe the enhancements made to the original RAST approach, we outline the design and implementation of our RAST-based toolset, and we showcase its simulation accuracy and effectiveness using the publicly available TeaStore benchmarking system. To ensure the reproducibility of our experiments, we provide open access to our toolset\u2019s implementation and the utilized TeaStore model.\n                  <\/jats:p>","DOI":"10.1145\/3673897","type":"journal-article","created":{"date-parts":[[2024,6,20]],"date-time":"2024-06-20T06:59:58Z","timestamp":1718866798000},"page":"1-19","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["A Toolset for Predicting Performance of Legacy Real-Time Software Based on the RAST Approach"],"prefix":"10.1145","volume":"35","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5975-2758","authenticated-orcid":false,"given":"Juri","family":"Tomak","sequence":"first","affiliation":[{"name":"Westf\u00e4lische Wilhelms-Universit\u00e4t M\u00fcnster Fachbereich 10 Mathematik und Informatik","place":["Munster, Germany"]}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Sergei","family":"Gorlatch","sequence":"additional","affiliation":[{"name":"Westf\u00e4lische Wilhelms-Universit\u00e4t M\u00fcnster Fachbereich 10 Mathematik und Informatik","place":["Munster, Germany"]}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,5,17]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-018-9432-8"},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.3390\/app13169086"},{"key":"e_1_3_2_4_2","volume-title":"PyCON Python Conference.","author":"Beazley David","year":"2010","unstructured":"David Beazley. 2010. Understanding the python GIL. In PyCON Python Conference."},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1080\/1206212X.2021.1974663"},{"key":"e_1_3_2_6_2","unstructured":"Jason Brownlee. 2020. How to remove outliers for machine learning. (2020). Retrieved from https:\/\/machinelearningmastery.com\/how-to-use-statistics-to-identify-outliers-in-data\/"},{"key":"e_1_3_2_7_2","unstructured":"Carl Bystr\u00f6m Jonatan Heyman Joakim Hamr\u00e9n and Hugo Heyman. 2019. Locust. Retrieved from https:\/\/docs.locust.io\/en\/stable\/what-is-locust.html"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS53633.2021.9614260"},{"key":"e_1_3_2_9_2","unstructured":"Gevent Community. 2023. Gevent Tutorial. Retrieved from https:\/\/sdiehl.github.io\/gevent-tutorial\/#determinism"},{"key":"e_1_3_2_10_2","unstructured":"DIN EN 50136-1:2012-08. 2012. Alarm systems - Alarm Transmission Systems and Equipment - Part 1: General Requirements for Alarm Transmission Systems."},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/3358960.3379124"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/3361525.3361543"},{"key":"e_1_3_2_13_2","unstructured":"GS 2023. GS. Retrieved from https:\/\/www.gselectronic.com\/"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.simpa.2020.100019"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/2668930.2688820"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2015.07.004"},{"key":"e_1_3_2_17_2","unstructured":"\u201cDocker Inc.\u201d. 2023. Docker Compose: A Tool for Defining and Running Multi-Container Docker Applications. Retrieved from https:\/\/docs.docker.com\/compose"},{"key":"e_1_3_2_18_2","volume-title":"Ktor","year":"2022","unstructured":"JetBrains. 2022. Ktor. Retrieved from https:\/\/github.com\/ktorio\/ktor"},{"key":"e_1_3_2_19_2","unstructured":"Fatih Karabiber. 2021. Cosine Similarity. Retrieved from https:\/\/www.learndatasci.com\/glossary\/cosine-similarity\/"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/3369583.3392678"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2022.3152549"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","unstructured":"Lizhi Liao Jinfu Chen Heng Li Yi Zeng Weiyi Shang Catalin Sporea Andrei Toma and Sarah Sajedi. 2022. Locating performance regression root causes in the field operations of web-based systems: An experience report. IEEE Trans. Softw. Eng. 48 12 (2022) 4986--5006. 10.1109\/TSE.2021.3131529","DOI":"10.1109\/TSE.2021.3131529"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10766-009-0093-x"},{"key":"e_1_3_2_24_2","first-page":"60","volume-title":"Proc. of the 2nd Int. Conf. on Information Society Technology and Management.","author":"Okanovi\u0107 Du\u0161an","year":"2012","unstructured":"Du\u0161an Okanovi\u0107 and Milan Vidakovi\u0107. 2012. Software performance prediction using linear regression. In Proc. of the 2nd Int. Conf. on Information Society Technology and Management. Citeseer, 60\u201364."},{"key":"e_1_3_2_25_2","first-page":"2825","article-title":"Scikit-learn: Machine learning in python","volume":"12","year":"2011","unstructured":"Fabian Pedregosa, Ga\u00ebl Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, and \u00c9douard Duchesnay. 2011. Scikit-learn: Machine learning in python. JMLR 12 (2011), 2825\u20132830.","journal-title":"JMLR"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.5120\/ijca2017915495"},{"key":"e_1_3_2_27_2","unstructured":"Anderson Ravanello. 2017. Modeling end user performance perspective for cloud computing systems using data center logs from big data technology. Retrieved from https:\/\/www.semanticscholar.org\/paper\/Modeling-end-user-performance-perspective-for-cloud-Ravanello\/0974b503bdd13fa14fd9f5e5658f1c3200da0532"},{"key":"e_1_3_2_28_2","unstructured":"regression-analysis-essentials 2021. Regression Analysis Essentials For Machine Learning. Retrieved from http:\/\/www.sthda.com\/english\/articles\/40-regression-analysis\/"},{"key":"e_1_3_2_29_2","unstructured":"David Richards Christoph Junghans Hal Finkel and Jeanine Cook. 2018. Everything You Always Wanted to Know About Proxy Apps. Retrieved from https:\/\/proxyapps.exascaleproject.org\/wp-content\/uploads\/2020\/03\/ProxyAppBreakout_Final_Combined_r.pdf"},{"key":"e_1_3_2_30_2","unstructured":"Scikit-learn Team. 2023. Model Selection and Evaluation. Retrieved from https:\/\/scikit-learn.org\/stable\/model_selection.html"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","unstructured":"D. Shabalin. 2020. Just-in-time performance without warm-up. (feb2020). DOI:10.5075\/EPFL-THESIS-9768","DOI":"10.5075\/EPFL-THESIS-9768"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.5901"},{"key":"e_1_3_2_33_2","volume-title":"Datalore notebook: Experiments","author":"Tomak Juri","year":"2022","unstructured":"Juri Tomak. 2022. Datalore notebook: Experiments. Retrieved from https:\/\/datalore.jetbrains.com\/notebook\/6K6VkECuLMtN5t5nSYg6WK\/TVGp1egwDQlwI19astdVlM"},{"key":"e_1_3_2_34_2","volume-title":"RAST: Load Tester and Utils","author":"Tomak Juri","year":"2022","unstructured":"Juri Tomak. 2022. RAST: Load Tester and Utils. Retrieved from https:\/\/github.com\/jtpgames\/Locust_Scripts"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-68110-4_9"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS56607.2022.00015"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-57523-5_2"},{"key":"e_1_3_2_38_2","volume-title":"MASCOTS \u201918","year":"2018","unstructured":"J\u00f3akim von Kistowski, Simon Eismann, Norbert Schmitt, Andr\u00e9 Bauer, Johannes Grohmann, and Samuel Kounev. 2018. TeaStore: A micro-service reference application for benchmarking, modeling and resource management research. In MASCOTS \u201918 (Milwaukee, WI, USA)."},{"key":"e_1_3_2_39_2","volume-title":"TeaStore","year":"2022","unstructured":"J\u00f3akim von Kistowski, Simon Eismann, Norbert Schmitt, Andr\u00e9 Bauer, Johannes Grohmann, and Samuel Kounev. 2022. TeaStore. Retrieved from https:\/\/github.com\/DescartesResearch\/TeaStore"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICISE.2017.9"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/3458817.3476151"}],"container-title":["ACM Transactions on Modeling and Computer Simulation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3673897","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3673897","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,7,10]],"date-time":"2026-07-10T20:26:47Z","timestamp":1783715207000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3673897"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,5,17]]},"references-count":40,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2025,7,31]]}},"alternative-id":["10.1145\/3673897"],"URL":"https:\/\/doi.org\/10.1145\/3673897","relation":{},"ISSN":["1049-3301","1558-1195"],"issn-type":[{"value":"1049-3301","type":"print"},{"value":"1558-1195","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,5,17]]},"assertion":[{"value":"2024-04-30","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-05-30","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-05-17","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}