Comète Data Model Access

publicité
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
Téléchargement