Agents are problem-solving entities that can be used to develop complex and distributed systems because they are autonomous, mobile, reactive, social, and proactive. Today's trends in agent technology include the development of applications as multi-agent systems, where several agents interact within the same application. In these systems, the interactions among agents must be carefully considered. Roles constitute a powerful paradigm for modeling interactions, allowing algorithmic issues and interaction-dependent issues to be handled independently. In this paper, we present the RoleX interaction infrastructure, which enables Java(TM) agents to dynamically assume and use roles at runtime. Our approach is based on using bytecode manipulation to add (or remove) Java members from agents, changing their capabilities. We detail the main component of RoleX, the Role Loader, which performs the bytecode manipulation that allows agents to dynamically assume and release roles.

Injecting roles in Java agents through runtime bytecode manipulation / Cabri, Giacomo; L., Ferrari; Leonardi, Letizia. - In: IBM SYSTEMS JOURNAL. - ISSN 0018-8670. - STAMPA. - 44:1(2005), pp. 185-208. [10.1147/sj.441.0185]

Injecting roles in Java agents through runtime bytecode manipulation

CABRI, Giacomo;LEONARDI, Letizia
2005

Abstract

Agents are problem-solving entities that can be used to develop complex and distributed systems because they are autonomous, mobile, reactive, social, and proactive. Today's trends in agent technology include the development of applications as multi-agent systems, where several agents interact within the same application. In these systems, the interactions among agents must be carefully considered. Roles constitute a powerful paradigm for modeling interactions, allowing algorithmic issues and interaction-dependent issues to be handled independently. In this paper, we present the RoleX interaction infrastructure, which enables Java(TM) agents to dynamically assume and use roles at runtime. Our approach is based on using bytecode manipulation to add (or remove) Java members from agents, changing their capabilities. We detail the main component of RoleX, the Role Loader, which performs the bytecode manipulation that allows agents to dynamically assume and release roles.
2005
44
1
185
208
Injecting roles in Java agents through runtime bytecode manipulation / Cabri, Giacomo; L., Ferrari; Leonardi, Letizia. - In: IBM SYSTEMS JOURNAL. - ISSN 0018-8670. - STAMPA. - 44:1(2005), pp. 185-208. [10.1147/sj.441.0185]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia
File in questo prodotto:
File Dimensione Formato  
IBM05_dalsito.pdf

Open access

Tipologia: Versione dell'autore revisionata e accettata per la pubblicazione
Dimensione 270.25 kB
Formato Adobe PDF
270.25 kB Adobe PDF Visualizza/Apri
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/307044
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 20
  • ???jsp.display-item.citation.isi??? 13
social impact