MaDKit forum

Welcome All !
Please, use explicit topic names when creating new threads. Thanks.

You are not logged in.

#1 2013-12-02 22:27:43

Antoine C.
Member
Registered: 2013-10-10
Posts: 2
Website

Comment connaitre les rôles et les groupes d'un agent ?

Bonjour,

Concernant le projet de simulation de la bourse, j'ai choisi de mettre le nombre d'action d'un trader dans des rôles.
Je m'explique :
   Une fois qu'un Broker a effectué une transaction, le Trader est contacté, et est ainsi propriétaire de nouvelles actions. Donc il rentre dans le groupe d'actionnaire de l'entreprise concerné, et demande un rôle dans ce groupe contenant le nombre d'action qu'il a obtenu.
S'il en achète plus, il change de rôle (et détruit son ancien si personne d’autre ne le possède).
S'il n’a plus d’action, il sort du groupe d'actionnaire de cette entreprise (et détruit son ancien rôle sous les mêmes conditions précédentes).

Pourquoi ce choix ?
   Tout simplement pour simplifier la tâche de l'entreprise, qui lors de résultat positive d'un trimestre par exemple, elle ne fait qu’envoie une certaine quantité d'argent suivant les rôles des actionnaires. C'est ainsi très facile de contacter tous les actionnaires qu'elle a dans le moment présent, avec leurs parts chacun.

Cependant, je rencontre des difficultés...
Au niveau des Traders, en ce moment j'utilise un HashMap pour attribuer à chaque entreprise un entier correspondant au nombre d'action.
Je n'aime pas cette façon de faire, car on perd complétement l'aspect "temps réel", si une entreprise disparait par exemple, on a normalement plus d'action de celle-ci, et là ce n’est pas le cas.
Pour y remédier, je cherche à savoir s'il existe une méthode permettant de savoir quelles sont les groupes dont fait partie l'agent qui le demande, et quel rôle il a dans ce groupe.
J'ai parcouru l'API mais sans trouver ce que je cherchais.

Avez-vous une solution ?
Dois-je revoir ma façon de concevoir cette représentation des actionnaires ?
Ou tout simplement garder ce HashMap, et vérifier si le groupe de l'entreprise existe avant toute opération sur la clé de l'entreprise concerné ?

Merci d'avance.

Cordialement,
Antoine C. Etudiant en 2e année d'IUT Informatique

Offline

#2 2013-12-06 13:27:29

fmichel
Administrator
From: Montpellier
Registered: 2009-03-24
Posts: 172
Website

Re: Comment connaitre les rôles et les groupes d'un agent ?

Bonjour Antoine,

Antoine C. wrote:

Pourquoi ce choix ?
   Tout simplement pour simplifier la tâche de l'entreprise, qui lors de résultat positive d'un trimestre par exemple, elle ne fait qu’envoie une certaine quantité d'argent suivant les rôles des actionnaires. C'est ainsi très facile de contacter tous les actionnaires qu'elle a dans le moment présent, avec leurs parts chacun.

Très bonne idée.

Antoine C. wrote:

Cependant, je rencontre des difficultés...
Au niveau des Traders, en ce moment j'utilise un HashMap pour attribuer à chaque entreprise un entier correspondant au nombre d'action.
Je n'aime pas cette façon de faire, car on perd complétement l'aspect "temps réel", si une entreprise disparait par exemple, on a normalement plus d'action de celle-ci, et là ce n’est pas le cas.
Pour y remédier, je cherche à savoir s'il existe une méthode permettant de savoir quelles sont les groupes dont fait partie l'agent qui le demande, et quel rôle il a dans ce groupe.
J'ai parcouru l'API mais sans trouver ce que je cherchais.

En effet, il y a déjà la méthode getMyGroups mais rien pour trouver ses rôles. Dans cette version vous trouverez une nouvelle méthode getMyRoles dans AbstractAgent. Elle devrait faire l'affaire.
Tenez-moi au courant.

Offline

#3 2013-12-08 23:40:15

Antoine C.
Member
Registered: 2013-10-10
Posts: 2
Website

Re: Comment connaitre les rôles et les groupes d'un agent ?

fmichel wrote:

Bonjour Antoine,
En effet, il y a déjà la méthode getMyGroups mais rien pour trouver ses rôles. Dans cette version vous trouverez une nouvelle méthode getMyRoles dans AbstractAgent. Elle devrait faire l'affaire.
Tenez-moi au courant.

Ça fonctionne correctement et c'est exactement ce dont j'avais besoin.
Merci beaucoup !

Offline

Board footer