Ce package contient les interfaces qui définissent les opérations de manipulation de la facette Identity des agents.
L'identité d'un agent est exprimée par un ensemble d'alias (noms alternatifs), auquel s'ajoute un identifiant inaliénable : l'id local de l'agent. Ce dernier est la chaine
identifiante attribuée à l'agent au moment de son enregistrement dans le space (voir {@link Ubiquity.LocalSpot#addAgent(String, Agent , boolean ) }).
Cette facette identité est "exposée", cela signifie que la consultation de cette facette est possible pour n'importe quel agent du space.
Pour cela, tout agent peut obtenir le descripteur en lecture ({@link Ubiquity.agent.identity.RIdentity}) des identités d'un autre agent de diverses façons. Par exemple via le monitor et sa méthode {@link Ubiquity.Monitor#getAgent(String)},
ou encore en argument de la méthode utilisée pour livrer un message à l'agent : {@link Ubiquity.agent.Agent#receive(AHandle , RIdentity , String , Value )} et dans laquelle l'expéditeur est spécifié
au travers de son descripteur d'identité.
Par contre, les opérations en écriture ne sont possibles que pour l'agent qui porte cette facette (ou le code ayant enregistré cet agent sur le spot local).
En effet, le descripteur en écriture ({@link Ubiquity.agent.identity.WIdentity}) ne peut s'obtenir que sur l'handle de l'agent via la méthode {@link Ubiquity.agent.AHandle#myIdentity()}.
NB : seul l'agent lui-même, et le code ayant procédé à son enregistrement, possède une référence sur cet handle.
Pour un composant agent conçu en héritant de la classe {@link Ubiquity.util.component.BaseAgentComponent}, ce descripteur en écriture est aussi disponible sous l'attribut this.identity.