Informatica logo


Login Register

  1. Home
  2. Issues
  3. Volume 35, Issue 2 (2024)
  4. Three New Design Patterns for Scalable A ...

Informatica

Information Submit your article For Referees Help ATTENTION!
  • Article info
  • Full article
  • Related articles
  • More
    Article info Full article Related articles

Three New Design Patterns for Scalable Agent-Based Computing and Simulation
Volume 35, Issue 2 (2024), pp. 379–400
Mateusz Najdek   Mateusz Paciorek   Wojciech Turek   Aleksander Byrski ORCID icon link to view author Aleksander Byrski details  

Authors

 
Placeholder
https://doi.org/10.15388/24-INFOR555
Pub. online: 19 April 2024      Type: Research Article      Open accessOpen Access

Received
1 October 2022
Accepted
1 April 2024
Published
19 April 2024

Abstract

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.

References

 
Aridor, Y., Lange, D. (1998). Agent design patterns: elements of agent application design. In: Proceedings of the International Conference on Autonomous Agents, pp. 108–115. https://doi.org/10.1145/280765.280784.
 
Asghar, M.Z., Alam, K.A., Javed, S. (2019). Software design patterns recommendation: a systematic literature review. In: 2019 International Conference on Frontiers of Information Technology (FIT), Islamabad, Pakistan, 2019, pp. 167–1675. https://doi.org/10.1109/FIT47737.2019.00040.
 
Barrera, R.S., Gómez, G.R., López-López, A. (2011). Design patterns in multi-agent system simulation. In: CONIELECOMP 2011, 21st International Conference on Electrical, Communications, and Computers, San Andres Cholula, Mexico, 28 February–2 March 2011, pp. 60–65. https://doi.org/10.1109/CONIELECOMP.2011.5749340.
 
Boronea, S., Leon, F., Zaharia, M.H., Atanasiu, G.M. (2009). Design patterns for multi-agent simulations. Management and Marketing, 4(4), 15–26.
 
Bujas, J., Dworak, D., Turek, W., Byrski, A. (2019). High-performance computing framework with desynchronized information propagation for large-scale simulations. Journal of Computational Science, 32, 70–86.
 
Byrski, A., Dreżewski, R., Siwik, L., Kisiel-Dorohinicki, M. (2015). Evolutionary multi-agent systems. The Knowledge Engineering Review, 30(2), 171–186. https://doi.org/10.1017/S0269888914000289.
 
Cetnarowicz, K., Kisiel-Dorohinicki, M., Nawarecki, E. (1996). The application of evolution process in multi-agent world to the prediction system. In: Proceedings of the Second International Conference on Multiagent Systems. AAAI, pp. 26–32.
 
Cruz Torres, M.H., Van Beers, T., Holvoet, T. (2011). (No) more design patterns for multi-agent systems. In: Proceedings of the Compilation of the Co-Located Workshops on DSM’11, TMC’11, AGERE! 2011, AOOPES’11, NEAT’11, & VMIL’11. SPLASH’11 Workshops. Association for Computing Machinery, New York, NY, USA, pp. 213–220. 9781450311830. https://doi.org/10.1145/2095050.2095083.
 
Engelmann, C., Geist, A. (2005). Super-scalable algorithms for computing on 100,000 processors. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J.J. (Eds.), Computational Science – ICCS 2005, ICCS, Lecture Notes in Computer Science, Vol. 3514. Springer, Berlin, Heidelberg, pp. 313–321. https://doi.org/10.1007/11428831_39.
 
Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc., USA. 0201633612.
 
Gawron, C. (1998). Simulation-Based Traffic Assignment. Computing User Equilibria in Large Street Networks. PhD thesis, Universität zu Köln, Germany.
 
Hofstede, G.J., Chappin, E. (2021). Archetypical patterns in agent-based models. In: Ahrweiler, P., Neumann, M. (Eds.), Advances in Social Simulation, ESSA 2019, Springer Proceedings in Complexity. Springer, Cham, pp. 313–332. https://doi.org/10.1007/978-3-030-61503-1_31.
 
Horni, A., Nagel, K., Axhausen, K.W. (2016). The Multi-Agent Transport Simulation MATSim. Ubiquity Press, London.
 
Janowski, M. (2021). Scalable Urban Traffic Simulation Algorithm for MATSim System. Master’s thesis, AGH University of Science and Technology in Krakow, Poland.
 
