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
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
JAS Components
JASHist(Plot Bean)
FittingFramework
Functions Fitters
AnalysisFramework
GUIFramework
Plugin
HistogramAccumulation
3-4 VectorUtilities
DataInterface
Histo/PlotAdaptor
NetworkAdaptor
ParticleProperties
JetFinder
PAW SQL stdHEP
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
JAS GUI
JAS GUI – Histogram Viewer
JAS GUI – Editor/Compiler
JAS GUI – Plugin
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
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
Modular Plot Component
Can be used in other applicationsUses Model-View-Controller design
Data Source
1D Histogram 2D Histogram
Scatter Plot
XY Plot
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.
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:
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
3D Support
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
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?)
Babar Online Monitoring
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
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
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
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 …
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