Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

LI(A)RA Team - A Declarative and Distributed Implementation for the MAPC 2022

  • Conference paper
  • First Online:
The Multi-Agent Programming Contest 2022 (MAPC 2022)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 13997))

Included in the following conference series:

  • 165 Accesses

Abstract

With the increasing computational power and the evolution of the distributed computing paradigm and artificial intelligence techniques and methodologies, computing is becoming increasingly distributed and intelligent. The multi-agent paradigm is one of the most powerful paradigms for implementing distributed artificial intelligence. There are multiple (multi-)agent-oriented programming languages, platforms and methodologies to implement these systems, and the Multi-Agent Programming Contest aims to provide challenging scenarios in which researchers can explore their preferred programming languages, platforms and methodologies to implement multi-agent systems, collecting benchmarks, etc. In this paper, we describe the multi-agent system implemented by the LI(A)RA team for the Multi-Agent Programming Contest 2022, including details about the system’s implementation, the technologies and methodologies used, and also discuss the team’s results.

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

Access this chapter

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

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://multiagentcontest.org/2019/.

  2. 2.

    https://multiagentcontest.org/2020/.

  3. 3.

    Future versions of the contest may allow matches among more than 2 teams.

  4. 4.

    Clear actions are only available for some roles agents can adopt during the simulation.

  5. 5.

    Note that we have multiples implementations for the movement strategies, in which an agent is able to create a goal to move to a specific location, \(\mathtt {!moveTo(10,20)}\), but also referring what it is expected to find there if necessary, for example, a role zone \(\mathtt {!moveTo(10,20,rolezone)}\).

  6. 6.

    The inspiration for this protocol comes from the Contract Net Protocol [34].

