Australian Nuclear Science & Technology Organisation GumTree GumTree A Java Based GUI Framework for Beamline A Java Based GUI Framework for Beamline Experiments Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi Franceschini (ANSTO) Paul Hathaway (ANSTO) Nick Hauser (ANSTO)
17
Embed
Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Australian Nuclear Science & Technology Organisation
GumTreeGumTreeA Java Based GUI Framework for Beamline ExperimentsA Java Based GUI Framework for Beamline Experiments
Tony Lam (ANSTO)Andy Götz (ESRF)
Ferdi Franceschini (ANSTO)Paul Hathaway (ANSTO)
Nick Hauser (ANSTO)
RRR- Graphical User Interface
Main Components:1. Instrument Control and Status
• No prior knowledge of SICS commands
2. Live Data Visualization• Preview of the data acquired during experiment
3. Online / Offline Data Analysis• Perform analysis on acquired data
Motors Detectors Ancillaries
Control / StatusData Visualization
Data Analysis
GUI
SIC Server
Client
Server
Scientific Graphical User Interface
There are something we can improve for our GUI:• Portability
– Too ad-hoc for an instrument
• Supported OS Platform – Platform dependent– Multi-Platform but very limited GUI widget library / ugly
look and feel (subjective view)
• Functionality– No single application can give access to all aspects of
your scientific experiment
• Interoperability– Lack of interactivity between different part of system
during experiment
…your desktop may look something like this…
The Dawn of GumTreeGumTree as a Generic Scientific Workbench:• Portability
– Too ad-hoc for an instrument– Common Interface for multiple beamline instruments
(reduces user’s learning curve)• Supported OS Platform
– Platform dependent– Native and Professional Look & Feel for Windows,
Linux and Mac• Functionality
– No single application can give access to all aspects of your scientific experiment
– A single application that allows you to access everything
• Interoperability– Lack of interactivity between different part of system
during experiment– Exchange outputs between all parts of the system
GUM Enabled Application
DaveDave
NeXusNeXus
MatlabMatlab
ISAWISAW
SICSSICS
TANGOTANGOEPICSEPICS
SwingSwing
ActiveXActiveX
DANSEDANSE
GumTreeGumTree
Adaptable to different control systems
Integrate with visualization
package
Support various data format
Embedded data analysis support
Allowing display multiple widget sets
Grand Unified Model
Integrated
Scientific
Experiment
Environment
Extending GumTree
Programmers are usually lazy…….
1. Beach2. Fosters
3. Framework
Eclipse RCP Runtime
Data
CS
DeviceACC
DRAVIS
UI
GumTree Platform
GumTree Project
Core
Your Plug-ins
Games
Clock
Other Eclipse Plug-ins
Their Plug-ins
HIPD
HRPD
TAS
SANS
REFL
REST
MRPD
GumNIX
Multimedia
Accessaries
GumTree Project Overview
Plug-in Loader
Plug-in Based Architecture
Application
ExtensionsPlug-ins
Extensible Application GumTree
Can I plug in?
No Problem!!
Eclipse Rich Client Platform• Originated as a Java IDE• Rich Client Platform
– Application Framework for making FAT client
Fat Client VS Thin Client
GumTree and Eclipse
Eclipse RCP Offers:• SWT• Help System• Wizard• Text Search Engine• Source Editor• Data Modelling• Internationalisation• Unit Testing Framework (XP!)