Juzzle est une plateforme de développement open source de mise au point et d'exploitation de simulateurs, utilisée depuis de nombreuses années dans les domaines de la simulation scientifique par la communauté industrielle française.
Cet environnement se positionne d'une part comme outil d'interopérabilité, permettant de faire cohabiter des simulateurs de technologies hétérogènes (Matlab, C, scilab, Java, SystemC, etc.), mais aussi en tant qu'environnement de développement collaboratif, et enfin en tant que plateforme d'exploitation orienté grid computing, grâce à sa fonctionnalité intégrée de distribution de calculs sur un réseau hétérogène.
(liste non exhaustive) :
Le traitement de ce type de simulateur est décrit par l’utilisateur dans un script. JUZZLE permet d’utiliser différents langages :
Pour chacun de ces langages, il prend en charge automatiquement la conversion des paramètres spécifiés via les IHM JUZZLE en données compréhensibles par le langage utilisé. Lors de l’exécution du simulateur, il génère l’exécutable associé au script, en utilisant le compilateur disponible, et lance l’exécutable natif obtenu. Après la fin de l’exécution, il prend en charge automatiquement la transformation des données produites par le script en données XML compréhensibles par Juzzle.
Ainsi, ce type de simulateur permet de réutiliser des codes algorithmiques existant sans effectuer d’opération de portage.
Parmi les quelques notions fondamentales, la notion de ‘machine’ est la plus importante. C’est elle qui regroupe tous les simulateurs développés puis exploités.
Un simulateur (une machine) est une entité permettant à l’utilisateur de définir :
La déclaration des paramètres et résultats est réalisée de manière universelle quel que soit le type de simulateur mis en œuvre. Par contre, la définition du traitement peut être réalisée de différentes manières. Le paragraphe suivant présente les différents moyens mis à disposition de l’utilisateur pour développer un nouveau simulateur (un nouvelle machine).