Thanks to their sociality, agents can interact with other agents in a cooperative or competitive way. Such interactions must be carefully taken into consideration in the development of agent-based applications. A good paradigm for modeling such interactions is the one based on the concept of roles, which is fully exploited in the BRAIN framework. The use of roles achieves several advantages, from separation of concerns between the algorithmic issues and the interaction ones, to the reuse of solutions and experiences in different applications. In this paper, we propose an interaction infrastructure for enabling Java agents to dynamically assume roles at runtime and then to use them. Our approach is based on the capability of modifying the bytecode of Java agents at runtime in order to add the members of role classes. An application example and a comparison with other approaches show the effectiveness of our approach.

Exploiting runtime bytecode manipulation to add roles to Java agents / Cabri, Giacomo; L., Ferrari; Leonardi, Letizia. - In: SCIENCE OF COMPUTER PROGRAMMING. - ISSN 0167-6423. - STAMPA. - 54:1(2005), pp. 73-98. [10.1016/j.scico.2004.05.007]

Exploiting runtime bytecode manipulation to add roles to Java agents

CABRI, Giacomo;LEONARDI, Letizia
2005

Abstract

Thanks to their sociality, agents can interact with other agents in a cooperative or competitive way. Such interactions must be carefully taken into consideration in the development of agent-based applications. A good paradigm for modeling such interactions is the one based on the concept of roles, which is fully exploited in the BRAIN framework. The use of roles achieves several advantages, from separation of concerns between the algorithmic issues and the interaction ones, to the reuse of solutions and experiences in different applications. In this paper, we propose an interaction infrastructure for enabling Java agents to dynamically assume roles at runtime and then to use them. Our approach is based on the capability of modifying the bytecode of Java agents at runtime in order to add the members of role classes. An application example and a comparison with other approaches show the effectiveness of our approach.
2005
54
1
73
98
Exploiting runtime bytecode manipulation to add roles to Java agents / Cabri, Giacomo; L., Ferrari; Leonardi, Letizia. - In: SCIENCE OF COMPUTER PROGRAMMING. - ISSN 0167-6423. - STAMPA. - 54:1(2005), pp. 73-98. [10.1016/j.scico.2004.05.007]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia
File in questo prodotto:
File Dimensione Formato  
scp05_dalsito.pdf

Accesso riservato

Tipologia: Versione pubblicata dall'editore
Dimensione 673.35 kB
Formato Adobe PDF
673.35 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
Pubblicazioni consigliate

Licenza Creative Commons
I metadati presenti in IRIS UNIMORE sono rilasciati con licenza Creative Commons CC0 1.0 Universal, mentre i file delle pubblicazioni sono rilasciati con licenza Attribuzione 4.0 Internazionale (CC BY 4.0), salvo diversa indicazione.
In caso di violazione di copyright, contattare Supporto Iris

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11380/307831
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 3
  • ???jsp.display-item.citation.isi??? 2
social impact