Juziuk, J., Weyns, D., Holvoet, T. (2014). Design patterns for multi-agent systems: a systematic literature review. In: Shehory, O., Sturm, A. (Eds.), Agent-Oriented Software Engineering: Reflections on Architectures, Methodologies, Languages, and Frameworks. Springer Berlin Heidelberg, Berlin, Heidelberg, pp. 79–99. 978-3-642-54432-3. https://doi.org/10.1007/978-3-642-54432-3_5.
 
Klügl, F., Karlsson, L. (2009). Towards pattern-oriented design of agent-based simulation models. In: Braubach, L., van der Hoek, W., Petta, P., Pokahr, A. (Eds.), Multiagent System Technologies, MATES 2009, Lecture Notes in Computer Science, Vol. 5774. Springer, Berlin, Heidelberg, pp. 41–53. https://doi.org/10.1007/978-3-642-04143-3_5.
 
Krzywicki, D., Stypka, J., Anielski, P., Faber, Ł., Turek, W., Byrski, A., Kisiel-Dorohinicki, M. (2014). Generation-free agent-based evolutionary computing. In: Abramson, D., Lees, M., Krzhizhanovskaya, V.V., Dongarra, J.J., Sloot, P.M.A. (Eds.), Proceedings of the International Conference on Computational Science, ICCS 2014, Cairns, Queensland, Australia, 10–12 June, 2014. Procedia Computer Science, Vol. 29. Elsevier, pp. 1068–1077. https://doi.org/10.1016/j.procs.2014.05.096.
 
Krzywicki, D., Turek, W., Byrski, A., Kisiel-Dorohinicki, M. (2015). Massively concurrent agent-based evolutionary computing. Journal of Computational Science, 11, 153–162.
 
Lämmel, R., Visser, J. (2002). Design patterns for functional strategic programming. In: Proceedings of the 2002 ACM SIGPLAN Workshop on Rule-Based Programming, RULE’02. Association for Computing Machinery, New York, NY, USA, pp. 1–14. 1581136064. https://doi.org/10.1145/570186.570187.
 
Lind, J. (2003). Patterns in agent-oriented software engineering. In: Giunchiglia, F., Odell, J., Weiß, G. (Eds.), Agent-Oriented Software Engineering III. Springer Berlin Heidelberg, Berlin, Heidelberg, pp. 47–58. 978-3-540-36540-2.
 
Mathieu, P., Morvan, G., Picault, S. (2018). Multi-level agent-based simulations: four design patterns. Simulation Modelling Practice and Theory, 83, 51–64. https://doi.org/10.1016/j.simpat.2017.12.015.
 
Mohamad, R., Deris, S., Ammar, H.H. (2007). Pattern-oriented design for multi-agent system: a conceptual model. Journal of Object Oriented Technology, 6(4), 55–75.
 
Najdek, M., Xie, H., Turek, W. (2021). Scaling simulation of continuous urban traffic model for high performance computing system. In: Paszynski, M., Kranzlmüller, D., Krzhizhanovskaya, V.V., Dongarra, J.J., Sloot, P.M.A. (Eds.), Computational Science – ICCS 2021. Springer International Publishing, Cham, pp. 256–263. 978-3-030-77961-0.
 
North, M.J., Macal, C.M. (2011). Product design patterns for agent-based modeling. In: Jain, S., Creasey, R.R., Himmelspach, J., White, K.P., Fu, M.C. (Eds.), Winter Simulation Conference 2011, WSC’11, Phoenix, AZ, USA, December 11–14, 2011. IEEE, pp. 3087–3098. https://doi.org/10.1109/WSC.2011.6148008.
 
Oluyomi, A., Karunasekera, S., Sterling, L. (2007). A comprehensive view of agent-oriented patterns. Autonomous Agents and Multi-Agent Systems, 15(3), 337–377.
 
Paciorek, M., Turek, W. (2021). Agent-based modeling of social phenomena for high performance distributed simulations. In: Paszynski, M., Kranzlmüller, D., Krzhizhanovskaya, V.V., Dongarra, J.J., Sloot, P.M.A. (Eds.), Computational Science – ICCS 2021, ICCS 2021, Lecture Notes in Computer Science, Vol. 12743. Springer, Cham, pp. 412–425. https://doi.org/10.1007/978-3-030-77964-1_32.
 
Sauvage, S. (2004). Design patterns for multiagent systems design. In: Monroy, R., Arroyo-Figueroa, G., Sucar, L.E., Sossa, H. (Eds.), MICAI 2004: Advances in Artificial Intelligence, Lecture Notes in Computer Science, Vol. 2972. Springer, Berlin, Heidelberg, pp. 352–361. https://doi.org/10.1007/978-3-540-24694-7_36.
 