References

  1. Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley Professional (2000)

    Google Scholar 

  2. Boehm, B.W.: A spiral model of software development and enhancement. Computer 21(5), 61–72 (1988)

    Article  Google Scholar 

  3. Boissier, O., Bordini, R.H., Hubner, J., Ricci, A.: Multi-agent Oriented Programming: Programming Multi-agent Systems Using JaCaMo. MIT Press, Cambridge (2020)

    Google Scholar 

  4. Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds.): Multi-Agent Programming, Languages, Tools and Applications. Springer, Heidelberg (2009). https://doi.org/10.1007/978-0-387-89299-3

    Book  MATH  Google Scholar 

  5. Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-agent Systems in AgentSpeak Using Jason. Wiley, Hoboken (2007)

    Book  MATH  Google Scholar 

  6. Bratman, M.: Intention, Plans, and Practical Reason. Harvard University Press, Cambridge (1987)

    Google Scholar 

  7. Cernuzzi, L., Cossentino, M., Zambonelli, F.: Process models for agent-based development. Eng. Appl. Artif. Intell. 18(2), 205–222 (2005)

    Article  Google Scholar 

  8. Engelmann, D., et al.: Dial4JaCa – a demonstration. In: Dignum, F., Corchado, J.M., De La Prieta, F. (eds.) PAAMS 2021. LNCS (LNAI), vol. 12946, pp. 346–350. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-85739-4_29

    Chapter  Google Scholar 

  9. Engelmann, D., et al.: Dial4JaCa – a communication interface between multi-agent systems and chatbots. In: Dignum, F., Corchado, J.M., De La Prieta, F. (eds.) PAAMS 2021. LNCS (LNAI), vol. 12946, pp. 77–88. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-85739-4_7

    Chapter  Google Scholar 

  10. Engelmann, D.C., Cezar, L.D., Panisson, A.R., Bordini, R.H.: A conversational agent to support hospital bed allocation. In: Britto, A., Valdivia Delgado, K. (eds.) BRACIS 2021. LNCS (LNAI), vol. 13073, pp. 3–17. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-91702-9_1

    Chapter  Google Scholar 

  11. Engelmann, D.C., Ferrando, A., Panisson, A.R., Ancona, D., Bordini, R.H., Mascardi, V.: Rv4jaca - runtime verification for multi-agent systems. In: Cardoso, R.C., Ferrando, A., Papacchini, F., Askarpour, M., Dennis, L.A. (eds.) Proceedings of the Second Workshop on Agents and Robots for reliable Engineered Autonomy, AREA@IJCAI-ECAI 2022, Vienna, Austria, 24th July 2022. EPTCS, vol. 362, pp. 23–36 (2022)

    Google Scholar 

  12. Finin, T., Fritzson, R., McKay, D., McEntire, R.: KQML as an agent communication language. In: Proceedings of the Third International Conference on Information and Knowledge Management, pp. 456–463 (1994)

    Google Scholar 

  13. Fowler, M., Highsmith, J., et al.: The agile manifesto. Softw. Dev. 9(8), 28–35 (2001)

    Google Scholar 

  14. George, M., Lansky, A.: Reactive reasoning and planning: An experiment with a mobile robot. In: The Proceedings of the Sixth National Conference on Artificial Intelligence, pp. 677–682 (1987)

    Google Scholar 

  15. Madden, N., Logan, B.: Modularity and compositionality in Jason. In: Braubach, L., Briot, J.-P., Thangarajah, J. (eds.) ProMAS 2009. LNCS (LNAI), vol. 5919, pp. 237–253. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14843-9_15

    Chapter  Google Scholar 

  16. Melo, V.S., Panisson, A.R., Bordini, R.H.: Meta-information and argumentation in multi-agent systems. iSys-Braz. J. Inf. Syst. 10(3), 74–97 (2017)

    Google Scholar 

  17. Melo, V., Panisson, A., Bordini, R.: MIRS: A modular approach for using meta-information in agent-oriented programming languages. In: Nineteenth International Workshop on Trust in Agent Societies (2017)

    Google Scholar 

  18. Müller, J.P., Pischel, M., Thiel, M.: Modeling reactive behaviour in vertically layered agent architectures. In: Wooldridge, M.J., Jennings, N.R. (eds.) ATAL 1994. LNCS, vol. 890, pp. 261–276. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-58855-8_17

    Chapter  Google Scholar 

  19. Ortiz-Hernández, G., Guerra-Hernández, A., Hübner, J.F., Luna-Ramírez, W.A.: Modularization in belief-desire-intention agent programming and artifact-based environments. PeerJ Comput. Sci. 8, e1162 (2022)

    Article  Google Scholar 

  20. Ortiz-Hernández, G., Hübner, J.F., Bordini, R.H., Guerra-Hernández, A., Hoyos-Rivera, G.J., Cruz-Ramírez, N.: A namespace approach for modularity in BDI programming languages. In: Baldoni, M., Müller, J.P., Nunes, I., Zalila-Wenkstern, R. (eds.) EMAS 2016. LNCS (LNAI), vol. 10093, pp. 117–135. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-50983-9_7

    Chapter  Google Scholar 

  21. Panisson, A.R.: M-arguments. In: 2020 IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology (WI-IAT), pp. 161–168 (2020)

    Google Scholar 

  22. Panisson, A.R., Bordini, R.H.: Knowledge representation for argumentation in agent-oriented programming languages. In: 2016 5th Brazilian Conference on Intelligent Systems (BRACIS), pp. 13–18. IEEE (2016)

    Google Scholar 

  23. Panisson, A.R., et al.: Arguing about task reallocation using ontological information in multi-agent systems. In: 12th International Workshop on Argumentation in Multiagent Systems, vol. 108 (2015)

    Google Scholar 

  24. Panisson, A.R., McBurney, P., Bordini, R.H.: A computational model of argumentation schemes for multi-agent systems. Argument Comput. 12(3), 1–39 (2021)

    Article  Google Scholar 

  25. Panisson, A.R., Meneguzzi, F., Vieira, R., Bordin, R.H.: Towards practical argumentation in multi-agent systems. In: 2015 Brazilian Conference on Intelligent Systems (BRACIS), pp. 98–103. IEEE (2015)

    Google Scholar 

  26. Panisson, A.R., Meneguzzi, F., Vieira, R., Bordini, R.H.: Towards practical argumentation-based dialogues in multi-agent systems. In: 2015 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology (WI-IAT), vol. 2, pp. 151–158. IEEE (2015)

    Google Scholar 

  27. Panisson, A.R., Sarkadi, S., McBurney, P., Parsons, S., Bordini, R.H.: On the formal semantics of theory of mind in agent communication. In: Lujak, M. (ed.) AT 2018. LNCS (LNAI), vol. 11327, pp. 18–32. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17294-7_2

    Chapter  Google Scholar 

  28. Panisson, A.R.: A framework for reasoning and dialogue in multi-agent systems using argumentation schemes. Ph.D. thesis, Pontifícia Universidade Católica do Rio Grande do Sul (2019)

    Google Scholar 

  29. Panisson, A.R., Meneguzzi, F.R., Fagundes, M.S., Vieira, R., Bordini, R.H.: Formal semantics of speech acts for argumentative dialogues. In: 2014 Proceedings of the 13th International Conference on Autonomous Agents and Multiagent Systems, França (2014)

    Google Scholar 

  30. 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

    Chapter  Google Scholar 

  31. Sarkadi, Ş, Panisson, A.R., Bordini, R.H., McBurney, P., Parsons, S.: Towards an approach for modelling uncertain theory of mind in multi-agent systems. In: Lujak, M. (ed.) AT 2018. LNCS (LNAI), vol. 11327, pp. 3–17. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17294-7_1

    Chapter  Google Scholar 

  32. Schmidt, D., Panisson, A.R., Freitas, A., Bordini, R.H., Meneguzzi, F., Vieira, R.: An ontology-based mobile application for task managing in collaborative groups. In: Markov, Z., Russell, I. (eds.) Proceedings of the Twenty-Ninth International Florida Artificial Intelligence Research Society Conference, FLAIRS 2016, Key Largo, Florida, USA, 16–18 May 2016, pp. 522–526. AAAI Press (2016)

    Google Scholar 

  33. da Silveira Colissi, M., Vieira, R., Mascardi, V., Bordini, R.H.: A chatbot that uses a multi-agent organization to support collaborative learning. In: Stephanidis, C., Antona, M., Ntoa, S. (eds.) HCII 2021. CCIS, vol. 1421, pp. 31–38. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-78645-8_4

    Chapter  Google Scholar 

  34. Smith, R.G.: The contract net protocol: high-level communication and control in a distributed problem solver. IEEE Trans. Comput. 29(12), 1104–1113 (1980)

    Article  Google Scholar 

  35. Vieira, R., Moreira, Á.F., Wooldridge, M., Bordini, R.H.: On the formal semantics of speech-act based communication in an agent-oriented programming language. J. Artif. Intell. Res. 29, 221–267 (2007)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alison R. Panisson .

