COMmunity of Extendable Toolkit for Experiment COMETE COMmunity of Extendable Toolkit for Experiment Grégory Viguier et Katy Saintin Janvier 2010
Plan de la présentation Au commencement ATK Contexte du projet Évolution du besoin Limitations rencontrées Naissance de Comète Comète Data Model Access Comète Widget L’avenir du projet
Le Toolkit ATK Librairies de composants graphique java. Visualisation de données Tango Exécution des commandes Tango.
Architecture logicielle d’ATK ATKPanel ESRF Introspection ATKCore ESRF ATKWidget ESRF setModel command_inout read_attribute Test sur les types TangORB ESRF
Contexte du projet Déploiement sur la machine : Utilisation du Toolkit ATK Utilisation de l’application ATKPanel. Intégration dans GlobalSCREEN Utilisateurs experts seulement. Déploiement sur les lignes : Utilisations des applications ATK (ATKTrend, ATKTuning…)
Évolution du besoin Nouvelles applications non basées sur TANGO. Archivage, Nexus, Passerelle. La machine demande des applications WEB. Machine Status. Mambo Web. GlobalSCREEN Web. Passerelle Manager. Les lignes reçoivent des utilisateurs non expert. Application intégrées, Besoins de nouvelles fonctionnalités (Plotter et ImageViewer), Besoin de faire du traitement offline.
Limitations rencontrées. Collaboration autour de ATK ATK développé et maintenu par l’ESRF. Utilisation d’ATK que sur la machine à l’ESRF. Le droit au commit est limité (voir quasi nul). Techniquement ATK basé sur TangORB. Composants n’affichant que du TANGO. Ne suit pas toujours les normes Java Bean.
Naissance de Comète Librairie de composants graphiques java (bean). Projet Open Source né le 20 juillet 2009. http://sourceforge.net/projects/comete/ Librairie de composants graphiques java (bean). CometeWidget Modèle de données séparé et abstrait. CometeDAO Implémentations par défaut Simulé, Tango, Nexus, Salsa, Passerelle
Première architecture fr.soleil.comete.widgets IJVIewer ChartViewer WheelSwitch … Vue CometeWidget fr.soleil.comete.applications GlobalSCREEN MAMBO FLAMENCO … Contrôleur Applications setDAO fr.soleil.comete.dao tango nexus passerelle archiving … Modèle CometeDAO
Comète Data Model Access Projet GumTree. ANSTO Expérience Neutron, Tony Lam http://www.ansto.gov.au Modèle d’accès aux données abstrait. Interfaces. Dictionnaire => Clé, Chemin Conteneur de données => Lien entre Dico et DataSet. Data Set => Manipulateur de données Data Item => Eléments d’un conteneur Implémentations sous forme de pluggin ANSTO NetCDF HDF Soleil Nexus …
Comète Data Model Access ROOT 1 – new DataSet 2 – new Dictionnary NXEntry 3 – new Container NXData 4 - new DataItem get Attributes DataItem NXData Type Taille Description Attributs
Nouvelle architecture fr.soleil.comete.widgets IJVIewer ChartViewer WheelSwitch … Vue CometeWidget fr.soleil.comete.applications GlobalSCREEN MAMBO FLAMENCO … Contrôleur Applications setDAO fr.soleil.comete.pluggin Tango pluggin Nexus pluggin Passerelle pluggin Archiving plugin … GumTree CometePluggin fr.soleil.comete.dao tangodao nexusdao passerelledao archivingdao … Modèle CometeDAO
Comète Data Model Access
CometeWidget SWING de base pour visualiser des scalaires :
CometeWidget Composants pour manipuler des images :
CometeWidget Composants pour visualiser des graphes :
Avenir du projet Remplacement de ATK : Collaboration autour de Nexus Baladi GlobalSCREEN Salsa V3 Foxtrot Mambo Applications spécifiques Soleil (Charleston, Capoeira…) => http://sourceforge.net/projects/cometeapps/ Collaboration autour de Nexus Diamond Ansto DESY ESRF Collaboration autour de nouveau widget 3DViewer
Des questions ? ?