Satimage Précédent
Le pilotage de codes externes
Accueil Documentation SmileLab Le pilotage de codes externes  
Graphique interactif utilisant un code externe.

Piloter un code consiste à interagir avec son exécution. Par exemple vous pouvez appeler simplement un exécutable UNIX en exécutant une ligne de shell UNIX. Cependant, le langage Applescript utilisé par Smile offre bien plus de possibilités puisqu'il permet de piloter des applications. Beaucoup d'applications - de tout type - sont scriptables sous MacOSX, ce qui permet d'automatiser en AppleScript de nombreuses tâches pour lesquels ces applications sont spécialisées.

Grâce aux projets C++ fournis avec Smile, vous pouvez transformer votre propre code de calcul en application scriptable. Il vous suffit pour cela d'ajouter à vos sources C++ ou FORTRAN quelques fichiers réalisant l'interface avec AppleScript, votre code d'origine restant inchangé. Vous associerez également à votre code son dictionnaire Applescript, où est définie la syntaxe permettant de le piloter.

Exemple de script appelant une application externe.

Rendre votre code scriptable présente de réels avantages :

  • AppleScript remplit le rôle des langages de haut niveau (tel Python) utilisés pour mettre en œuvre rapidement une solution.
    Le cœur du calcul nécessite d'utiliser un langage compilé pour en optimiser les performances, mais l'interactivité avec le code ainsi que la gestion de problèmes d'interfaces (lire un fichier,effectuer un pré-traitement, gérer des entrées/sorties, ...) sont programmés dans un langage plus souple et plus facile d'accès. De cette façon vous consacrez l'essentiel de vos efforts au développement du code de calcul lui-même et non à la programmation des tâches annexes permettant de l'utiliser, telles que la réalisation d'une interface utilisateur ou l'automatisation d'une batterie de tests.

  • Smile fait non seulement office d'interface et d'outil de visualisation des données obtenues par le code C++ ou FORTRAN, mais il permet aussi d'interagir avec ce code.
    Autrement dit, il ne s'agit pas d'un rapport maître/esclave consistant seulement à lancer l'exécution de codes et à réagir une fois leur exécution terminée, mais de permettre une véritable communication à tout moment avec une application, via le langage AppleScript. Par exemple, vous pouvez accéder aux variables de votre code de calcul et les afficher ou les modifier pendant son exécution. De plus, vous n'êtes pas obligé de relancer Smile à chaque fois que vous modifiez votre application scriptable lors du développement de votre code.
Smile offre non seulement la possibilité d'implémenter dans un langage facile d'accès l'ensemble des besoins entourant l'implémentation du code de calcul lui-même, mais il permet aussi de mettre en œuvre une véritable interaction en temps réel entre l'utilisateur et le code de calcul. Cette relation nouvelle entre l'application et le code de calcul prend tout son sens dès lors qu'on l'associe aux différentes formes d'interactivité pouvant être mises en œuvre et à la facilité avec laquelle on peut faire évoluer un projet dans Smile.
English version
Copyright ©2008 Paris, Satimage