Juzzle - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

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.

Fonctionnalités

(liste non exhaustive) :

  • Définition d’applicatifs de type Federation, offrant la possibilité de définir graphiquement une chaîne de traitement hiérarchisée et hétérogène (chaque module pouvant être développé dans une technologie différente). Plusieurs moteurs d’exécutions sont alors disponibles en fonction du domaine d’application : séquenceur de test pour les bancs d’expérimentation, moteurs de simulation numérique (time driven, data driven, SystemC, etc.).
  • Possibilité d’interfaçage avec des moteurs externes (gratuits ou soumis à licence)
  • Environnement de développement intégré pour des machines Java, C, Fortran, Ada
  • Environnement de développement intégré pour des fédérations Java, C, Fortran, Ada (appel de l’éditeur syntaxique des codes sources directement depuis l’éditeur graphique de la fédération, génération de codes d’interfaçage, appel automatique au compilateur et à l’édition de lien).
  • Exploitation de toute machine respectant une interface Machine et Node Juzzle,
  • Exécution d’études statistiques réalisées sur toute machine Juzzle,
  • Exécution d’études de cas (variation de paramètres d’entrée de la machine par combinaisons déterminées à l’avance),
  • Exécution locale, à distance, multi-machine, et différée de toute machine Juzzle,
  • Interfaçage pour le post-processing avec Matlab, scilab, octave, et Excel
  • Possibilité de créer une machine réalisant l’enchaînement de plusieurs autres machines Juzzle, avec la définition d’un script d’enchaînement (possibilité d’exécuter plusieurs fois une même machine, de faire des tests sur les résultats obtenus, etc.)
  • Interfaçage avec d’autres plateformes de développement comme SystemC, ptolemy, SPW, etc.
  • Nombreuses fonctions d’importation/exportations (XML en particulier).

Simulateur basé sur script

Le traitement de ce type de simulateur est décrit par l’utilisateur dans un script. JUZZLE permet d’utiliser différents langages :

  • C
  • Java
  • Fortran77
  • Ada95

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.

Développement de simulateurs

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 :

  • Un ensemble de paramètres
  • Un ensemble de résultats
  • Le traitement permettant d’obtenir les résultats en fonction des paramètres

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).

Page générée en 0.123 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise