{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,13]],"date-time":"2025-06-13T04:46:36Z","timestamp":1749789996376,"version":"3.40.5"},"reference-count":33,"publisher":"Vilnius University Press","license":[{"start":{"date-parts":[[2024,1,1]],"date-time":"2024-01-01T00:00:00Z","timestamp":1704067200000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2024]]},"abstract":"<jats:p>Multi-agent approach is very popular for modelling and simulation of complex phenomena, design and programming of decentralised computing systems. Asynchronous beings, which do not share state but communicate using messages are a convenient abstraction for representing various phenomena observed in the real world. When the number of the considered agents grows, the designers and developers of such systems must address the problem of performance. Introducing distribution is often a weapon of choice, which, however, does not guarantee obtaining proper scalability and efficiency. The intensity of communication in a large-scale agent-based system can easily exceed the abilities of a distributed hardware architecture, leading to poor performance. After analysing various distributed agent-based systems, we identified several reasons for limited performance and several architectural solutions, which can help overcoming this problem. The main aim of the presented work is identification and systematization of these architectural solutions in the form of design patterns. As a result, we propose three new design patterns for building scalable distributed agent-based systems. A systematic description of their aims, structure, variants and features is provided, together with examples of applications.<\/jats:p>","DOI":"10.15388\/24-infor555","type":"journal-article","created":{"date-parts":[[2024,4,19]],"date-time":"2024-04-19T13:21:57Z","timestamp":1713532917000},"page":"379-400","source":"Crossref","is-referenced-by-count":1,"title":["Three New Design Patterns for Scalable Agent-Based Computing and Simulation"],"prefix":"10.15388","author":[{"given":"Mateusz","family":"Najdek","sequence":"first","affiliation":[]},{"given":"Mateusz","family":"Paciorek","sequence":"additional","affiliation":[]},{"given":"Wojciech","family":"Turek","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6317-7012","authenticated-orcid":false,"given":"Aleksander","family":"Byrski","sequence":"additional","affiliation":[]}],"member":"6097","published-online":{"date-parts":[[2024,4,19]]},"reference":[{"key":"2024051408124557739_j_infor555_ref_001","doi-asserted-by":"publisher","first-page":"108","DOI":"10.1145\/280765.280784","volume-title":"Proceedings of the International Conference on Autonomous Agents","year":"1998"},{"key":"2024051408124557739_j_infor555_ref_002","doi-asserted-by":"publisher","first-page":"167","DOI":"10.1109\/FIT47737.2019.00040","volume-title":"2019 International Conference on Frontiers of Information Technology (FIT)","year":"2019"},{"key":"2024051408124557739_j_infor555_ref_003","doi-asserted-by":"publisher","first-page":"60","DOI":"10.1109\/CONIELECOMP.2011.5749340","volume-title":"CONIELECOMP 2011, 21st International Conference on Electrical, Communications, and Computers","year":"2011"},{"issue":"4","key":"2024051408124557739_j_infor555_ref_004","first-page":"15","article-title":"Design patterns for multi-agent simulations","volume":"4","year":"2009","journal-title":"Management and Marketing"},{"key":"2024051408124557739_j_infor555_ref_005","doi-asserted-by":"crossref","first-page":"70","DOI":"10.1016\/j.jocs.2018.09.004","article-title":"High-performance computing framework with desynchronized information propagation for large-scale simulations","volume":"32","year":"2019","journal-title":"Journal of Computational Science"},{"issue":"2","key":"2024051408124557739_j_infor555_ref_006","doi-asserted-by":"publisher","first-page":"171","DOI":"10.1017\/S0269888914000289","article-title":"Evolutionary multi-agent systems","volume":"30","year":"2015","journal-title":"The Knowledge Engineering Review"},{"first-page":"26","volume-title":"Proceedings of the Second International Conference on Multiagent Systems","year":"1996","key":"2024051408124557739_j_infor555_ref_007"},{"key":"2024051408124557739_j_infor555_ref_008","doi-asserted-by":"publisher","first-page":"213","DOI":"10.1145\/2095050.2095083","volume-title":"Proceedings of the Compilation of the Co-Located Workshops on DSM\u201911, TMC\u201911, AGERE! 2011, AOOPES\u201911, NEAT\u201911, & VMIL\u201911","year":"2011"},{"key":"2024051408124557739_j_infor555_ref_009","doi-asserted-by":"publisher","first-page":"313","DOI":"10.1007\/11428831_39","volume-title":"Computational Science \u2013 ICCS 2005, ICCS","volume":"3514","year":"2005"},{"volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","year":"1995","key":"2024051408124557739_j_infor555_ref_010"},{"key":"2024051408124557739_j_infor555_ref_011"},{"key":"2024051408124557739_j_infor555_ref_012","doi-asserted-by":"publisher","first-page":"313","DOI":"10.1007\/978-3-030-61503-1_31","volume-title":"Advances in Social Simulation, ESSA 2019, Springer Proceedings in Complexity","year":"2021"},{"volume-title":"The Multi-Agent Transport Simulation MATSim","year":"2016","key":"2024051408124557739_j_infor555_ref_013"},{"key":"2024051408124557739_j_infor555_ref_014"},{"key":"2024051408124557739_j_infor555_ref_015","doi-asserted-by":"publisher","first-page":"79","DOI":"10.1007\/978-3-642-54432-3_5","volume-title":"Agent-Oriented Software Engineering: Reflections on Architectures, Methodologies, Languages, and Frameworks","year":"2014"},{"key":"2024051408124557739_j_infor555_ref_016","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1007\/978-3-642-04143-3_5","volume-title":"Multiagent System Technologies, MATES 2009","volume":"5774","year":"2009"},{"key":"2024051408124557739_j_infor555_ref_017","doi-asserted-by":"publisher","first-page":"1068","DOI":"10.1016\/j.procs.2014.05.096","volume-title":"Proceedings of the International Conference on Computational Science, ICCS 2014","volume":"29","year":"2014"},{"key":"2024051408124557739_j_infor555_ref_018","doi-asserted-by":"crossref","first-page":"153","DOI":"10.1016\/j.jocs.2015.07.003","article-title":"Massively concurrent agent-based evolutionary computing","volume":"11","year":"2015","journal-title":"Journal of Computational Science"},{"key":"2024051408124557739_j_infor555_ref_019","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/570186.570187","volume-title":"Proceedings of the 2002 ACM SIGPLAN Workshop on Rule-Based Programming, RULE\u201902","year":"2002"},{"first-page":"47","volume-title":"Agent-Oriented Software Engineering III","year":"2003","key":"2024051408124557739_j_infor555_ref_020"},{"key":"2024051408124557739_j_infor555_ref_021","doi-asserted-by":"publisher","first-page":"51","DOI":"10.1016\/j.simpat.2017.12.015","article-title":"Multi-level agent-based simulations: four design patterns","volume":"83","year":"2018","journal-title":"Simulation Modelling Practice and Theory"},{"issue":"4","key":"2024051408124557739_j_infor555_ref_022","doi-asserted-by":"crossref","first-page":"55","DOI":"10.5381\/jot.2007.6.4.a1","article-title":"Pattern-oriented design for multi-agent system: a conceptual model","volume":"6","year":"2007","journal-title":"Journal of Object Oriented Technology"},{"first-page":"256","volume-title":"Computational Science \u2013 ICCS 2021","year":"2021","key":"2024051408124557739_j_infor555_ref_023"},{"key":"2024051408124557739_j_infor555_ref_024","doi-asserted-by":"publisher","first-page":"3087","DOI":"10.1109\/WSC.2011.6148008","volume-title":"Winter Simulation Conference 2011, WSC\u201911","year":"2011"},{"issue":"3","key":"2024051408124557739_j_infor555_ref_025","doi-asserted-by":"crossref","first-page":"337","DOI":"10.1007\/s10458-007-9014-9","article-title":"A comprehensive view of agent-oriented patterns","volume":"15","year":"2007","journal-title":"Autonomous Agents and Multi-Agent Systems"},{"key":"2024051408124557739_j_infor555_ref_026","doi-asserted-by":"publisher","first-page":"412","DOI":"10.1007\/978-3-030-77964-1_32","volume-title":"Computational Science \u2013 ICCS 2021, ICCS 2021","volume":"12743","year":"2021"},{"key":"2024051408124557739_j_infor555_ref_027","doi-asserted-by":"publisher","first-page":"352","DOI":"10.1007\/978-3-540-24694-7_36","volume-title":"MICAI 2004: Advances in Artificial Intelligence","volume":"2972","year":"2004"},{"key":"2024051408124557739_j_infor555_ref_028","doi-asserted-by":"publisher","first-page":"232","DOI":"10.5220\/0010223202320241","volume-title":"Proceedings of the 13th International Conference on Agents and Artificial Intelligence \u2013 Volume 1: ICAART","year":"2021"},{"issue":"1","key":"2024051408124557739_j_infor555_ref_029","doi-asserted-by":"crossref","first-page":"103","DOI":"10.3233\/FI-2011-581","article-title":"Software agent systems for improving performance of multi-robot groups","volume":"112","year":"2011","journal-title":"Fundamenta Informaticae"},{"key":"2024051408124557739_j_infor555_ref_030","doi-asserted-by":"crossref","first-page":"234","DOI":"10.1016\/j.jocs.2016.03.003","article-title":"Highly scalable erlang framework for agent-based metaheuristic computing","volume":"17","year":"2016","journal-title":"Journal of Computational Science"},{"issue":"2","key":"2024051408124557739_j_infor555_ref_031","doi-asserted-by":"publisher","first-page":"289","DOI":"10.15388\/Informatica.2011.328","article-title":"Software engineering paradigm independent design problems, GoF 23 design patterns, and aspect design","volume":"22","year":"2011","journal-title":"Informatica"},{"key":"2024051408124557739_j_infor555_ref_032","doi-asserted-by":"publisher","first-page":"229","DOI":"10.1007\/978-3-540-39597-3_22","volume-title":"Conceptual Modeling for Novel Application Domains. ER 2003","volume":"2814","year":"2003"},{"key":"2024051408124557739_j_infor555_ref_033","doi-asserted-by":"crossref","first-page":"1505","DOI":"10.1016\/j.procs.2013.05.318","article-title":"Robot task allocation using signal propagation model","volume":"18","year":"2013","journal-title":"Procedia Computer Science"}],"container-title":["Informatica"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/informatica.vu.lt\/journal\/INFORMATICA\/article\/1332\/text","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/informatica.vu.lt\/journal\/INFORMATICA\/article\/1332\/text","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,5,14]],"date-time":"2024-05-14T05:15:34Z","timestamp":1715663734000},"score":1,"resource":{"primary":{"URL":"https:\/\/informatica.vu.lt\/doi\/10.15388\/24-INFOR555"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024]]},"references-count":33,"alternative-id":["10.15388\/24-INFOR555"],"URL":"https:\/\/doi.org\/10.15388\/24-infor555","relation":{},"ISSN":["0868-4952","1822-8844"],"issn-type":[{"type":"print","value":"0868-4952"},{"type":"electronic","value":"1822-8844"}],"subject":[],"published":{"date-parts":[[2024]]}}}