Where did I go ? - PowerPoint PPT Presentation

About This Presentation
Title:

Where did I go ?

Description:

Where did I go ? – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 22
Provided by: TonyL157
Category:

less

Transcript and Presenter's Notes

Title: Where did I go ?


1
Where did I go ?
2
Where did I work ?
3
What did I do _at_ ANSTO ?
  1. Choose a device bus
  2. Choose a programming language
  3. Propose and develop an architecture for the GUI
  4. Waltzing Mathilda i.e. see Australia !

4
Choosing a Device Bus
  • Compared XML-RPC and TANGO
  • XML-RPC
  • No standard API
  • 4 pages of documentation
  • Slow
  • Java 25 ms / kb (worst 432 ms)
  • C 91 ms / kb (worst 4477 ms)
  • Lack of functionality (no timeouts, events etc.)
  • TANGO
  • The best object oriented control system there is
    -)!
  • Fast (250 microsecs)
  • Full set of functionalities
  • The winner is TANGO !

5
TANGO in Sydney
  • TANGO will be used as device bus for detectors
    and hardware which are running on a separate
    computer and need to be interfaced with the
    control system e.g. Denex detectors, Brookhaven
    detector, Velocity selector, etc.
  • TANGO will be used without the database (aka 99
    fat free TANGO)
  • TANGO is installed and currently one device
    server exists for one detector on the old reactor
  • TANGO will be interfaced to SICS, the main
    control system sequencer

6

TANGO architecture _at_ RRR
 
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Tony LAM IT Programmer
Tony LAM IT Programmer
Tony LAM IT Programmer
Tony LAM IT Programmer
Tony LAM IT Programmer
7
TANGO seen from 15000 km
  • The source code distribution for Linux and the
    binary distribution for Windows WORK!
  • TANGO is not easy to use and understand if you do
    not have previous experience with TANGO
  • TANGO is great BUT
  • It is not easy to find what device servers exist
    and download them
  • dbaseno option is not supported for everything
  • It does not have enough applications howtos
  • Web site is not easy to navigate
  • The TANGO collaboration does not look coherent
    from the outside
  • TANGO is not a complete solution for doing
    controls (yet)

8
Choosing a programming language for the GUI
  • C is excluded because it the cross platform
    solutions are either not free or not well
    supported
  • Compared Java vs. Python/Qt
  • PythonQt
  • Relatively easy to program, no type checking, few
    tools, popular at scientific institutes, not so
    portable
  • Java
  • Supports type checking, is portable, lots of
    classes available, well structured, good
    development tools, weak on data visualisation
  • The winner is Java
  • BUT which widget library to use Swing/AWT or
    JFace/SWT ?

9
The Graphical User Interface
  • Andy Götz
  • Tony Lam
  • Ferdi Franceschini
  • Nick Hauser

10
Development Team
GANG OF FIVE
Main Architects
Nick HAUSER
Andy GOTZ
SICS Expert
Visualisation Man
GUI Developer
Paul HATHAWAY
Ferdi FRANCESCHINI
Tony LAM
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Nick HAUSER IT Manager
Paul HATHAWAY IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Ferdi FRANCESCHINI IT Programmer
Andy GOTZ IT Programmer
Tony LAM IT Programmer
Tony LAM IT Programmer
Tony LAM IT Programmer
Tony LAM IT Programmer
Tony LAM IT Programmer
11
Graphical User Interface
SIC Server
Motors
Detectors
Ancillaries
  • 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
  • Data analysis package embedded with other GUI
    components

12
RRR Uses Novel Approach for GUI
Old days
Now _at_ RRR
  • GUI is being built BEFORE the instruments
  • Scientists can test-drive the GUI in simulation
    mode before getting neutrons
  • Data can be simulated or real data

13
What to call the GUI ?
Graphical User Interface for Multiple and Time
Resolved Experiments
GumTree
Echidna (HRPD)
Kowari (Residual Stress)
Take a guess
Quokka (SANS)
Koala (QLD)
Platypus (Reflectometer)
Wombat (HIPD)
14
The Gumtree Base Technology
  • GumTree is based on Eclipse Technology
  • What is Eclipse?
  • The next best thing since sliced bread !
  • Java based technology for building applications
  • Why Eclipse
  • Plug-in architecture
  • Scalability, extensibility
  • Modern application features
  • Multi platform support
  • Open Source FREE!!
  • IBM spent 40 million US on developing Eclipse

15
The Gumtree concept
  • Fat client as opposed to thin client
  • The single workbench for doing all the scientist
    needs to do take and analyse data
  • The various tools the scientist needs are written
    as Eclipse plugins
  • The tools plug in to the workbench to form a
    coherent integrated application
  • The standard tasks needed for doing beamline
    control are provided by Gumtree
  • Gumtree abstracts the standard tasks as a set of
    interfaces e.g. control system, device, motor,
    detector, sequencer etc.
  • The system integrator implements the interfaces
    which access the underlying control system
  • Gumtree discovers what is in the underlying
    control system by browsing

16
What Eclipse offers?
  • A development tool
  • AND A Framework
  • A framework can be up to 80 of an application
  • ECLIPSE Framework
  • SWT (based on native widgets)
  • JFace (based on SWT)
  • Views
  • Perspectives
  • Window management
  • Preferences
  • Properties
  • Internationalisation
  • Wizard classes to build your own wizards
  • Online help to build your own context sensitive
    help
  • Forms for html type views
  • Cheatsheets
  • XML editor

17
What is an Eclipse plugin?
  • Is the smallest unit of code in Eclipse
  • It is written in Java
  • Contains an xml declaration file jar
    resources
  • The manifest file declares
  • Extensions what plugins your plugin extends
  • Extension Points how your plugin can be
    extended
  • An extension point can have its own API
  • Eclipse reads all manifest files to discover all
    plugins
  • Plugins are only activated when needed

18
GumTree Screenshots
19
The knife analogy to software development
20
Conclusion
  • TANGO is great BUT it still needs improvements
    to
  • No database option to be improved
  • Need more integrated applications
  • Website face lift
  • Python is great BUT Java is better
  • Gumtree is a great integrated application for
    doing experiments
  • Gumtree could be used at the ESRF beamlines BUT
    it is not written in Python
  • Eclipse in the TANGO collaboration ?
  • It could be used to write applications for TANGO
  • SWT and JFace could replace Swing BUT what to do
    with the existing base already written in Swing ?
  • At least try out Eclipse as development tool for
    Java C/C
  • I think Eclipse could become the next major
    platform independent application framework and
    could have as much influence as Linux and Java
    for software developers

21
Waltzing Mathilda
Write a Comment
User Comments (0)
About PowerShow.com