Sicard, V., Andraud, M., Picault, S. (2021). Organization as a multi-level design pattern for agent-based simulation of complex systems. In: Rocha, A.P., Steels, L., van den Herik, H.J. (Eds.), Proceedings of the 13th International Conference on Agents and Artificial Intelligence – Volume 1: ICAART. SciTePress, pp. 232–241. https://doi.org/10.5220/0010223202320241.
 
Turek, W., Cetnarowicz, K., Zaborowski, W. (2011). Software agent systems for improving performance of multi-robot groups. Fundamenta Informaticae, 112(1), 103–117.
 
Turek, W., Stypka, J., Krzywicki, D., Anielski, P., Pietak, K., Byrski, A., Kisiel-Dorohinicki, M. (2016). Highly scalable erlang framework for agent-based metaheuristic computing. Journal of Computational Science, 17, 234–248.
 
Vaira, Ž., Čaplinskas, A. (2011). Software engineering paradigm independent design problems, GoF 23 design patterns, and aspect design. Informatica, 22(2), 289–317. https://doi.org/10.15388/Informatica.2011.328.
 
Weiss, M. (2003). Patterns for motivating an agent-based approach. In: Jeusfeld, M.A., Pastor, ó. (Eds.), Conceptual Modeling for Novel Application Domains. ER 2003, Lecture Notes in Computer Science, Vol. 2814. Springer, Berlin, Heidelberg, pp. 229–240. https://doi.org/10.1007/978-3-540-39597-3_22.
 
Żabińska, M., Sośnicki, T., Turek, W., Cetnarowicz, K. (2013). Robot task allocation using signal propagation model. Procedia Computer Science, 18, 1505–1514.

Biographies

Najdek Mateusz
najdek@agh.edu.pl

M. Najdek is a PhD student at the AGH University of Science and Technology in Krakow. His work focuses on highly efficient and scalable urban traffic simulations. During his work on continuous models of urban traffic, he explores and expands the methods of effective scaling of simulation computing.

Paciorek Mateusz
mpaciorek@agh.edu.pl

M. Paciorek obtained his PhD in 2022 from the AGH University of Science and Technology in Krakow, Poland. His background in designing data management systems for HPC formulated a valuable basis for research on super-scalable spatial simulations.

Turek Wojciech
wojciech.turek@agh.edu.pl

W. Turek obtained his PhD in 2010 and DSc in 2019 from the AGH University of Science and Technology in Krakow, Poland. He works as an associate professor at the Department of Computer Science of the AGH-UST. His research topics cover a wide range of possible applications of multi-agent system, from management of robots to distributed evolutionary computing. His recent research focuses on super-scalable spatial simulations which can efficiently utilize HPC-grade hardware.

Byrski Aleksander
https://orcid.org/0000-0001-6317-7012
olekb@agh.edu.pl

A. Byrski obtained his PhD in 2007, DSc in 2013 from the AGH University of Science and Technology in Krakow, Poland. In 2020, he obtained the title of professor from the President of Poland. He works as a full professor at the Department of Computer Science of the AGH-UST. His research topics cover metaheuristics, agent-based computing and simulation systems, and parallel and distributed computing using HPC.


Full article Related articles PDF XML
Full article Related articles PDF XML

Copyright
© 2024 Vilnius University
by logo by logo
Open access article under the CC BY license.

Keywords
design patterns multi-agent systems agent-based simulation agent-based computing scalability distribution

Funding
The research presented in this paper was funded by the National Science Centre, Poland, under the grant No. 2019/35/O/ST6/01806 (MN). The research presented in this paper was partially supported by the funds assigned by the Polish Ministry of Education and Science to AGH University of Krakow (WT, MP). We gratefully acknowledge the funding support by programme “Excellence initiative–research university” for the AGH University of Krakow as well as the ARTIQ project: UMO-2021/01/2/ST6/00004 and ARTIQ/0004/2021 (AB).

Metrics
since January 2020
272

Article info
views

188

Full article
views

208

PDF
downloads

48

XML
downloads

Export citation

Copy and paste formatted citation
Placeholder

Download citation in file


Share


RSS

INFORMATICA

  • Online ISSN: 1822-8844
  • Print ISSN: 0868-4952
  • Copyright © 2023 Vilnius University

About

  • About journal

For contributors

  • OA Policy
  • Submit your article
  • Instructions for Referees
    •  

    •  

Contact us

  • Institute of Data Science and Digital Technologies
  • Vilnius University

    Akademijos St. 4

    08412 Vilnius, Lithuania

    Phone: (+370 5) 2109 338

    E-mail: informatica@mii.vu.lt

    https://informatica.vu.lt/journal/INFORMATICA
Powered by PubliMill  •  Privacy policy