Editor information

Editors and Affiliations

Appendices

16th Multi-agent Programming Contest: All Questions Answered

LI(A)RA Team

Federal University of Santa Catarina

A Team Overview: Short Answers

1.1 A.1 Participants and Their Background

  • Who is part of your team?

    We are 3 undergraduate students, named Marcelo, Michele and Ricardo, from the Computer Engineering program at the Federal University of Santa Catarina (UFSC), under supervision by Professor Alison R. Panisson and PhD Giovani P. Farias. Alison and Giovani have about 10 years of experience in multi-agent systems programming, and the students have bout 1 year of experience. Students are learning about multi-agent systems in undergraduate courses and at the LI(A)RA project, which focuses on teaching multi-agent systems technology.

  • What was your motivation to participate in the contest?

    Giovani and Alison have participated in MAPC in the past, and they always thought about creating a project focusing on teaching multi-agent technologies to students (undergraduate and graduate students), in which they could apply the knowledge from this learning to MAPC problems. One of the more evident motivations is evaluating the multi-agent platforms, languages, and methodologies to develop complex multi-agent systems.

  • What is the history of your group? (course project, thesis, \(\ldots \) )

    LI(A)RA project was created in February of 2022 by Professor Alison at UFSC, in collaboration with the LIA (Academic League of Artificial Intelligence) focused on teaching and exploring multi-agent systems technologies.

  • What is your field of research? Which work therein is related?

    Alison and Giovani are both researchers in the field of multi-agent systems. Alison’s main research interest is multi-agent (software agents and humans) communication using argumentation. Giovani’s main research interest is multi-task planning.

1.2 A.2 Statistics

  • Did you start your agent team from scratch, or did you build on existing agents (from yourself or another previous participant)?

    We started from scratch, about 2 months before the contest.

  • How much time did you invest in the contest (for programming, organising your group, other)?

    Alison has spent about 80 h of programming (during his vacation time), and the group has spent about 40 h discussing strategies, previous papers from MAPC, and organising the infrastructure to develop and test the system.

  • How was the time (roughly) distributed over the months before the contest?

    During about 5 months the group had meetings to talk about strategies and the previous papers from MAPC. Alison implemented the system 2 weeks before the qualification phase.

  • How many lines of code did you produce for your final agent team?

    About 1100 lines of code

1.3 A.3 Technology and Techniques

Did you use any of these agent technology/AOSE methods or tools? What were your experiences?

  • Agent programming languages and/or frameworks?

    We used purely Jason.

  • Methodologies (e.g. Prometheus)?

    Usual software engineering methodologies, with incremental and modular components (in the case of Jason agents, an incremental and modular plan library).

  • Notation (e.g. Agent UML)?

    Table of predicates with their meaning and decision-making flowcharts.

  • Coordination mechanisms (e.g. protocols, games, ...)?

    A complete decentralised mechanism, using communication protocols, for synchronising and organisation (similar to Contract Net Protocol).

  • Other (methods/concepts/tools)?

    Although Jason provides a series of structural programming structures, we opted to make the code more declarative as possible, respecting the original declarative programming paradigm of the language.

What hardware did you use during the contest?

To run our agents in the contest, we used an Avell A52 LIV notebook, with the following specifications:

  • Processor: Intel Core i5-10300H (4.5 GHz max clock);

  • Graphics Card: NVidia GeForce GTX 1650Ti (with 4GB GDDR6 dedicated RAM);

  • Memory: 16 GB DDR4 [2\(\,\times \,\)8 GB - Dual Channel] @3200 MHz;

  • Hard Drive: SSD M.2 NVME 500 GiB;

  • Wireless Card: Intel Dual Band Wireless-9462 + Bluetooth 5.1.

1.4 A.4 Agent System Details

  • Would you say your system is decentralised? Why?

    Completely decentralised, no central mechanisms were utilised.

  • Do your agents use the following features: Planning, Learning, Organisations, Norms? If so, please elaborate briefly.

    They use simple strategies organised by priority of plans in their plan library, in which plans are enabled by a mechanism of memory.

  • How do your agents cooperate?

    They synchronise when find each other, requesting help to complete tasks when they are able to participate in those tasks, verifying the best match in the group of agents that can help.

  • Can your agents change their general behaviour during run time? If so, what triggers the changes?

    Yes, they use a mechanism of memory to influence their behaviour. All our agents are instances of the same code.

  • Did you have to make changes to the team (e.g. fix critical bugs) during the contest?

    We opted to keep our original code during the contest without any change.

  • How did you go about debugging your system? What kinds of measures could improve your debugging experience?

    Debugging is normally hard. We basically executed the system, analysed the executions, and did inspections on agents and environment state to find and fix bugs.

  • During the contest, you were not allowed to watch the matches. How did you track what was going on? Was it helpful?

    We did not track what was going on (unfortunately we only were able to organise the system execution during the contest)

  • Did you invest time in making your agents more robust/fault-tolerant? How?

    Yes, identifying possible problems during tests.

