Abstract
Testing undeniably plays a central role in the daily practice of software engineering, and this explains why better and more efficient libraries and services are continuously made available to developers and designers. Could the MAS developers community similarly benefit from utilizing state-of-the-art testing approaches? The paper investigates the possibility of bringing modern software testing tools as those used in mainstream software engineering into multi-agent systems engineering. Our contribution explores and illustrates, by means of a concrete example, the possible interactions between the agent-based programming framework ASC2 (AgentScript Cross-Compiler) and various testing approaches (unit/agent testing, integration/system testing, continuous integration) and elaborate on how the design choices of ASC2 enable these interactions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
References
Software testing services market by product, end-users, and geography - global forecast and analysis 2019–2023 (2019). https://www.industryresearch.co/software-testing-services-market-14620379
Bakar, N.A., Selamat, A.: Agent systems verification : systematic literature review and mapping. Appl. Intell. 48(5), 1251–1274 (2018). https://doi.org/10.1007/s10489-017-1112-z
Behrens, T.M., Dix, J.: Model checking multi-agent systems with logic based Petri nets. Ann. Math. Artif. Intell. 51(2–4), 81–121 (2007). https://doi.org/10.1007/s10472-008-9092-7
Bordini, R.H., Fisher, M., Visser, W., Wooldridge, M.: Verifiable multi-agent programs. In: Dastani, M.M., Dix, J., El Fallah-Seghrouchni, A. (eds.) ProMAS 2003. LNCS (LNAI), vol. 3067, pp. 72–89. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-25936-7_4
Bordini, R.H., Fisher, M., Visser, W., Wooldridge, M.: Verifying multi-agent programs by model checking. Auton. Agent. Multi-Agent Syst. 12(2), 239–256 (2006). https://doi.org/10.1007/s10458-006-5955-7
Bordini, R.H., Hübner, J.F., Vieira, R.: Jason and the golden fleece of agent-oriented programming. In: Bordini, R.H., Dastani, M., Dix, J., El Fallah Seghrouchni, A. (eds.) Multi-Agent Programming. MSASSO, vol. 15, pp. 3–37. Springer, Boston, MA (2005). https://doi.org/10.1007/0-387-26350-0_1
Botía, J.A., Gómez-Sanz, J.J., Pavón, J.: Intelligent data analysis for the verification of multi-agent systems interactions. In: Corchado, E., Yin, H., Botti, V., Fyfe, C. (eds.) IDEAL 2006. LNCS, vol. 4224, pp. 1207–1214. Springer, Heidelberg (2006). https://doi.org/10.1007/11875581_143
Cardoso, R.C., Zatelli, M.R., Hübner, J.F., Bordini, R.H.: Towards benchmarking actor- and agent-based programming languages. In: Proceedings of the 2013 Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE! 2013, pp. 115–126. Association for Computing Machinery, New York, NY, USA (2013)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)
Coelho, R., Kulesza, U., von Staa, A., Lucena, C.: Unit testing in multi-agent systems using mock agents and aspects. In: International Workshop on Software Engineering for Large-Scale Multi-Agent Systems, SELMAS 2006, pp. 83–90 (2006)
Dastani, M.: 2APL: a practical agent programming language. Auton. Agent. Multi-Agent Syst. 16(3), 214–248 (2008). https://doi.org/10.1007/s10458-008-9036-y
David, N., Sichman, J.S., Coelho, H.: Towards an emergence-driven software process for agent-based simulation. In: Simão Sichman, J., Bousquet, F., Davidsson, P. (eds.) MABS 2002. LNCS (LNAI), vol. 2581, pp. 89–104. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-36483-8_7
Dennis, L.A., Fisher, M., Lincoln, N.K., Lisitsa, A., Veres, S.M.: Practical verification of decision-making in agent-based autonomous systems. Autom. Softw. Eng. 23(3), 305–359 (2014). https://doi.org/10.1007/s10515-014-0168-9
Dhaon, A., Collier, R.W.: Multiple inheritance in AgentSpeak (L)-style programming languages. In: Proceedings of the 4th International Workshop on Programming Based on Actors Agents and Decentralized Control. Association for Computing Machinery (2014)
Ekinci, E.E., Tiryaki, A.M., Çetin, Ö., Dikenelli, O.: Goal-oriented agent testing revisited. In: Luck, M., Gomez-Sanz, J.J. (eds.) Agent-Oriented Software Engineering IX, AOSE 2008. Lecture Notes in Computer Science, vol. 5386, pp. 173–186. Springer, Berlin, Heidelberg (2009)
Ferber, J.: Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence. USA, 1st edn. (1999)
Ferrando, A., Dennis, L.A., Ancona, D., Fisher, M., Mascardi, V.: Verifying and validating autonomous systems: towards an integrated approach. In: Colombo, C., Leucker, M. (eds.) RV 2018. LNCS, vol. 11237, pp. 263–281. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03769-7_15
Fisher, M., Mascardi, V., Rozier, K.Y., Schlingloff, B.-H., Winikoff, M., Yorke-Smith, N.: Towards a framework for certification of reliable autonomous systems. Auton. Agent. Multi-Agent Syst. 35(1), 1–65 (2020). https://doi.org/10.1007/s10458-020-09487-2
Herzig, A., Lorini, E., Perrussel, L., Xiao, Z.: BDI logics for BDI architectures: old problems, new perspectives. KI - Künstliche Intelligenz 31(1), 73–83 (2016). https://doi.org/10.1007/s13218-016-0457-5
Hewitt, C.: Actor model of computation: scalable robust information systems (2010)
Hewitt, C., Bishop, P., Steiger, R.: A universal modular actor formalism for artificial intelligence. In: Proceedings of the 3rd International Joint Conference on Artificial Intelligence, IJCAI 1973, pp. 235–245. Morgan Kaufmann Publishers Inc., San Francisco (1973)
Hindriks, K.V.: Programming rational agents in GOAL. In: El Fallah Seghrouchni, A., Dix, J., Dastani, M., Bordini, R.H. (eds.) Multi-Agent Programming, pp. 119–157. Springer, Boston, MA (2009). https://doi.org/10.1007/978-0-387-89299-3_4
Kampik, T., Nieves, J.C.: JS-son - a lean, extensible JavaScript agent programming library. In: Dennis, L.A., Bordini, R.H., Lespérance, Y. (eds.) EMAS 2019. LNCS (LNAI), vol. 12058, pp. 215–234. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-51417-4_11
Khamis, M.A., Nagi, K.: Designing multi-agent unit tests using systematic test design patterns (extended version). Eng. Appl. Artif. Intell. 26(9), 2128–2142 (2013)
Koeman, V.J., Hindriks, K.V., Jonker, C.M.: Automating failure detection in cognitive agent programs. In: Proceedings of the International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS pp. 1237–1246 (2016)
McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. SE-2(4), 308–320 (1976)
Mohajeri Parizi, M., Sileno, G., van Engers, T., Klous, S.: Run, agent, run! architecture and benchmarking of actor-based agents. In: proceedings of Programming based on Actors, Agents, and Decentralized Control (AGERE 2020), pp. 11–20 (2020)
Moreno, M., Pavón, J., Rosete, A.: Testing in agent oriented methodologies. In: Omatu, S., Rocha, Miguel P.., Bravo, José, Fernández, Florentino, Corchado, Emilio, Bustillo, Andrés, Corchado, Juan M.. (eds.) IWANN 2009. LNCS, vol. 5518, pp. 138–145. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02481-8_20
Myers, G.J., Sandler, C.: The Art of Software Testing. Wiley, Hoboken (2012)
Nguyen, C.D., Perini, A., Bernon, C., Pavón, J., Thangarajah, J.: Testing in multi-agent systems. Lecture Notes in Computer Science 6038 LNCS, pp. 180–190 (2011)
Padgham, L., Zhang, Z., Thangarajah, J., Miller, T.: Model-based test oracle generation for automated unit testing of agent systems. IEEE Trans. Software Eng. 39(9), 1230–1244 (2013)
Padgham, L., Winikoff, M.: Developing Intelligent Agent Systems: A Practical Guide, vol. 13. Wiley, Hoboken (2004)
Poutakidis, D., Winikoff, M., Padgham, L., Zhang, Z.: Debugging and testing of multi-agent systems using design artefacts. In: El Fallah Seghrouchni, A., Dix, J., Dastani, M., Bordini, R.H. (eds.) Multi-Agent Programming, pp. 215–258. Springer, Boston, MA (2009). https://doi.org/10.1007/978-0-387-89299-3_7
Rao, A.S.: AgentSpeak(L): BDI agents speak out in a logical computable language. In: Van de Velde, W., Perram, J.W. (eds.) MAAMAW 1996. LNCS, vol. 1038, pp. 42–55. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0031845
Rao, A.S., Georgeff, M.P.: BDI agents: from theory to practice. In: Proceedings of the First International Conference on Multi-Agent Systems (ICMAS1995), pp. 312–319 (1995)
Rodriguez, S., Gaud, N., Galland, S.: Sarl: a general-purpose agent-oriented programming language. In: International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT), vol. 3, pp. 103–110 (2014)
Winikoff, M.: BDI agent testability revisited. Auton. Agent. Multi-Agent Syst. 31(5), 1094–1132 (2017). https://doi.org/10.1007/s10458-016-9356-2
Winikoff, M., Cranefield, S.: On the testability of BDI agent systems. IJCAI Int. Joint Conf. Artif. Intell. 51, 4217–4221 (2015)
Winikoff, M., Dennis, L., Fisher, M.: Slicing agent programs for more efficient verification. In: Weyns, D., Mascardi, V., Ricci, A. (eds.) EMAS 2018. LNCS (LNAI), vol. 11375, pp. 139–157. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-25693-7_8
Winikoff, M., Padgham, L., Harland, J., Thangarajah, J.: Declarative and procedural goals in intelligent agent systems. In: 8th International Conference on Principles of Knowledge Representation and Reasoning, KR 2002, pp. 470–481 (2002)
Zhang, Z., Thangarajah, J., Padgham, L.: Automated unit testing for agent systems, 7 10–18 (2007)
Zhou, X., Cushing, R., Grosso, P., Engers, T.V.: Policy enforcement for secure and trustworthy data sharing in multi-domain infrastructures. In: Engineering Multi-Agent Systems, pp. 104–113 (2020)
Acknowledgements
The work as presented in this paper has been done as part of the Dutch Research project ‘Data Logistics for Logistics Data’ (DL4LD), supported by the Dutch Organisation for Scientific Research (NWO), the Dutch Institute for Advanced Logistics ‘TKI Dinalog’ (http://www.dinalog.nl/) and the Dutch Commit-to-Data initiative (http://www.dutchdigitaldelta.nl/big- data/over-commit2data) (grant no: 628.009.001).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Mohajeri Parizi, M., Sileno, G., van Engers, T. (2022). Seamless Integration and Testing for MAS Engineering. In: Alechina, N., Baldoni, M., Logan, B. (eds) Engineering Multi-Agent Systems. EMAS 2021. Lecture Notes in Computer Science(), vol 13190. Springer, Cham. https://doi.org/10.1007/978-3-030-97457-2_15
Download citation
DOI: https://doi.org/10.1007/978-3-030-97457-2_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-97456-5
Online ISBN: 978-3-030-97457-2
eBook Packages: Computer ScienceComputer Science (R0)