23
Java Analysis Studio CHEP 2000 February 2000 Tony Johnson ([email protected] rd.edu)

Java Analysis Studio

  • Upload
    alessa

  • View
    44

  • Download
    2

Embed Size (px)

DESCRIPTION

Java Analysis Studio. CHEP 2000 February 2000 Tony Johnson ([email protected]). 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Java Analysis Studio

Java Analysis Studio

CHEP 2000

February 2000

Tony Johnson

([email protected])

Page 2: Java Analysis Studio

Contents

(Lightning Fast) Overview of JASOpen Source/CVS/jmk What's new in Version 2.0

Modular Plot Component • XML support• Servlet Support• 3-D support

JEdit editorEmbedded HTML

Examples of Use Babar Online MonitoringUS Linear Collider Detector (LCD)

Java PerformanceDocumentationAcknowledgmentsConclusions

Page 3: Java Analysis Studio

JAS Components

JASHist(Plot Bean)

FittingFramework

Functions Fitters

AnalysisFramework

GUIFramework

Plugin

HistogramAccumulation

3-4 VectorUtilities

DataInterface

Histo/PlotAdaptor

NetworkAdaptor

ParticleProperties

JetFinder

PAW SQL stdHEP

Page 4: Java Analysis Studio

Lightning Fast JAS OverviewModular Java Toolkit for Analysis of HEP data

Data Format IndependentExperiment IndependentSupports arbitrarily complex analysis modules written in JavaRich 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'sWritten 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

Page 5: Java Analysis Studio

JAS GUI

Page 6: Java Analysis Studio

JAS GUI – Histogram Viewer

Page 7: Java Analysis Studio

JAS GUI – Editor/Compiler

Page 8: Java Analysis Studio

JAS GUI – Plugin

Page 9: Java Analysis Studio

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

Page 10: Java Analysis Studio

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

Page 11: Java Analysis Studio

Modular Plot Component

Can be used in other applicationsUses Model-View-Controller design

Data Source

1D Histogram 2D Histogram

Scatter Plot

XY Plot

Page 12: Java Analysis Studio

Plot Component Features1+2-D histograms and scatter plots

Scatter Plot display optimized for 1000’s of pointsOverlaying of several histograms or scatter plots Interactive function fitting for 1-D plotsDirect User Interaction by clicking and draggingNumeric or time axes, plus axes with named bins Many display styles that can be set interactively or programmaticallyDynamic 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.

Page 13: Java Analysis Studio

XML SupportXML 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:

Page 14: Java Analysis Studio

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

Page 15: Java Analysis Studio

3D Support

Page 16: Java Analysis Studio

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 sourcesMany examples on our web site

• Being used to display PingER from SLAC network group

Page 17: Java Analysis Studio

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 plotsUsed defined objects (sliders etc) Multiple Objects on page can interact with each other

Useful for: Tutorial informationOnline monitoringPresentations (perhaps?)

Page 18: Java Analysis Studio

Babar Online Monitoring

Page 19: Java Analysis Studio

JEdit Editor Bean

Earlier versions of JAS used custom source code editorNow 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 completionInteractive Fullscreen Debugging

Page 20: Java Analysis Studio

Usage

Babar using for Online MonitoringUsing Online Monitoring APIHTML Pages with embedded plotsCustom Overlays

US Linear Collider StudiesHave 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 usersAll giving very valuable feedback

Helping to produce more reliable solution

Page 21: Java Analysis Studio

DocumentationLCD Tutorial exists

Nice step by step tutorial for beginners Examples are all based on LCD but can be used by anyoneStarts from very beginning

Slowly adding information to Users Guide Still nowhere near complete

How To being created to cover specific topics Servlets How ToHTML How ToXML How ToOnline API How ToWorking on Fitting How To

JavaDoc generated API documentation availableDocumentation remains weak link

We are aware of this and are working on producing more documentationAlso need more design specs/internals documentation to make open source model more effective

Page 22: Java Analysis Studio

Acknowledgements

Many People have contributed codePeter Armstrong, Kevin Garwood, Jonas Gifford, Azhar Zuberi.

Gary Bower, Kevin Rennert, Alex Samuel, Bob Wilson

And support/ideasMike Ronan …

Page 23: Java Analysis Studio

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 JASPlan to continue to improve it

Very adaptable to user input