====== nomoSDK ====== Le logiciel //nomoSDK// est un environnement de développement pour tout projet nomo. Le logiciel //nomoSDK// vise à faciliter trois activités : * écrire un code fiable, * tester un code facilement, * traiter la journalisation. L'atteinte du premier objectif, aider l'écriture d'un code fiable, repose d'une part sur une stricte analyse syntaxique et grammaticale des documents XML par [[nomoSDK:editeur|l'éditeur]] et d'autre part sur l'utilisation de l'ingénierie dirigée par modèle, ici appelé [[nomoSDK:formalisme|formalisme]], qui consiste à exprimer un problème dans un formalisme dédié. Par exemple, //nomoSDK// permet d'exprimer une solution avec le formalisme des automates à états finis dont la traduction automatique en nomo assurera une totale interopérabilité avec les autres composants nomo. Par ailleurs, en dehors des formalismes, des [[nomoSDK:macro|macros]] peuvent être utilisés pour faciliter l'écriture de certain ensemble de règles. La réalisation du deuxième objectif, tester un code facilement, s'appuie sur deux [[nomoSDK:bancs_essais|bancs d'essais]]. Ces bancs d'essais correspondent à deux environnements prédéfinis auxquels est associé réciproquement un modèle nomo. Un environnement est plus adapté pour tester des comportements alors que l'autre environnement est plus adapté pour tester l'évolution dynamique des règles notamment dans une problématique de classification. Le traitement de la [[nomoSDK:journalisation|journalisation]], troisième objectif, passe par la création d'une base de données à partir d'une unité initiale qui sera complétée avec des fichiers de journalisation. La visualisation (tableau ou graphique) du contenu de cette base de données s’effectue à l'aide des requêtes SQL. A partir de la fenêtre d’accueil de //nomoSDK// illustrée ci-dessous, il est possible d'ouvrir directement un projet nomo existant ou de créer un nouveau projet. {{ :nomosdk:fr:reception_fr.png?nolink&400 |}} L'environnement //nomoSDK// est destiné à évoluer afin d'améliorer ses fonctionnalités et proposer de nouveaux services qui sont détaillés dans les [[nomoSDK:modules_a_developper|modules à développer]].