EDNA
EDNA est un framework, un environnement permettant de réaliser des logiciels d'analyse de données en ligne, hautement parallèlisé et met sous contrôle des logiciels scientifiques en les enchaînant à la manière d'un pipe Unix, mais avec un contrôle individualisé de chacun des programmes sous-jacent. En enchaînant les différents programmes ont peut générer des chemins de traitement (workflow) qui sont réalisés en parallèle (multi-thread asynchrone) et obtenir des temps de traitement très courts, les résultats étant obtenus au cours de l'expérience et non pas en post-traitement.
EDNA est écrit en Python pur pour le noyau (kernel) mais certains plugins nécessitent des bibliothèques annexes comme numpy, scipy, PIL, h5py, ... et exploite très bien les capacités multi-core des machines modernes.
EDNA est basé sur 4 piliers :
- Modularité : chaque plugin est soit un wrapper pour un executable, soit un control plugin pour un ou plusieurs exec plugin(s). Le coté multithread est géré au niveau du noyau, le programmeur de plugin n'a pas à s'en préoccuper en règle génerale.
- Gestion de projet (visioconf, workshops, ...) : EDNA dispose d'un comité de pilotage pour coordonner ses développements.
- Modèles de données (datamodels) décrits en UML --> exporté en XSD --> data-binding python pour assurer une sérialisation des données et pouvoir debugger en cas de problème.
- Environnement de test: EDNA propose un environnement de test poussé, cela permet un déploiement plus rapide et plus sur et assure la non régression de la globalitê du projet.
Les développeurs de EDNA (ESRF, Diamond, ...) organisent régulièrement des "code-camp" de 1 ou 2 jours pour prendre en main la programmation de nouveaux plugins et enrichir la centaine de plugins déjà écrits et documentés.
Commentaires
Du neuf sur le front de la modélisation ...
L'outil de modélisation dans EDNA a été remplacé par TopCased ce qui permet d'avoir un environnement de développement totalement libre.
Pour convertir les diagrammes UML en XSD, nous mettons à disposition UML2XSD, disponible sur l'update-site de EDNA:
http://www.edna-site.org/eclipse/updates
Logiciel validé
Ce logiciel est en fait un logiciel validé car utilisé dans plusieurs sites, mais la recherche d'utilisateurs français, qui peuvent contribuer à la rédaction d'une fiche PLUME en français est difficile. Manifestez vous auprès de plume si vous utilisez ce framework.