270 likes | 413 Views
GumTree A Java Based GUI Framework for Beamline Experiments. Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi Franceschini (ANSTO) Paul Hathaway (ANSTO) Nick Hauser (ANSTO). Welcome to the World of GumTree. Neutron Guide Hall @ Replacement Research Reactor. GumNIX Team. GANG OF FIVE. Gumnut.
E N D
GumTreeA Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi Franceschini (ANSTO) Paul Hathaway (ANSTO) Nick Hauser (ANSTO)
Welcome to the World of GumTree Neutron Guide Hall @ Replacement Research Reactor
GumNIX Team GANG OF FIVE Gumnut Big Boss Andy GOTZ (ESRF) ...an active spirit in the Internet Nick HAUSER Gumzilla SICS / Agile Expert Visualisation Man Tony LAM Paul HATHAWAY Ferdi FRANCESCHINI
GUI Control / Status Data Visualization Data Analysis RRR- Graphical User Interface Main Components: • Instrument Control and Status • No prior knowledge of SICS commands • Live Data Visualization • Preview of the data acquired during experiment • Online / Offline Data Analysis • Perform analysis on acquired data Client Server SIC Server Motors Detectors Ancillaries
GUI for Scientific Experiment Common problems for scientific GUI • Compatibility • 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 • A single application may not give access to all aspects of your scientific experiment • Interactivity • Lack of interactivity between different part of your system for running experiment .…….your desktop may look like this
Integrated Scientific Experiment Environment Our Ambitions: • Generic Scientific Workbench • Common and uniform interface for all instruments (reduce user’s learning curve) • Support major platforms • While maintaining rich functionality and attractive interface • Intercommunication between modules • Exchange output between all parts of the system • Extensible • Customisable for different needs • User Friendly • Simplify the process for automated experiment ISEE – Integrated Scientific Experiment Environment Oh……I see…!!
GUM Enabled Application Embedded data analysis support Support various data format Allowing display multiple widget sets Integrate with visualization package Adaptable to different control systems Grand Unified Model
Plug-in Based Architecture • Design Issue: • Scalability, Reusability • Easy to implement and integrate new features Plug-in =
GumNIX • GumTree Neutron Beam Instrument eXtensions • Extending GumTree for RRR neutron beam instruments GumNIX Games HIPD HRPD Clock TAS SANS Other Eclipse Plug-ins REFL REST MRPD • GumTree Platform • A multi-platform standalone application • Plug-in architecture • Contains logic for running beamline experiment Your Plug-ins • Addition Plug-ins • Extend your workbench with Eclipse Plug-ins • Contribute your work to GumTree • Let others to extend your plug-in Multimedia Their Plug-ins Accessaries UI VIS DRA GumTree Project Overview GumTree Platform Core Data Device ACC CS Eclipse RCP Runtime GumTree Project
Extending GumTree Programmers are usually lazy…….
Framework Design Principle GumTree Framework • Two ways to extend GumTree: • API • Reusable library • Extension Point • minimal programming effort • without modifying based code • best for integrating unforeseen functionality into GumTree
GumTree Base Technologies • Java • Cross platform • Rich set of Library • Object Oriented • New Release: J2SE 5.0 (new language enhancement: Generic Types, Variable Arguments, etc) • Large community: over 3 Million Developers (2003) • Being used in scientific area • e.g. ISAW • Eclipse • Originated as a Java IDE • Eclipse is used as both the IDE (JDT) and the building block of GumTree (RCP) Books and Training are available in the market
Eclipse Rich Client Platform • Rich Client Platform • Application Framework for making FAT client • OSGi Platform • A micro-kernel that provides secure and remotely managed service • Dynamic plugin installation / un-installation • An application framework that provides more than standard graphical widgets Fat Client VS Thin Client
Eclipse Rich Client Platform GumTree and Eclipse • SWT: Native widgets (FAST!) • JFace: High level application components, eg Table, wizard • Plug-in architecture • Can be written in Java, C or some scripting language • Handling Large UI • Lazy Activation • Help System • Tomcat server (local, online) • Tutorial, dynamic help, popup help • Search Engine • Editor • GEF, EMF: Drawing Graphics / Data Modelling
Eclipse Based Applications Rational XDE • Integrated Development Environments (IDE) • Eclipse JDT • IBM Websphere Studio • Palm OS Developer Suite • Software Modelling Tools • Rational Rose XDE • Office Applications • Lotus Workspace • System Tools • Intel VTune Performance Analyzer • AlterPoint Integrated Network Environment (INE) • Geographic Applications • Geographic Data Files (GDF) Suite • Scientific Workbench (ISEE) • GumTree!! Plus Over 600+ Eclipse Plug-ins for free download GDF Suite
Eclipse Consortium Members • Supported by over 50 member companies *As of August 2004
Collaboration Synchrotron Source: Neutron Source: • Potential Collaborators: • Australian Synchrotron, NIST……and YOU!!
Future • Grid Computing Support • Text-to-Speech, Voice Recognition • Better Virtual Reality Support (3D Plugin) • Scientific Calculator • Webcam Support • Pushing GumTree / ISEE into other scientific areas, eg Automated Telescope Control The only thing that can limit you is your iMaGiNaTiOn!!
Demo: See GumTree in Action Hold on! There is something more interesting for developers!
Advantage of Using GumTree Platform • Multi platform • Save your development time • API, extension point, template • Modern design (design pattern) • Open source • Powerful application at no cost • Free to join • Rich set of reusable libraries • Native / Modern Look and Feel • Scientists can contribute easily • A single scientific workbench that suites everyone’s need……..ISEE!!
Life under GumTree GumTree is sexy….
G U M T R E E G U M T R E E G U M T R E E G U M T R E E G U M T R E E