Table des matières
Brouillon, Le rendu HTML de ce document est médiocre. Préferez la version
PDF.
mycelium est le langage de description des simulations de la plate-forme Fungus.
Ce document présente les différentes commandes du langage.
Description |
Ce tag commence un programme Mycelium. Il est obligatoire car sans lui on ne peut pas
distinguer un programme Mycelium d'un autre programme XML.
|
Attribut | version |
précise le numéro de version du langage Mycelium. Cet attribut prévient les évolutions futures
du langages.
|
Contient | meta, documentation, definition, simulation, visualisation
Aucun des tags de Mycelium n'est obligatoire. En effet, un fichier peut contenir soit un
ensemble de définition, soit une simulation, soit les deux. Comme on peut inclure des fichiers
dans d'autres cela ne pose pas de problème.
|
Description |
Grâce à ce tag, le concepteur d'une simulation donne des méta informations sur la
simulation. Par exemple, il peut donner un nom à la simulation, le ou les noms des auteurs. Ce tag
est directement inspiré du tag du même nom du langage HTML[1].
|
Attributs | name |
le nom de la meta information
|
| value |
la valeur associée au nom
|
Exemple de nom pour le tag meta:
- author
- Avec ce `meta', on précise le nom d'un des auteur de la simulation
- name
- on donne un nom à la simulation
- description
- Ce `meta' permet d'insérer une courte description de la simulation.
Ces meta informations sont utilisées par l'interface graphique pour afficher des informations
sur une simulation.
Description |
Ce tag documente le tag qui le contient. Cette documentation peut être écrite dans trois
formats différents : texte ASCII, HTML ou RTF. Pour l'instant, elle est utilisée par le module
«Mycelium inspector» de l'interface graphique.
|
Attribut | type |
Cet attribut fixe le format d'écriture de la documentation. Ce type peut être :
text/plain
- la documentation est écrite en texte ASCII seulement.
text/html
- la documentation est écrite en HTML.
text/rtf
- la documentation est écrite en RTF.
|
Contient | Ce tag contient du texte ou des tags HTML. Les tags HTML sont ignorés par l'interpréteurs Mycelium.
|
Contenu dans | mycelium, definition, scheme, agentclass, variable, initialisation, behavior, message, visualisation, simulation, agent, parameter, visualize
Tous les tags ne peuvent pas avoir de la documentation. Par exemple, le tag
`meta' contient déjà sa propre documentation.
|
Description |
Le tag simulation encapsule la construction d'une simulation. La construction se
passe en deux étapes:
- une collecte de paramètres utlisateurs;
- l'instanciation des agents.
|
Contient | documentation, parameter, agent, repeat, if. |
Description |
Demande l'instanciation d'un nouvel agent. La création de l'agent peut être ajustée par les tag
parameter contenu dans ce tag.
|
Attributs | type |
Le nom de la classe Java qui définit l'agent
|
| name |
Le nom `Mycelium' de l'agent. Ce nom n'existe que si la classe de l'agent est
définit par un programme Mycelium. Tout comme l'attribut type, ce nom définit une classe
d'agent.
|
Contient | documentation, parameter, agent, repeat, if, visualize
Comme les agents peuvent être hiérarchisés, le tag agent contient les même tags que
simulation plus le tag visualize. Si un tag agent contient un
autre tag agent, il faut qu'il soit de type AgentGroup.
|
Contenu dans | agent, simulation, iftrue, iffalse, repeat. |
Description |
Ce tag déclare un paramètre pour la simulation, pour un agent ou bien pour une visualisation . Si
le paramètre est directement inclu dans un tag simulation, la valeur du paramètre est
demandée à l'utilisateur. Dans ce cas, la valeur par défaut du paramètre est donnée dans le
corps du tag.
La valeur du paramètre est toujours interprétée par Scheme.
|
Attributs | key |
Le nom unique de la variable. Les variables étant stockées dans des tables de hachage, on
calculera la clé de hachage de la variable avec la valeur de cet attribut.
|
| type |
Type Java de la variable.
|
| name |
Le nom visible de la variable. Si on doit demander à un utilisateur une valeur pour une
variable, on lui montrera ce nom.
|
Contenu dans | simulation, agent, visualize. |
Description |
Ce tag indique que nous voulons visualiser des données de l'agent qui le contient.
L'agent qui contient ce tag doit être capable d'envoyer les données vers le type de visualisation
que l'on souhaite avoir.
|
Attribut | type |
Les données seront visualisées dans le type de visualisation donné dans cet attribut.
|
Contient | documentation, parameter. |
Description |
Définit une instruction conditionnelle. Si la condition passée en attributs est vrai
alors on exécute le contenu du tag iftrue sinon on exécute le contenu du tag
iffalse.
|
Attribut | cond |
La condition de l'expréssion. Cet attribut est évalué par l'interprète Scheme.
|
Contenu dans | simulation, repeat, iftrue, iffalse. |
Description |
Le contenu de ce tag est exécuté si la condition du if parent est vrai.
|
Contient | if, repeat, agent. |
Description |
Le contenu de ce tag est exécuté si la condition du if parent est fausse.
|
Contient | if, repeat, agent. |
Description |
Répète le contenu du ce tag.
|
Attribut | time |
Le nombre de fois que l'on répète le contenu. La valeur de cet attribut est évaluée par
l'interprète Scheme.
|
Contient | if, agent, repeat
Le tag de contient que des tags de structure et des agents.
|
Contenu dans | agent, repeat. |
Description |
Ce tag encapsule la définition de nouvelles classes, nouvelles fonctions, et de variables pour la
simulation.
|
Contient | documentation, agentclass, scheme, ressource. |
Description |
Définit une nouvelle classe d'agent. Cette classe pourra être instanciée à l'intérieur du tag
simulation.
Cette nouvelle classe ne créera pas de fichier. Elle n'existera que pendant la simulation et
restera en mémoire. Cette nouvelle classe sera propagée à toutes les infrastructures qui font
tourner la simulation.
|
Attribut | name |
Le nom de la classe d'agent que l'on définit. Ce nom sera utilisé par le tag agent.
|
Contient | documentation, initialisation, behavior, message, visualisation. |
Description |
Le programme contenu dans ce tag initialise un agent.
Dans l'initialisation d'un agent, nous collectons les paramètres initiaux, déclarons les
ressources accessibles aux autres agents.
|
Contient | documentation, variable. |
Description |
Déclare une variable accessible par les AccessibleAgent.
Les agents de la classe AccessibleAgent offrent un mécanisme standard pour partager
des informations. Un agent déclare une variable «accessible» et un autre agent peut
lire la valeur de cette variable.
Nous pouvons fixer une valeur par défaut dans le corps du tag.
|
Attribut | name |
le nom de la variable que nous déclarons.
|
Contenu dans | initialisation. |
Description |
Ce tag exprime le comportement de l'agent. Le comportement est décrit en langage
Scheme. On peut effectuer des calculs, envoyer des messages à d'autres agents.
|
Description |
Ce tag donne la possibilité de traiter un type de messages à un agent.
Les messages arrivent par les canaux de communications.
Le traitement de se type
de message est donné dans le corps de tag en langage Scheme.
|
Attribut | type |
Le type de message que l'on va traiter.
|
Description |
Nous fabriquons une visualisation dans ce tag. Actuellement, ce tag n'est pas plus
spécifié.
|
Description |
Le contenu de ce tag est simplement évaluer par l'interprète Scheme. Nous pouvons
y déclarer des variables et des fonctions. Une fois définies, ces variables et ces fonctions sont
visibles dans toutes la simulation.
|
Description |
Gràce à ce tag, nous pouvons inclure un fichier dans un programme.
|
Attribut | url |
L'URL du fichier à inclure.
|
Contient |
Ce tag peut apparaître n'importe où.
|
Description |
Cette fonction renvoie l'identifiant de l'agent courant.
|
Description |
Extrait un élément d'une table d'association (map get). Le plus souvent, la table
d'association est une table de hachage.
|
Arguments | map |
la table de hachage
|
| key |
la clé qui est associée à la valeur retournée.
|
Retourne |
La valeur qui est associée à la clé dans cette table d'association.
|
Description |
Associe un élément à une clé dans une table d'association (map set). Le plus souvent, la table
d'association est une table de hachage.
|
Arguments | map |
la table de hachage
|
| key |
la clé qui est associée à la valeur retournée.
|
Retourne |
La valeur qui est associée à la clé dans cette table d'association.
|
Description |
envoie un message à un autre agent.
|
Arguments | to |
l'identifiant de l'agent qui recevra le message
|
| message |
le message qui est envoyé
|
Description |
Affiche son paramètre et renvient à la ligne.
|
Attribut | message |
Le message à écrire
|
Description |
Fabrique un message.
|
Arguments | to |
l'identifiant de l'agent qui recevra le message
|
| message |
le message qui est envoyé
|
Référence
- [1]
- Dave Raggett, Arnaud Le Hors, Ian Jacobs (Eds.). HTML 4.01 Specification. , 1999.
|
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/myceliumref.php3 on line 1067
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/myceliumref.php3 on line 1067
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/myceliumref.php3 on line 1069
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/myceliumref.php3 on line 1069
|