australian nuclear science & technology organisation gumtree a java based gui framework for...
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!)
CollaborationSynchrotron Source:
Neutron Source:
Potential Collaborators:•Australian Synchrotron, ILL, NIST……and YOU!!
Demo: See GumTree in Action
Conclusion
Advantage of Using GumTree Platform
• Multi platform
• Save your development time
• Open source (Free!!)
• Native / Modern Look & Feel
• Books and Training are available for Eclipse Plug-in Development
• Scientists can contribute easily
Future Direction
• Grid Computing Support
• Text-to-Speech, Voice Recognition
• Pushing GumTree / ISEE into other scientific areas, eg Automated Telescope Control
The only thing that can limit you is your iMaGiNaTiOn!!
Life under GumTree
GumTree is sexy….
https://sourceforge.net/projects/gumtree/