====== nomoSDK : l'éditeur ====== L'éditeur de //nomoSDK//, illustré ci-dessous, propose d'éditer n'importe quel document XML bien formé appartenant à l'un des cinq sortes de fichier concourant à un projet nomo : les unités (.uni), les paramètres du moteur d'inférence (.eng), les paramètres de la base de connaissances (.bas), les programmes (.prg) et les modèles (.mod). L'usage de cet éditeur est explicité ci-dessous, suivis de l’iconographie sur laquelle il repose. ===== L'interface utilisateur ===== La figure ci dessous illustre une utilisation de l'éditeur dont le document XML courant représente un programme. {{ :nomosdk:fr:editor_2_fr.png?500 |}} Le point numéro 1 désigne des fonctionnalités que l'on peut retrouver également dans l'onglet des bancs d'essai. Les quatre icônes de gauche à droite permettent : * de rouvrir l'ongle de l’accueil pour créer un nouveau fichier, * d'ouvrir un fichier existant, * de sauvegarder les fichiers sélectionnés ou du moins le fichier courant, de même qu'avec le raccourcir clavier "Ctrl+S". * d'ouvrir l'aide Le point numéro 2 désigne l'arborescence des fichiers. L'ordre des fichiers dans l'arborescence est possible par un cliquer-glisser. La présence d'une étoile après le nom du fichier indique qu'il n'est pas sauvegardé et, il ne peut être sauvegardé uniquement s'il est bien formé. La mise à jour de l'arborescence d'un fichier s'effectue après chaque modification conduisant à un document bien formé. Chaque fichier selon son type se déploie de manière différente : * Une unité se décompose en trois branches correspondant respectivement aux paramètres du moteur d'inférence, aux paramètres de la base de connaissances et enfin au programme principal. * Les fichiers contenant les paramètres du moteur d'inférences ou de la base de connaissances ne se déploient pas. * Un programme déploie ses sous-programmes, ses modèles, son schème principal et les sous-schèmes avec leurs règles. Cette arborescence peut servir à organiser les règles et les schèmes par un cliquer-glisser. * Un modèle déploie sa base ainsi que les structures et les types. Lorsqu'une de ces branches renvoie à un //xinclude//, un double clic sur la branche permet d'ouvrir le fichier associé. Le point numéro 3 désigne l'espace indiquant les résultats de la validation de grammaire et s'il y a lieu de l'édition des liens. Le point numéro 4 indique l'espace d'édition proprement dite du document XML. Le point numéro 5 désigne les outils de l'éditeur soit dans l'ordre de gauche à droite : annuler la frappe (Ctrl+Z), refaire la frappe annulée (Ctrl+Y), indenter le document, rend la recherche sensible ou non à la case, rechercher. Le point numéro 6 indique des outils supplémentaires apparaissant si le résultat de la recherche conduit à plusieurs emplacements. Dans ce cas, de gauche à droite : revenir à l'emplacement précédent, aller à l’emplacement suivant, mot de remplacement, remplacer à cet emplacement, remplacer à tous les emplacements. Le point numéro 7 désigne l’icône d'édition de lien qui apparaît uniquement pour les documents de type unité, programme ou modèle. Il valide la cohérence du document en fonction des documents auquel il fait référence. Dans le cas de l'unité, cela conduit également à la compilation de celle-ci, il est également associé à un menu déroulant qui remplace le point numéro 8. Ce menu indique dans quel langage de programmation l'interface doit être générée. Le point numéro 8 désigne une icône permettant d'ouvrir une fenêtre (voir ci-dessous) servant à paramétrer la couleur des icônes des types et par conséquent des règles associées. Cette icône apparaît uniquement pour les modèles ou les programmes ayant au moins dans l'élément //**sdk**// un élément //**color**// comme le montre l'exemple, soit L'attribut //**saturation**// prend une valeur comprise entre 25 et 100 et l'attribut //**hue**// prend une valeur comprise entre 0 et 360. L'utilisation de la fenêtre de colorisation permet d'affecter facilement les attributs //**saturation**// et //**hue**//. {{ :nomosdk:fr:editor_3_fr.png?300 |}} ===== L'iconographie ===== L'iconographie joue un rôle important pour se repérer dans l'arborescence. Elle concerne à la fois les cinq sortes de documents et les catégories du langage nomo. Les symboles associés aux cinq sortes de documents XML sont les suivant : * {{:nomosdk:share:unit_icon.png?16|}} désigne une unité (//unit//), * {{:nomosdk:share:engine_icon.png?16|}} désigne un moteur d'inférence (//inference engine//), * {{:nomosdk:share:base_icon.png?16|}} désigne une base de connaissances (//knowledge base//), * {{:nomosdk:share:program_icon.png?16|}} désigne un programme (//program//), * {{:nomosdk:share:model_icon.png?16|}} désigne un modèle (//model//). Il a été choisi de laisser à l'utilisateur le choix de couleurs afin de faciliter la reconnaissance des types, en revanche la forme des icônes pour désigner les catégories est imposée. Toutefois, par défaut, une couleur est associée par catégorie. Les différents symboles associés aux catégories sont les suivant : * {{:nomosdk:share:input.png?16|}} désigne une entrée (//input//), * {{:nomosdk:share:perception.png?16|}} désigne une perception (//perception//), * {{:nomosdk:share:command.png?16|}} désigne une commande (//command//), * {{:nomosdk:share:conception.png?16|}} désigne une conception (//conception//), * {{:nomosdk:share:prediction.png?16|}} désigne une prédiction (//prediction//), * {{:nomosdk:share:check.png?16|}} désigne un contrôle (//check//), * {{:nomosdk:share:landmark.png?16|}} désigne un marqueur (//landmark//), * {{:nomosdk:share:reward.png?16|}} désigne une récompense (//reward//), * {{:nomosdk:share:plant.png?16|}} désigne l'ensemble des catégories permettant de créer des règles (//plant//), * {{:nomosdk:share:state.png?16|}} désigne un état (//state//), * {{:nomosdk:share:scope.png?16|}} désigne une désignation (//scope//), * {{:nomosdk:share:operator.png?16|}} désigne un opérateur (//operator//), * {{:nomosdk:share:anomaly.png?16|}} désigne une anomalie (//anomaly//).