1 / 23

Java Analysis Studio

Java Analysis Studio. CHEP 2000 February 2000 Tony Johnson (tony_johnson@slac.stanford.edu). Contents. (Lightning Fast) Overview of JAS Open Source/CVS/jmk What's new in Version 2.0 Modular Plot Component XML support Servlet Support 3-D support JEdit editor Embedded HTML

alessa
Download Presentation

Java Analysis Studio

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Analysis Studio CHEP 2000 February 2000 Tony Johnson (tony_johnson@slac.stanford.edu)

  2. Contents • (Lightning Fast) Overview of JAS • Open Source/CVS/jmk • What's new in Version 2.0 • Modular Plot Component • XML support • Servlet Support • 3-D support • JEdit editor • Embedded HTML • Examples of Use • Babar Online Monitoring • US Linear Collider Detector (LCD) • Java Performance • Documentation • Acknowledgments • Conclusions

  3. Histo/Plot Adaptor Analysis Framework Plugin GUI Framework Network Adaptor Histogram Accumulation 3-4 Vector Utilities JASHist (Plot Bean) Fitting Framework Particle Properties Data Interface Jet Finder Functions Fitters PAW SQL stdHEP JAS Components

  4. Lightning Fast JAS Overview • Modular Java Toolkit for Analysis of HEP data • Data Format Independent • Experiment Independent • Supports arbitrarily complex analysis modules written in Java • Rich Graphical User Interface (GUI) with: • Data Explorer • Flexible Histogram + Scatterplot display • Histogram manipulation+fitting • Built-in Editor/Compiler (for writing analysis modules) • Extensible via plugins • User extensible via Object Orientated API's • Written entirely in Java so will run on any platform with a Java VM (JDK 1.1 or better) • Support: Windows 95/98/NT/2000 + Linux + Solaris • Works on: DEC + SGI + Mac

  5. JAS GUI

  6. JAS GUI – Histogram Viewer

  7. JAS GUI – Editor/Compiler

  8. JAS GUI – Plugin

  9. JAS – Remote Data Access • Rather than transporting peta-bytes of data to the physicist • Transport the physics analysis code to the data • Transparently - so that it feels just like local data access • Using Java-Agent Technology • Just ship histogram contents back to the physicists desktop • For more background on JAS see CHEP 98 paper

  10. JAS Jumps on OpenSource Bandwagon • All source code now stored in CVS • Use any CVS client for anonymous (read-only) access • We recommend jCVS (pure Java CVS client) • Source code all web browsable • Implemented using jCVS servlet • Write access can be given to interested developers • Intend to put entire code under LGPL • Platform independent build system • Uses jmk - pure java make-like tool • To build entire system on any platform with CVS and Java cvs co jas cd jas java -jar jmk.jar

  11. Modular Plot Component • Can be used in other applications • Uses Model-View-Controller design Data Source 1D Histogram 2D Histogram XY Plot Scatter Plot

  12. Plot Component Features • 1+2-D histograms and scatter plots • Scatter Plot display optimized for 1000’s of points • Overlaying of several histograms or scatter plots • Interactive function fitting for 1-D plots • Direct User Interaction by clicking and dragging • Numeric or time axes, plus axes with named bins • Many display styles that can be set interactively or programmatically • Dynamic creation and display of slices and projections of 2-D data. • Very efficient redrawing to support rapidly changing data (handles over 100 updates/second). • Printing using both Java 1 and Java 2 printing models. High quality print output is available when using Java 2. • Saving plots as GIF images or as XML. Support for encapsulated postscript and PDF is in progress. • Custom overlays which allow data to be displayed using user defined plot routines for specialized plots.

  13. XML Support • XML specifies a generic syntax for a markup language but no tags • Users specify tags to use for a specific problem domain • HTML roughly an XML instance for web pages • Tag set formally specified by a DTD. • Have defined tag set for markup of plots • Tried to make it generic so it could be used by other programs • JASHist bean directly supports reading/writing XML • XML file can store • Display style + snapshot of current data • Display style + reference to (live) data • XML is ASCII file (like HTML) so can be hand edited • Use as a replacement for TopDraw! • Example XML File:

  14. 3D Support (Future) • Andrey Kubarovsky and Joy Kyriakopulos at Fermilab • Using Java 3D API (standard Java extension) • Build lego plot, surface plot, 3D scatter plot • Built as standalone package • Designed to be compatible with the JASHist bean • Will fit into same model-view-controlled model

  15. 3D Support

  16. Servlet Support • JASHist can be used to create plots from a Servlet • Example of using JASHist bean in another application. • Servlet vaguely similar to Java Applet • Both could be used to but a "live" plot on a web page • Sevlet runs on web server and sends GIF to browser • No need for java support in browser • No worries about browser version/functionality • No slow download of Java code • JASHist just requires data source to provide simple interface • Easy to interface to many different data sources • Many examples on our web site • Being used to display PingER from SLAC network group

  17. Embedded HTML • Using Swing JEditorPane JAS now supports HTML display • Supports most features of HTML 3.2 • Nested tables and frames a bit dodgy • "Live" objects can be embedded within HTML page • Built in objects such as plots • Used defined objects (sliders etc) • Multiple Objects on page can interact with each other • Useful for: • Tutorial information • Online monitoring • Presentations (perhaps?)

  18. Babar Online Monitoring

  19. JEdit Editor Bean • Earlier versions of JAS used custom source code editor • Now replaced with JEdit Syntax Highlighter/Editor Bean • Part of pure Java JEdit editor • Syntax Highlighting (Java + HTML + XML etc) • Improved source code editing • Auto indent • Parenthesis matching • Customizable Syntax highlighting • Intending to incorporate more JEdit features in future • Searching/Replacing/Macros/etc • Eventually to support JEdit plugin architecture • Code completion • Interactive Fullscreen Debugging

  20. Usage • Babar using for Online Monitoring • Using Online Monitoring API • HTML Pages with embedded plots • Custom Overlays • US Linear Collider Studies • Have an entire recon+analysis package written in Java • Using JAS as analysis interface • Making use of remote data access using repository at University of Pennsylvania • Other smaller scale users • All giving very valuable feedback • Helping to produce more reliable solution

  21. Documentation • LCD Tutorial exists • Nice step by step tutorial for beginners • Examples are all based on LCD but can be used by anyone • Starts from very beginning • Slowly adding information to Users Guide • Still nowhere near complete • How To being created to cover specific topics • Servlets How To • HTML How To • XML How To • Online API How To • Working on Fitting How To • JavaDoc generated API documentation available • Documentation remains weak link • We are aware of this and are working on producing more documentation • Also need more design specs/internals documentation to make open source model more effective

  22. Acknowledgements • Many People have contributed code • Peter Armstrong, Kevin Garwood, Jonas Gifford, Azhar Zuberi. • Gary Bower, Kevin Rennert, Alex Samuel, Bob Wilson • And support/ideas • Mike Ronan …

  23. Conclusions • Version 2.0 Alpha 2 is available from our website • 2.0 Alpha 3 coming very soon • In use by Babar, needs Productization • We remain committed to supporting JAS • Plan to continue to improve it • Very adaptable to user input

More Related