1 2 3 4 5 6
| Que pourrait être un SMA simple ?
- Un ordonnanceur : il fait vivre les agents. Il possède une méthode "cycle()" dans laquelle il appelle un par un, séquentiellement, tous les agents (via leur méthode live()).
- Des agents : les agents sont des entités indépendantes qui vivent dans le système. Ils possèdent une méthode live() dans laquelle est écrit leur comportement. Idéalement, il y a un agent père qui implémente le comportement de base de tous les agents, et tu dérives ensuite des agents fils avec des spécialisations (comme ce que tu dis dans ton post). Les agents peuvent envoyer des messages, un message c'est... ce que tu veux. Tu peux développer une classe message qui possède des attributs spécifiques (d'autres objets complexes, simples, ...) si tu as besoin de quelque chose de simple, ou bien utiliser quelque chose de plus haut niveau si c est plus complexe (mais ça je l'ai jamais fait).
Pour moi, si tu as un ordonnanceur qui fait vivre des agents dans un environnent, alors c'est un SMA simple, mais complet.
Par contre, si tu crée juste une classe "agent" (comme tu le dis) qui n'est pas contrôlée par un ordonnanceur, c'est à dire qu'il n'y a pas d'autres agents qui vivent en même temps dans le système, alors ça n'est pas un SMA. |
Partager