Brouillon Fungus est un prototype de `framework' multiagent pour simuler des systèmes complexes. IntroductionSystèmes complexesOn peut voir un système complexe comme une population d'éléments avec des attributs bien définis. Ces éléments sont plus ou moins en interactions les uns les autres. Si bien qu'on ne peut pas réduire le système à la somme de ses éléments. De plus, si ces éléments ont des interactions non-linéaires, il se peut que l'on ait une émergence d'un comportement global non décrit dans le comportement des individus. Trop souvent, ce comportement global ne peut pas être étudié de façon analytique. Le seul moyen d'étude que l'on ait à notre disposition est la simulation. D'où FungusFungus se présente sous la forme d'une bibliothèque Java qui offre la possibilité de construire des simulateurs pour un grand nombre de systèmes complexes. Cela va du simple pendule à un ecosystème complet en passant par les sociétés d'insectes. Fungus est:
Fungus peut être lancé dans un interface graphique (voir figure 3). De plus, Fungus possède un langage de script Mycelium afin de construire les simulations plus rapidement. BibliothèqueAgentsLes simulations de Fungus sont des systèmes multi-agents. Le concepteur de le simulation doit définir les caractéristiques de chaque éléments (appelés agents), puis mettre ceux-ci en relation.
Alors que dans de nombreuses simulations, on sépare les éléments «actifs» (agents) des éléments
«passif» (environnement), Fungus considère tous les éléments de la simulation comme des agents.
Tout considérer comme des agents permet de distribuer facilement la simulation sur différentes machines. Fungus est conçu dans cette optique et permet de réaliser les calculs sur plusieurs machines reliées en réseaux. Les agents ne savent pas sur quelle machine ils se trouvent, tout comme il ne sait pas où se trouve les autres agents avec qui ils communiquent. Services
Le systèmes s'appuie sur un ensemble de services. Les agents ou l'infrastructure délègue une
partie de leurs traitements aux services.
Mycelium
<?xml version="1.0"?> <!DOCTYPE mycelium SYSTEM "mycelium.dtd"> <!-- An example of the mycelium language --> <mycelium> <meta name="author" contents="Valvassori Moïse"/> <definition> <scheme> (define (f x) (if (zero? x) 1 (* x (f (- x 1))))) </scheme> <agentclass name="Tst"> <initialisation> <variable name="msg">"Hello"</variable> (if (not (eq? #!null (mget! param 'msg))) (set! msg (mget! param 'msg))) </initialisation> <behavior> (display "Myc:") (display msg) (newline) (sleep (make-quantity 1 "s")) </behavior> </agentclass> </definition> <simulation> <agent type="Tst"/> <repeat times="(f 3)"> <agent type="Tst"> <parameter name="msg">Bonjour</parameter> </agent> </repeat> </simulation> </mycelium>
|
Latest News
Warning: main(http://sourceforge.net/export/projnews.php?group_id=57560&limit=5&flat=1&show_summaries=0) [function.main]: failed to open stream: Network is unreachable in /mnt/102/sda/3/5/valvassori/unix/fungus/overview.php3 on line 159 Warning: main() [function.include]: Failed opening 'http://sourceforge.net/export/projnews.php?group_id=57560&limit=5&flat=1&show_summaries=0' for inclusion (include_path='/mnt/102/sda/3/5/valvassori/include:.:/usr/php4/lib/php') in /mnt/102/sda/3/5/valvassori/unix/fungus/overview.php3 on line 159 Warning: main(http://sourceforge.net/export/projhtml.php?group_id=57560&mode=full&no_table=1) [function.main]: failed to open stream: Network is unreachable in /mnt/102/sda/3/5/valvassori/unix/fungus/overview.php3 on line 161 Warning: main() [function.include]: Failed opening 'http://sourceforge.net/export/projhtml.php?group_id=57560&mode=full&no_table=1' for inclusion (include_path='/mnt/102/sda/3/5/valvassori/include:.:/usr/php4/lib/php') in /mnt/102/sda/3/5/valvassori/unix/fungus/overview.php3 on line 161 |
Valvassori Moïse Dernière modification: Thu 01 January 1970 @ 1:00:00 |