1.5 A.5 Scenario and Strategy

  • How would you describe your intended agent behaviour? Did the actual behaviour deviate from that?

    Agents dynamically adapted their behaviour according to the result of exploration of the environment and the whether or not they were able to meet other agents at the same time.

  • Why did your team perform as it did? Why did the other teams perform better/worse than you did?

    We consider our implementation was about 35–40% complete, which is resulting from the fact the team started to implement the system very late. We consider we had a very good result considering the state of our implementation and the fact it was the first year the team participated in the contest. One behaviour we did not predict from other teams and it make a great difference was agents attacking others to avoid other teams delivering tasks (We believe it was the first time teams used this kind of aggressive strategies) and it worked very well for them (against us).

  • Did you implement any strategy that tries to interfere with your opponents?

    We did not. Others who implemented got an advantage in matches, which seems an interesting direction to pursue during the next contests.

  • How do your agents coordinate assembling and delivering a structure for a task?

    They used a coordination protocol, similar to the contract net protocol, in which one agent was responsible to coordinate the delivery.

  • Which aspect(s) of the scenario did you find particularly challenging?

    Using no absolute position for agents was the most challenging aspect.

  • What would you improve (wrt. your agents) if you wanted to participate in the same contest a week from now (or next year)?

    We would finish our implementation, which was about 35–40% complete.

  • What can be improved regarding the scenario for next year? What would you remove? What would you add?

    We found the scenario very challenging. We would suggest 3D (three-dimensional) tasks, and also agents would have the capability to defend themselves from clear events (some agents would have this capability according to their roles).

1.6 A.6 And the Moral of it is ...

  • What did you learn from participating in the contest?

    From the technological point of view, we learned that the platform provides enough to implement this kind of complex multi-agent system to solve complex problems (dynamic, non-deterministic, etc.).

    From the software engineering point of view, we were able to use an incremental approach to develop “modules of behaviour”, all put together when instantiating agents. All our agents had the same code (same implementation to all our agents), which also is a very interesting achievement.

    We found it very difficult to coordinate the team during implementation, but it is because we had a very short time to implement our system (about 2 weeks only)

  • What advice would you give to yourself before the contest/another team wanting to participate in the next?

    Start the implementation as soon as you can, but first study the scenario in detail to plan how to implement your multi-agent system. Also, studying the scenario will provide you with a short of strategies (choices) we will eventually make.

  • Where did you benefit from your chosen programming language, methodology, tools, and algorithms?

    Mostly because of our experience with the language, but it also is very elegant (declarative language) and we would like to check if we could keep it as declarative as possible (we succeed in this).

  • Which problems did you encounter because of your chosen technologies?

    Our system become slow with many agents on regular laptops, and we had to execute it from a better machine (but nothing very powerful like a server). I believe other teams had the same problem independent of the technology they used. Otherwise, the technology fulfilled our needs.

  • Which aspect of your team cost you the most time?

    Testing. Some situations we would like to test cost many simulations in which we had to wait for the specific situation to happen to verify if our implementation was efficient. We did not explore more sophisticated manners to test our implementation (re-configuring the server, for example).

1.7 A.7 Looking into the Future

  • Did the warm-up match help improve your team of agents? How useful do you think it is?

    We did not change our code after the warm-up, but it was useful to verify the connection with the server, the performance of our machine executing the system, etc.

  • What are your thoughts on changing how the contest is run, so that the participants’ agents are executed on the same infrastructure by the organisers? What do you see as positive or negative about this approach?

    I believe it would be very positive, giving us better benchmarks in which the infrastructure is not a variable anymore.

  • Do you think a match containing more than two teams should be mandatory?

    I believe it depends on the scenario. 2019–2022 scenarios would have more than a team and it would have been fun. For other scenarios, we are not sure if it would make sense.

  • What else can be improved regarding the MAPC for next year?

    We are very excited about next year’s contest and we have no more suggestions. Thank you for organising it and keep it up.

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Custódio, M., Rocha, M., Battaglin, R., Farias, G.P., Panisson, A.R. (2023). LI(A)RA Team - A Declarative and Distributed Implementation for the MAPC 2022. In: Ahlbrecht, T., Dix, J., Fiekas, N., Krausburg, T. (eds) The Multi-Agent Programming Contest 2022. MAPC 2022. Lecture Notes in Computer Science(), vol 13997. Springer, Cham. https://doi.org/10.1007/978-3-031-38712-8_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-38712-8_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-38711-1

  • Online ISBN: 978-3-031-38712-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics