Développement |
||||||
Introduction | Installation | Généralités | Interface | Outils | Langage | Développement
|
||||||
Avant-propos Le prérequis à tout développement avec OpenIsaac est la connaissance du langage MATLAB. Le langage ISAAC, orienté objet, peut être vu comme une toolbox spécialisée de MATLAB et est utilisable comme telle. L'application OpenIsaac doit être lancée pour que l'environnement soit actif. L'architecture d'OpenIsaac est conçue pour rendre l'environnement le plus transparent possible lors de la phase de développement d'une routine et immédiatement opérationnel quand il s'agit de la faire fonctionner. Trois types de développements sont possibles : • Le développement de scripts ou de fonctions MATLAB utilisant le langage ISAAC. • Le développement de modules ou d'algorithmes gérés par IsaacModBox de manière automatisée. • Le développement d'outils graphiques pour OpenIsaac. Les modules, algorithmes et outils n'ont pas à être déclarés dans le path MATLAB.
Développement de scripts ou de fonctions MATLAB Voir langage.
Développement de modules Les modules sont des fonctions MATLAB particulières de type « plug-in » destinées aux dossiers Modules et « MesModules » (défini en préférences). Les modules apparaissent dans la barre de menu OpenIsaac et sont exécutés par IsaacModBox. Un module peut aussi être appelé dans un script par la fonction du langage IsaacModule.
Pour être reconnus comme tels, les modules doivent correspondre à l'architecture suivante : • Dossier container Mod_xxx ou sous-dossier M_xxx. • [ Dossier <nom de module> pouvant contenir un sous-répertoire private ]. • Fichier <nom de module> (.m ou .p) : fonction principale du module. Un module peut être codé en langage C compilé (fichier .mex). Dans ce cas, le fichier .m ne contiendra que des commentaires. L'entête du fichier doit faire figurer un commentaire d'information qui sera affiché lors de la sélection du mode Pointeur Info dans la barre de menu ou par le bouton info module ... d'IsaacModBox. • Un module possède un nombre quelconque de paramètres en entrée et en sortie. Tous les paramètres sont des objets du langage ISAAC. • Appelé avec l'argument '-f,' un module doit retourner la liste de ses paramètres d'entrée et de sortie. • En cas d'erreur, un module doit sortir avec la fonction MATLAB error. Un exemple de module est donné ci-dessous :
• Un module peut appeler un autre module avec la fonction IsaacModule. • Un module peut appeler un algorithme avec la fonction IsaacModule. Un algorithme est une fonction MATLAB qui possède un nombre quelconque de paramètres qui ne sont pas nécessairement des objets du langage ISAAC. Un algorithme a vocation à être utilisé dans les modules ou le langage ; il doit donc être de portée assez générale. • Pour être pris en charge par la plateforme, un algorithme doit être placé dans un dossier Algorithmes [sous-dossier A_xxx ] à l'intérieur du répertoire Modules ou « MesModules ». • Un algorithme peut appeler un autre algorithme avec la fonction IsaacModule.
Développement d'outils graphiques Les outils sont des objets graphiques de type « plug-in » destinés aux dossiers Outils et « MesOutils » (défini en préférences). Ils apparaissent dans la barre de menu d’OpenIsaac. Pour s'intégrer dans l'environnement ISAAC, les outils doivent posséder une architecture particulière et respecter la chartre graphique ISAAC : • Dossier <nom de l'outil> pouvant contenir un sous-répertoire private. • Fichier <nom de l'outil> (.m ou .p) : interface graphique de l'outil et initialisation. L'entête du fichier doit faire figurer un commentaire d'information qui sera affiché lors de la sélection du mode Pointeur Info dans la barre de menu. • Fichier <nom de l'outil>_cb (.m ou .p) : fonctions réflexes de l'interface graphique. • Fichier <nom de l'outil>_upd (.m ou .p) : fonctions de réaction aux événements émis par les objets @IsaacImage. L'abonnement aux événements (IsaacEventUpdListe) doit être fait lors de l'initialisation de l'outil. Liste des codes événements :
• Les noms de variables et fonctions commençant par 'Isaac' sont réservés au développement de la plate-forme et ne doivent pas être utilisés pour des développements tiers. • En complément des fonctions du langage, la variable globale ISAACINFO (lecture seule) regroupe les informations utiles pour l'intégration d'un outil graphique dans l'environnement ISAAC :
|
||||||
Introduction | Installation | Généralités | Interface | Outils | Langage | Développement |
||||||
OpenIsaac © 2007-2018 A. Clément - Université d'Angers |