Skip to main content
Log in

Quantifying the relationship between software design principles and performance in Jason: a case study with simulated mobile robots

  • Published:
Annals of Mathematics and Artificial Intelligence Aims and scope Submit manuscript

Abstract

We investigated the relationship between various design approaches of AgentSpeak code for Jason Beliefs-Desires-Intentions (BDI) agents and their performance in a simulated automotive collision avoidance scenario. Also explored was how the approaches affected software maintainability, assessed through coupling, cohesion, and cyclomatic complexity. We then compared each agent’s performance, specifically their reasoning cycle duration and their responsiveness. Our findings revealed that agents with looser coupling and higher cohesion are more responsive to stimuli, implying that more maintainable AgentSpeak code can result in better performing agents. Performance was inversely related to cyclomatic complexity.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

Data Availability

The datasets generated during and/or analysed during the current study are available in on GitHub at: https://github.com/NMAI-lab/AirSimNavigatingCar/ [24].

References

  1. Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-Agent Systems in AgentSpeak Using Jason (Wiley Series in Agent Technology). Wiley (2007)

  2. Hübner, J.F., Bordini, R.H.: Jason: a Java-based interpreter for an extended version of AgentSpeak. http://jason.sourceforge.net. Accessed 16 Feb 2019

  3. Lazarin, N.M., Pantoja, C.E.: A robotic-agent platform for embedding software agents using raspberry pi and arduino boards. 9th Software Agents, Environments and Applications School (2015)

  4. Pantoja, C.E., Stabile, M.F., Lazarin, N.M., Sichman, J.S.: ARGO: An Extended Jason Architecture that Facilitates Embedded Robotic Agents Programming. In: Baldoni, M.,Müller, J.P., Nunes, I., Zalila-Wenkstern, R. (eds.) Engineering Multi-Agent Systems, pp. 136–155. Springer, (2016)

  5. Soza, H.: Quality measures for agent-oriented software. In: Shikhin, V. (ed.) Multi-Agent Systems. IntechOpen, (2019). Chap. 2. https://doi.org/10.5772/intechopen.79741

  6. Wooldridge, M., Jennings, N.R., Kinny, D.: The gaia methodology for agent-oriented analysis and design. Auton. Agents Multi-Agent Syst. 3(3), 285–312 (2000). https://doi.org/10.1023/A:1010071910869

    Article  Google Scholar 

  7. Kinny, D., Georgeff, M., Rao, A.: A methodology and modelling technique for systems of bdi agents. In: Proceedings of the 7th European Workshop on Modelling Autonomous Agents in a Multi-Agent World: Agents Breaking Away. MAAMAW ’96, pp. 56–71. Springer, (1996)

  8. Miles, S., Joy, M., Luck, M.: Designing agent-oriented systems by analysing agent interactions. In: Ciancarini, P., Wooldridge, M.J. (eds.) Agent-Oriented Software Engineering, pp. 171–183. Springer, (2001)

  9. Stevens, W.P., Myers, G.J., Constantine, L.L.: Structured design. IBM Syst. J. 13(2), 115–139 (1974). https://doi.org/10.1147/sj.132.0115

    Article  Google Scholar 

  10. Barnes, D.J., Kolling, M.: Objects First with Java: A Practical Introduction Using BlueJ, pp. 287–288. Pearson, (2017)

  11. Habiba, M.: Metrics for evaluating agent oriented software engineering model. In: 2012 International Conference on Informatics, Electronics Vision (ICIEV), pp. 17–22. (2012). https://doi.org/10.1109/ICIEV.2012.6317459

  12. Kramer, S., Kaindl, H.: Coupling and cohesion metrics for knowledge-based systems using frames and rules. ACM Trans. Softw. Eng. Methodol. 13(3), 332–358 (2004). https://doi.org/10.1145/1027092.1027094

    Article  Google Scholar 

  13. Serebrenik, A., Schrijvers, T., Demoen, B.: Improving prolog programs: Refactoring for prolog. In: ICLP (2004)

  14. McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. SE-2(4), 308–320 (1976). https://doi.org/10.1109/TSE.1976.233837

  15. Far, B.H., Wanyama, T.: Metrics for agent-based software development. In: CCECE 2003 - Canadian Conference on Electrical and Computer Engineering. Toward a Caring and Humane Technology (Cat. No.03CH37436), vol. 2, pp. 1297–13002. (2003). https://doi.org/10.1109/CCECE.2003.1226137

  16. Moores, T.T.: Applying complexity measures to rule-based prolog programs. J. Syst. Softw. 44(1), 45–52 (1998). https://doi.org/10.1016/S0164-1212(98)10042-0

    Article  Google Scholar 

  17. Stabile, M.F., Sichman, J.S.: Evaluating Perception Filters in BDI Jason Agents. In: 2015 Brazilian Conference on Intelligent Systems (BRACIS), pp. 116–121. (2015). https://doi.org/10.1109/BRACIS.2015.18

  18. Miller, J., Esfandiari, B.: Analysis of the execution time of the jason bdi reasoning cycle. In: Alechina, N., Baldoni, M., Logan, B. (eds.) Engineering Multi-Agent Systems, pp. 218–236. Springer, (2022)

  19. Cardoso, R.C., Ferrando, A., Dennis, L.A., Fisher, M.: An interface for programming verifiable autonomous agents in ros. In: Bassiliades, N., Chalkiadakis, G., de Jonge, D. (eds.) Multi-Agent Systems and Agreement Technologies, pp. 191–205. Springer, (2020)

  20. Wesz, R.: Integrating Robot Control Into The AgentSpeak(L) Programming Language. Master’s thesis, Pontifical Catholic University of Rio Grande do Sul, Porto Alegre, Brazil (2015)

  21. Microsoft.: AirSim. https://github.com/Microsoft/AirSim. Accessed 27 Mar 2019

  22. Shah, S., Dey, D., Lovett, C., Kapoor, A.: AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles. In: Field and Service Robotics. (2017). https://arxiv.org/abs/1705.05065

  23. Gavigan, P.: SAVI_ROS_BDI. https://github.com/NMAI-lab/savi_ros_bdi. Accessed 18 Feb 2020

  24. Gavigan, P.: AirSim Navigating Car. https://github.com/NMAI-lab/AirSimNavigatingCar/. Accessed 19 Feb 2021

  25. Gavigan, P.: Agent in a Box Demo - Car Lane Keep and Obstacle Avoidance. https://youtu.be/tvqkNnpKIPo. Accessed 05 Apr 2021

  26. Gavigan, P.: Jason Car Agent - Crash Case. https://www.youtube.com/watch?v=vfc_YLg0X2I. Accessed 08 Apr 2022

  27. Gavigan, P.: Jason Car Agent - Stop Case. https://www.youtube.com/watch?v=Rlp2wY3FDJU. Accessed 08 Apr 2022

  28. Gavigan, P.: AgentSpeak Properties. https://github.com/NMAI-lab/AgentSpeakProperties. Accessed 04 July 2020

  29. Ricci, A., Bordini, R.H., Hübner, J.F., Collier, R.: AgentSpeak(ER): An Extension of AgentSpeak(L) Improving Encapsulation and Reasoning about Goals. In: Proceedings of the 17th International Conference on Autonomous Agents and MultiAgent Systems. AAMAS ’18, pp. 2054–2056. International Foundation for Autonomous Agents and Multiagent Systems, (2018)

Download references

Acknowledgements

We acknowledge the support of the Natural Sciences and Engineering Research Council of Canada (NSERC), [funding reference number 518212].

Cette recherche a été financée par le Conseil de recherches en sciences naturelles et en génie du Canada (CRSNG), [numéro de référence 518212].

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Patrick Gavigan or Babak Esfandiari.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gavigan, P., Esfandiari, B. Quantifying the relationship between software design principles and performance in Jason: a case study with simulated mobile robots. Ann Math Artif Intell 92, 775–795 (2024). https://doi.org/10.1007/s10472-023-09844-3

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10472-023-09844-3

Keywords

Navigation