Ariane logo ARIANE: Une interface de programmation visuelle

Manuel de référence Ariane

Sommaire

  1. L'interface utilisateur

  2. Construire un premier graphe

  3. Les composants d'un graphe

  4. Les types de composants

  5. Définir des préférences

  6. Gérer les opérateurs personnels

  7. Gérer les routines

  8. Générer le code exécutable

  9. Raccourcis clavier

  10. Configuration manuelle d'Ariane

1. L'interface utilisateur

L'interface utilisateur est composée d'un menu, d'une barre d'outils et de 5 cadrans (A, B, C, D, E) :

interface

  1. Le cadran A correspond à l'explorateur qui regroupe l'ensemble des opérateurs et des structures de contrôle utilisables pour composer des graphes.

    • L'icone search est utilisé pour surligner dans l'explorateur tous les composants qui ont un nom donné.

    • L'icone index est utilisé pour afficher un index de tous les opérateurs de la bibliothèque associée.

  2. Le cadran B est l'espace de travail qui contient les graphes en cours de construction.

  3. Le cadran C correspond à la console qui affiche tous les messages d'interaction avec l'utilisateur.

  4. Le cadran D correspond à la fenêtre de propriétés du composant courant sélectionné.

  5. Le cadran E correspond au terminal qui permet d'ajouter un composant sur le graphe en spécifiant directement son nom.

2. Construire un premier graphe

example

Une fois l'interface lancée, il est possible de construire un graphe comme celui ci-dessus  en suivant les étapes ci-après :

  1. Créer un nouveau graphe (vierge) dans le menu Fichier::Nouveau graphe.

  2. Ajouter en premier un fichier de type loader d'image, en le sélectionnant dans la liste A et en le glissant dans l'éditeur B.

  3. Cliquer sur l'opérateur pour sélectionner un fichier de données.

  4. Ajouter des opérateurs pris dans les composants de la liste des Opérateurs, par déplacement de l'explorateur A vers l'éditeur B.

  5. Double-cliquer sur l'opérateur pour régler ses valeurs de paramètres.

  6. Finir par un fichier de type viewer.

  7. Relier les sorties de uns aux entrées des autres par cliquer-glisser d'une entrée vers une sortie (ou vice-versa).

  8. Pour supprimer une connexion, cliquer sur le plot de connexion, glisser et lâcher hors du plot connexion.

  9. Une fois construit, le graphe s'exécute en sélectionnant le composant viewer puis en choisissant l'option Graphe::Exécuter dans le menu global.

Ce graphe peut être enregistré dans un fichier (au format XML) en utilisant l'option du menu fichier::enregister.

3. Les composants d'un graphe

Les composants incorporables dans un graphe sont disponibles dans l'explorateur.

Pour créer un composant sur le graphe, il suffit de le déplacer de l'explorateur vers le graphe par cliquer-glisser.

a. Le modèle

Le composant est représenté sur le graphe par une boîte présentant des plots de connexion.

operator

  • Entrées/Sorties. Les entrées-sorties sont constituées de fichiers de données. Les fichiers d'entrée sont récupérés des sorties de composants en amont.

  • Masque. Le masque est un fichier de données qui est utilisé pour définit les données sur lesquelles l'opérateur va agir.

  • Paramètres. Les paramètres permettent d'ajuster le comportement de l'opérateur.

  • Valeur de sortie. Chaque opérateur retourne une valeur numérique ou l'une des deux valeurs prédéfinies FAILURE ou SUCCESS (voir Rubrique exécution).

b. Menu contextuel

Le menu contextuel est accessible en cliquant avec le bouton droit de la souris sur le composant. Ce menu permet de sélectionner l'action à effectuer sur le composant.

c. Fenêtre de propriétés

La fenêtre de propriétés est affichable par un clic sur un composant. Elle permet d'afficher les propriétés du composant mais aussi de visualiser les fichiers de données de sortie lorsqu'elles existent.

4. Les types de composants

Les composants incorporables dans un graphe sont  :

  • Un LOADER permet de charger un fichier de données dans le graphe ;
  • Un SAVER permet de sauvegarder un fichier de données du graphe ;
  • Un VIEWER permet de visualiser le contenu d'un fichier de données du graphe ;
  • Un OPÉRATEUR permet d'exécuter un traitement sur les fichiers de données ;
  • Un SYSTEM permet d'exécuter une commande du système d'exploitation;
  • Un SCRIPT est un long texte qui peut être utilisé comme script pour un autre opérateur ;
  • Un CONSTANT permet d'introduire des constantes comme paramètre des éléments ;
  • Un FILENAME permet d'introduire des fichiers comme paramètre de composants ;
  • Un EVAL permet d'ajouter des calculs arithmétiques ;
  • Un FORMAT permet d'ajouter des opérations sur les chaînes de caractères ;
  • Un SELECT permet de sélectionner une sortie parmi plusieurs ;
  • Un MACRO-OPERATOR permet de construire des blocs d'opérateurs ;
  • Un MERGE permet la réunion de flots de données ;
  • Une structure de contrôle IF permet d'introduire des alternatives ;
  • Une structure de contrôle FOR permet d'itérer un bloc d'opérateurs ;
  • Une structure de contrôle WHILE permet de répéter un bloc d'opérateurs.
  • Une NOTE permet d'ajouter un commentaire dans le graphe.

