======= Présentation ====== //**nomoSeed**// offre un nouveau langage de programmation, **//nomo//**, pour concevoir plus rapidement des systèmes réactifs complexes tout en facilitant leur évolutivité et leur sûreté. Les systèmes réactifs correspondent à des processus en interaction constante avec l'environnement, toujours prêts à réagir à tout événement. Ce type de système se retrouve essentiellement dans les systèmes embarqués et les objets communicants. Afin d'accélérer le développement et d'améliorer la maintenance, le langage **//nomo//** apporte principalement trois innovations : - la **gestion d’événements complexes** à valeur continues et incertaines, - une **conception dirigée par modèle**, - l'introduction de **capacité d'adaptation et d'apprentissage**. Plus précisément, le langage **//nomo//** définit, à l'aide d'une syntaxe XML, un ensemble de règles typées éligibles de manière synchrone. Cette forme d'expression facilite la vérification et offre une meilleure traçabilité. Un programme //nomo// pseudo-compilé (//bytecode//) initialise l'interpréteur [[:nomoInterpreter]] qui s'interface aisément en Ada, C, Java et Python. Ainsi un programme "nomo" possède l'avantage d'être portable. L’environnement de développement [[:nomoSDK]] met à disposition : * un analyseur syntaxique et grammatical, * des facilités d'écriture par des macros, * des formalismes ou patrons de conception prédéfinis, * deux environnements de simulation, * un outil de visualisation de la journalisation. La conception modulaire de nomoSDK permet d'ajouter des macros ou des formalismes. L'[[doc:introduction|introduction de la documentation]] propose une description synthétique de la technologie de nomoSeed avant de l'approfondir.