COMETE COMmunity of Extendable Toolkit for Experiment Grégory Viguier et Katy Saintin Janvier 2010 COMETE 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 COMETE 2 Le Toolkit ATK • Librairies de composants graphique java. • Visualisation de données Tango • Exécution des commandes Tango. COMETE 3 Architecture logicielle d’ATK ATKPanel ESRF Introspection ATKCore setModel ESRF ATKWidget ESRF command_inout read_attribute Test sur les types TangORB ESRF COMETE 4 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 : – – – – COMETE Utilisation du Toolkit ATK Utilisations des applications ATK (ATKTrend, ATKTuning…) Intégration dans GlobalSCREEN Utilisateurs experts seulement. 5 É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. – – – COMETE Application intégrées, Besoins de nouvelles fonctionnalités (Plotter et ImageViewer), Besoin de faire du traitement offline. 6 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. COMETE 7 Naissance de Comète • 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 COMETE 8 Première architecture Vue CometeWidget fr.soleil.comete.widgets IJVIewer ChartViewer WheelSwitch … Contrôleur Applications fr.soleil.comete.applications setDAO Modèle CometeDAO GlobalSCREEN MAMBO FLAMENCO … fr.soleil.comete.dao tango nexus passerelle archiving … COMETE 9 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 – – – COMETE ANSTO NetCDF HDF Soleil Nexus … 10 Comète Data Model Access 1 – new DataSet ROOT 2 – new Dictionnary NXEntry 3 – new Container NXData 4 - new DataItem get Attributes DataItem Type -Taille -Description COMETE Attributs NXData 11 Nouvelle architecture Vue CometeWidget fr.soleil.comete.widgets IJVIewer ChartViewer WheelSwitch … Contrôleur Applications setDAO GumTree Modèle CometePluggin CometeDAO fr.soleil.comete.applications GlobalSCREEN MAMBO FLAMENCO … fr.soleil.comete.dao fr.soleil.comete.pluggin Tango pluggin tangodao nexusdao Nexus pluggin passerelledao Passerelle pluggin archivingdao Archiving plugin … COMETE 12 Comète Data Model Access COMETE 13 CometeWidget • SWING de base pour visualiser des scalaires : COMETE 14 CometeWidget • Composants pour manipuler des images : COMETE 15 CometeWidget • Composants pour visualiser des graphes : COMETE 16 Avenir du projet • Remplacement de ATK : – 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 – 3DViewer • Collaboration autour de nouveau widget COMETE 17 Des questions ? ? COMETE 18