5. Définir des préférences

La boîte de dialogue des préférences est accessible par le menu "Options::Préférences" du menu global.

Le menu préférences permet de définir tous les paramètres de l'interface, depuis les couleurs jusqu'aux chemins des commandes utilisées.

a. Rubrique Général

Cette rubrique permet le choix de l'environnement général de l'interface, en particulier :

  • Visualiseur de documentation : donnez le nom de votre butineur favori qui sera utilisé pour afficher les documentations HTML. Vous pouvez donner uniquement le nom si c'est un éditeur dans la liste des programmes ou le chemin absolu si c'est un programme particulier.
  • Éditeur de texte : donnez le nom de votre éditeur de texte favori. Vous pouvez donner uniquement le nom si c'est un éditeur dans la liste des programmes ou le chemin absolu si c'est un programme particulier.

general

b. Rubrique Exécution

Cette rubrique permet de spécifier le programme pour visualiser les fichiers de données et le programme pour récupérer le code d'erreur de l'exécution des opérateurs.

  • Programme de visualisation de données: ce programme est utilisé pour afficher le contenu des fichiers de données. Tout programme exécutable est possible : gedit, gimp, wordpad.

    Le programme de visualisation peut aussi être défini localement dans les composants Viewer.

  • Le programme de récupération du code d'erreur: chaque composant doit retourner une valeur. Le programme est utilisé pour afficher le résultat sur la sortie standard. Par exemple, un programme valide est le script Shell composé uniquement de la ligne suivante: echo $?.

runtime

c. Rubrique Graphe

Cette rubrique permet de définir les couleurs de fond des graphes et celles des liens entre éléments des graphes.

graph

d. Rubrique Elément

Cette rubrique permet de définir les couleurs d'affichage des éléments de graphes.

items

e. Rubrique Chemins

Cette rubrique permet de choisir les dossiers  de travail, en particulier :

  • Le dossier de sauvegarde des fichiers temporaires.
  • Le dossier racine des fichiers de données. Ce chemin est utilisé pour définir des chemins relatifs des fichiers de données. Par défaut, le chemin relatif est construit à partir du dossier du fichier du graphe.
  • Le dossier racine des opérateurs personnels. Ce chemin est utilisé pour construire des chemins relatifs pour les noms de fichiers exécutables des opérateurs exécutables. Il n'y a pas de chemin par défaut (hors la racine).

paths

6. Gérer les opérateurs personnels

Ce menu est accessible par le menu Options::Configurer les opérateurs personnels du menu global.

A la différence des opérateurs de la bibliothèque dont les opérateurs sont visibles par tous ceux qui utilisent la même bibliothèque, les opérateurs définis ici ne sont visibles que de leur créateur.

Un opérateur valide doit respecter la syntaxe d'appel suivante :

operateur parametre* [-m mask] données_entrée* données_sortie*

Par exemple:

pmeanfiltering 8 a.pan b.pan (1 paramètre, 1 entrée et 1 sortie)

Pour définir un nouvel opérateur, il suffit au préalable de choisir ou de créer une catégorie pour l'opérateur. Puis, il faut renseigner chacune des parties de l'opérateur, le nombre de paramètre, d'entrée et de sortie et éventuellement l'adresse d'un fichier html qui décrit l'opérateur.

Le fichier operator.cfg est un fichier XML (voir la rubrique configuration d'Ariane pour le dossier de stokage) qui décrit le prototype de chaque opérateur comme suit:

<?xml version="1.0" encoding="ISO-8859-1"?>
<ARIANE version="1.1">
<OperatorLibrary>
  <Operator>
    <Category>category</Category>
    <Name>myoperator</Name>
    <Documentation>http://myspace.org/operators/myoperator.html</Documentation>
    <Binary>./examples/myoperator.sh</Binary>
    <Parameters>2</Parameters>
    <Signature>$0:nom du paramètre=valeur par défaut;$1:nom du paramètre=valeur par défaut</Signature>
    <Inputs>0</Inputs>
    <Outputs>0</Outputs>
  </Operator>
  ...
</OperatorLibrary>
</ARIANE>

7. Gérer les routines

Pour ajouter une routine dans l'explorateur, il faut utiliser le menu contextuel de la routine créée sur le graphe que l'on souhaite archiver.

Pour ajouter une routine dans un graphe, il suffit de cliquer-glisser la routine dans le graphe.

Pour organiser les routines dans l'explorateur, utiliser le menu Options::Configurer les routines.

Le fichier subroutines.cfg est un fichier XML (voir la rubrique configuration d'Ariane) qui décrit le prototype de chaque routine comme suit :

<Subroutine>
    <Category>utility</Category>
    <Name>EdgeSuperimposition</Name>
    <Documentation>file:software/ariane/edgesuperimposition.html</Documentation>
    <MacroOperator>
      <NickName>EdgeSuperimposition</NickName>
      <Name>macro-operator</Name>
      <Identifier>1</Identifier>
      <X-coordinate>199</X-coordinate>
      <Y-coordinate>108</Y-coordinate>
...
    </MacroOperator>
</Subroutine>

Il est possible d'ajouter de nouvelle routines en utilisant le menu File::Importer des routines.

8. Générer le code exécutable

Par l'option Graphe::Générer le code, il est possible de générer un script exécutable correspondant au graphe courant.

Le script reprend exactement le contenu du graphe, mais les données d'entrée doivent être données en argument au moment de l'exécution du script.

Dans la version actuelle, Ariane permet la génération de scripts bash, MsDos, Perl et Python .

Pour exécuter un script Bash, il faut utiliser la ligne de commande pour spécifier les noms des fichiers d'entrées et de sortie. Par exemple, si l'on considère le script "application.sh" qui utilise deux entrées "image1.pan, image2.pan" et une sortie "image3.pan" :

console> bash application.sh image1.pan image2.pan image3.pan

Pour chaque script généré, l'option -h permet d'afficher la syntaxe d'appel ainsi qu'un exemple d'appel:

console> bash application.sh -h
console> application.bat -h
console> perl application.pl -h console> python application.py -h

9. Raccourcis clavier

Les raccourcis clavier suivants portent sur le composant sélectionné :

ToucheEffet
CTRL-RExécution
FlèchesDéplacement
CTRL 0Affichage de la sortie n°0
CTRL 1Affichage de la sortie n°1
CTRL 9Affichage de la sortie n°9

10. Configuration d'Ariane

Ariane utilise le fichier ariane.ini comme fichier de configuration. C'est le premier fichier ariane.ini trouvé selon l'ordre ci-dessous qui est utilisé :

  1. {installdir}/ariane.ini, où installdir est le dossier qui contient ariane.jar (ou ariane.exe).
  2. {homedir}/.greyc/ariane/ariane.ini

Toute modification ultérieure des préférences sera sauvegardée dans le fichier trouvé.

Astuce: Pour construire une version portable d'Ariane, il suffit de créer un dossier avec le fichier ariane.jar (ou ariane.exe) et le dossier ariane avec les fichiers ariane.ini, operators.cfg et subroutines.cfg. Ces fichiers peuvent être copiés du dossier {homedir}/.greyc/ariane/ puis modifiés à l'aide de l'interface Ariane.

folder +
       | - ariane.jar
       | - ariane.exe
       + - ariane +
                  | - ariane.ini
                  | - operators.cfg
                  + - subroutines.cfg

Le fichier ariane.ini est utilisé pour sauvegarder:

  • les préférences définies avec l'interface ;
  • la bibliothèque d'opérateurs associée spécifiée avec l'interface ;

Le fichier operators.cfg est utilisé pour sauvegarder :

  • la liste des opérateurs personnels définis avec l'interface.

Le fichier subroutines.cfg est utilisé pour sauvegarder :

  • la liste des routines définies avec l'interface.

La bibliothèque d'opérateurs exécutables est spécifiée à la première exécution. Il est possible de changer la bibliothèque à partir du menu Option:Édition des opérateurs personnels.

Une bibliothèque valide doit au moins contenir les deux dossiers suivants :

  • bin : contient la liste des opérateurs exécutables ;
  • lib : contient au moins le fichier ariane.cfg, et toutes les bibliothèques dynamiques nécessaires (.dll, .so).

Le fichier ariane.cfg est un fichier XML qui décrit le prototype de chaque opérateur :

<ARIANE ariane.version="1.0">
<Library>
<Version>Pandore 6.5.0</Version>
<DocPath>/doc/operators</DocPath>
<Index>operatorsP0.html</Index>
  <Operator>
    <Category>arithmetic</Category>
    <Nom>pabs</Nom>
    <Documentation>/operatorsP0/pabs.html</Documentation>
    <Binary>pabs</Binary>
    <Parameters>0</Parameters>
    <Inputs>1</Inputs>
    <Outputs>1</Outputs>
  </Operator>
...
</Library>
</ARIANE>