Ciatto, G.Magnini, M.Buzcu, BerkAydoğan, ReyhanOmicini, A.2024-01-162024-01-162023978-303140877-90302-9743http://hdl.handle.net/10679/9049https://doi.org/10.1007/978-3-031-40878-6_3Building on prior works on explanation negotiation protocols, this paper proposes a general-purpose protocol for multi-agent systems where recommender agents may need to provide explanations for their recommendations. The protocol specifies the roles and responsibilities of the explainee and the explainer agent and the types of information that should be exchanged between them to ensure a clear and effective explanation. However, it does not prescribe any particular sort of recommendation or explanation, hence remaining agnostic w.r.t. such notions. Novelty lays in the extended support for both ordinary and contrastive explanations, as well as for the situation where no explanation is needed as none is requested by the explainee. Accordingly, we formally present and analyse the protocol, motivating its design and discussing its generality. We also discuss the reification of the protocol into a re-usable software library, namely PyXMas, which is meant to support developers willing to build explainable MAS leveraging our protocol. Finally, we discuss how custom notions of recommendation and explanation can be easily plugged into PyXMas.engrestrictedAccessA general-purpose protocol for multi-agent based explanationsconferenceObject14127 LNAI385810.1007/978-3-031-40878-6_3Explanation protocolsMulti-agent systemsPyXMasRecommender systemsSpadeXAI2-s2.0-85172214167