australian nuclear science & technology organisation gumtree a java based gui framework for...

17
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)

Upload: hector-lawrence

Post on 20-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

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)

Page 2: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

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

Page 3: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

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…

Page 4: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi
Page 5: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi
Page 6: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

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

Page 7: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

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

Page 8: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

Extending GumTree

Programmers are usually lazy…….

1. Beach2. Fosters

3. Framework

Page 9: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

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

Page 10: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

Plug-in Loader

Plug-in Based Architecture

Application

ExtensionsPlug-ins

Extensible Application GumTree

Can I plug in?

No Problem!!

Page 11: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

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!)

Page 12: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

CollaborationSynchrotron Source:

Neutron Source:

Potential Collaborators:•Australian Synchrotron, ILL, NIST……and YOU!!

Page 13: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

Demo: See GumTree in Action

Page 14: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

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!!

Page 15: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

Life under GumTree

GumTree is sexy….

Page 16: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi

https://sourceforge.net/projects/gumtree/

Page 17: Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi