COMETE COM munity of E xtendable T oolkit for E xperiment Grégory Viguier et Katy Saintin
description
Transcript of COMETE COM munity of E xtendable T oolkit for E xperiment Grégory Viguier et Katy Saintin
COMETE
COMETECOMmunity of Extendable
Toolkit for Experiment
Grégory Viguier et Katy SaintinJanvier 2010
2COMETE
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
3COMETE
Le Toolkit ATK
• Librairies de composants graphique java.• Visualisation de données Tango• Exécution des commandes Tango.
4COMETE
Architecture logicielle d’ATK
TangORB
ESRF
ATKPanel
ESRF
ATKCore
ESRF
ATKWidget
ESRF
Introspection
command_inoutread_attribute
Test sur les types
setModel
5COMETE
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 :– Utilisation du Toolkit ATK– Utilisations des applications ATK (ATKTrend, ATKTuning…)– Intégration dans GlobalSCREEN– Utilisateurs experts seulement.
6COMETE
É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.
7COMETE
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.
8COMETE
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
9COMETE
Première architecture
fr.soleil.comete.widgets
IJVIewerChartViewerWheelSwitch…
VueCometeWidget
fr.soleil.comete.dao
tangonexuspasserellearchiving…
ModèleCometeDAO
fr.soleil.comete.applications
GlobalSCREENMAMBOFLAMENCO…
ContrôleurApplications
setDAO
10COMETE
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– …
11COMETE
Comète Data Model Access
ROOT
NXEntry
NXData
NXData
Type
-Taille
-Description
Attributs
1 – new DataSet
2 – new Dictionnary
3 – new Container
4 - new DataItem
DataItemget Attributes
12COMETE
Nouvelle architecture
fr.soleil.comete.widgets
IJVIewerChartViewerWheelSwitch…
VueCometeWidget
fr.soleil.comete.applications
GlobalSCREENMAMBOFLAMENCO…
ContrôleurApplications
fr.soleil.comete.dao
tangodaonexusdaopasserelledaoarchivingdao…
ModèleCometeDAO
setDAO
fr.soleil.comete.pluggin
Tango plugginNexus plugginPasserelle plugginArchiving plugin…
GumTreeCometePluggin
13COMETE
Comète Data Model Access
14COMETE
CometeWidget
• SWING de base pour visualiser des scalaires :
15COMETE
CometeWidget• Composants pour manipuler des images :
16COMETE
CometeWidget
• Composants pour visualiser des graphes :
17COMETE
• 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
• Collaboration autour de nouveau widget– 3DViewer
Avenir du projet
18COMETE
Des questions ?
?