Matthew Gerring Data Acquisition Diamond Light Source Generic Data Acquisition (GDA)RCP Framework
Introduction • Includes reusable UI Components • Link to hardware via name server • Supports EPICS, Tango, etc. • GDA 7 – Uses Swing • GDA 8 – RCP framework
GDA 7 – User Interface • As Richard said collaboration Diamond / Daresbury SRCG • Built on Swing Components which can be reused for a similar task. • UI tightly linked to functionality • Respected and in active use at Diamond
RCPAdvantages • Uses RCP technology based on Eclipse • More productive developer tools. • Fast operation due to native widgets and lazy loading architecture • Completely modular design split up into ‘Editors’, ‘Views’ and ‘Actions’ (et. al.). • Plugins • [Widgets look/feel nice to use! Is this really scientific software?]
JFace Tables, Trees, Models, Editors, Views, etc. Swing tables, trees, models etc. SWT Widgets – Native Swing/AWT Widgets – Light Weight RCP Framework RCP Swing Coding Starts Here RCP Frame Work Internal frames, toolbars, editors, views, etc.
RCPDisadvantages • Eclipse complex to configure when deploying the RCP application • Eclipse is not bug free • Exceptions are not reliably thrown by the eclipse architecture unlike Swing. • Internal stack traces • Error Dialogs • Exceptions caught and quietly dealt with
GDA 8 – RCP Framework • Develop user interface components not linked to hardware. • Store input data in XML • Develop components to interact with XML • Link XML data to hardware using GDA server. • Interpret data using common tools • Keep UI configuration in Java
Spectroscopy BeamlinesI20, B18, I20_1 • Develop new RCP GDA Client software • Drive the server with XML files • Edit and run the XML files using RCP ‘Editors’ • Advanced multi-scan features • Real time data analysis • Professional UI development