Advanced Analysis Environments What is the role of Java in physics analysis? Will programming languages at all be relevant? Can commercial products help.

Slides:



Advertisements
Similar presentations
1 CSC 421: Algorithm Design & Analysis Spring 2013 See online syllabus: (also on BlueLine2) Course.
Advertisements

Java Analysis Studio CHEP 2000 February 2000 Tony Johnson
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
JAS – Distributed Data Analysis Grid Enabled Analysis Workshop Caltech - June 23-25, 2003.
Tony Hoare ¢ Turing Award 1980 ¢ Program Verification ¢ Algol 60 ¢ Axiomatic Semantics ¢ Floyd-Hoare Logic ¢ Concurrent Programs ¢ Communicating Sequential.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Victor Serbo, SLAC30 September 2004, Interlaken, Switzerland JASSimApp plugin for JAS3: Interactive Geant4 GUI Serbo, Victor (SLAC) - presenter Donszelmann,
Distributed Control Systems Emad Ali Chemical Engineering Department King SAUD University.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Java Analysis Studio & Object Oriented Data Analysis (in Java) KEK 25 th May 2000 Tony Johnson - SLAC
Java Analysis Studio Tony Johnson Stanford Linear Accelerator Center CHEP 97 - April 1997.
ROOT An object oriented HEP analysis framework.. Computing in Physics Physics = experimental science =>Experiments (e.g. at CERN) Planning phase Physics.
Java Beans.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2011 See online syllabus (also available through BlueLine): Course goals:
FreeHEP Java Library Mark Dönszelmann, SLAC CHEP, La Jolla, March 2003.
Java Analysis Studio May Mark Dönszelmann (CERN) Tony Johnson (SLAC)
Cloud Computing 1. Outline  Introduction  Evolution  Cloud architecture  Map reduce operation  Platform 2.
Java Analysis Studio Status Update 12 May 2000 Altas Software Week Tony Johnson
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
SOFTWARE REUSE 28 March 2013 William W. McMillan.
The Role of Java in High Energy Physics SLAC Colloquium - March 8 th 1999 Tony Johnson.
Service-enabling Legacy Applications for the GENIE Project Sofia Panagiotidi, Jeremy Cohen, John Darlington, Marko Krznarić and Eleftheria Katsiri.
ALCPG Software Tools Jeremy McCormick, SLAC LCWS 2012, UT Arlington October 23, 2012.
JAS/Wired + Geant 4 Tony Johnson July Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to.
Java Root IO Part of the FreeHEP Java Library Tony Johnson Mark Dönszelmann
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett A Lightweight Histogram Interface Layer CHEP 2000 Session F (F320) Thursday.
Agent Technology for Data Analysis Tony Johnson - SLAC 21 st October 1998 WORKSHOP ON SCIENTIFIC DATA MANAGEMENT PROBLEMS AND SOLUTIONS.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2010 See online syllabus (also available through BlueLine): Course goals:
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
Using JAS3 for LCD Analysis Tony Johnson 20 th May 2003.
JAS3 - A general purpose data analysis framework for HENP and beyond Tony Johnson, Victor Serbo, Max Turri, Mark Dönszelmann, Joseph Perl SLAC.
The FreeHEP Java Library ACAT 2000 Fermilab – October 2000 Mark Donszelmann, Julius Hrivnac – CERN Gary Bower, Tony Johnson, Joseph.
SiD Workshop October 2013, SLACDmitry Onoprienko SiD Workshop SLAC, October 2013 Dmitry Onoprienko SLAC, SCA FreeHEP based software status: Jas 3, WIRED,
WIRED 4 An extensible generic Event Display Mark Donszelmann SLAC, Stanford, U.S.A. CHEP2004, 27 september – 1 october Interlaken, Switzerland.
Java Analysis Studio Atlas Software Week February 2000 Tony Johnson
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria.
Java Physics Generator and Analysis Modules Mike Ronan LBNL (presented by Tony Johnson)
1 CSC 427: Data Structures and Algorithm Analysis Fall 2006 See online syllabus (also available through Blackboard): Course goals:
Visualization of Geant4 Data: Exploiting Component Architecture through AIDA, HepRep, JAS and WIRED Geant4 Workshop, CERN - 2 October 2002 Joseph Perl.
Collections Data structures in Java. OBJECTIVE “ WHEN TO USE WHICH DATA STRUCTURE ” D e b u g.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
Java Analysis Studio and the hep.lcd class library Mike Ronan - LBNL Joanne Bogart, Gary Bower, Tony Johnson - SLAC Nick Sinev - Oregon Don Benton - U.
LCIO A persistency framework and data model for the linear collider CHEP 04, Interlaken Core Software, Wednesday Frank Gaede, DESY -IT-
Atlas Graphics Group MeetingDec, 1 Comon Java Code in HEP Wolfgang Hoschek CERN IT/PDP.
Interactive Data Analysis on the “Grid” Tech-X/SLAC/PPDG:CS-11 Balamurali Ananthan David Alexander
FreeHEP, JAS and WIRED Mark Dönszelmann, CERN/IT Charles Loomis, UC, Santa Cruz ATLAS Software Week, 30 November 2000.
WIRED for LCD Analysis Mark Dönszelmann Linear Collider Simulation Workshop May 19-22, 2003, SLAC.
JAS and JACO – Status Report Atlas Graphics Group August 2000 Tony Johnson.
Features of JAS Plots Plots update in real time. Data for plots can be local or remote (use Java RMI to connect to JAS Data Server). Rich variety of styles.
LCD WIRED FutureLCD Workshop May Joseph Perl 1 Future Plans for the LCD WIRED Event Display Joseph Perl SLAC Computing Services
Predrag Buncic (CERN/PH-SFT) Software Packaging: Can Virtualization help?
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Geant4 User Workshop 15, 2002 Lassi A. Tuura, Northeastern University IGUANA Overview Lassi A. Tuura Northeastern University,
Java to C++: What would be needed ? Norman Graf (SLAC) ILC-CLIC Software, CERN May 28, 2009.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Discussion with Blueprint RTAG August 2002 Tony Johnson SLAC.
CSC 421: Algorithm Design & Analysis
CSC 427: Data Structures and Algorithm Analysis
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
CSC 421: Algorithm Design & Analysis
Linear Collider Simulation Tools
OO-Design in PHENIX PHENIX, a BIG Collaboration A Liberal Data Model
Chapter 7 –Implementation Issues
Java Analysis Studio - Status
Linear Collider Simulation Tools
Presentation transcript:

Advanced Analysis Environments What is the role of Java in physics analysis? Will programming languages at all be relevant? Can commercial products help meet our needs in this area? What is the role of modularity and abstract interfaces? Do we want an all encompassing framework or a collection of configurable tools?

What is the role of Java in physics analysis? Java is a great language for analysis (among many other things) – Clean, modern, OO language, relatively simple – Platform independent – Mainstream language Enormous set of standard and third party libraries – Distributed computing, networking, CORBA, RMI – Graphics, 2D and 3D, GUI’s – Collections, Hash tables, Maps, Vectors, Binary Trees, Sorting – IO, Compression, Encryption Large research teams working on development and performance

Java for Data Analysis Maximizes programmer/physicist efficiency – Memory allocation taken care of for you No dangling pointers No core dumps No memory leaks (unless you try hard) – No need to reinvent the wheel – Very fast compile/(dynamic) load/debug cycle Spend time designing analysis program + solving physics problems, not working around language problems

Java for Data Analysis Previous generation of experiments used Fortran + Data Management System (== Jazelle, Zebra, BOS) Solves Three Problems – Ability to Represent Complex Data Structures – Persistence (i.e. read in and write out complex structures) – Run time access to named data in structures (for analysis) Now time has marched on and modern experiments use C++ 4 Represent Complex Data 6 Persistence 6 Run time access to data – Still need to build (or buy and deploy) data management system (e.g. Root, Objectivity) Java 4 Represent Complex Data 4 Persistence (serialization) 4 Run time access to data (reflection) – support built-in to language

Isn’t Java too damn slow? No! – Huge advances have been made in last 4 years Dynamic code optimization – Optimizes code while it is running Java now gives average of 60% of C++ performance – Java performance continues to improve – Static optimization (C++) is mature – no improvement expected

Examples of Java in Data Analysis WIRED – Experiment independent event display JAS – Java Analysis Studio Linear Collider Detector – Entire reconstruction/analysis framework is in Java – Modular components are also reusable and are being moved to FreeHEP library FreeHEP library – CLHep for Java (see talk ISAT201 tomorrow) Code from WIRED, JAS, Atlas, Babar, LCD – In future JAS+WIRED will both become plugins for “HEP Studio”, part of FreeHEP Java library

JAS + WIRED + LCD

Example Analysis

Java and the GRID Java has built-in support for distributed computing and Networking – Rather than move all the data to the user, transparently move code to data Download JAVA analysis “agents” into remote server – flexible built-in padded cell protects server from analysis modules – Give user impression code is running locally

Will programming languages at all be relevant? Not once we can say “Computer – please analyze the LEP data and compute the mass of the Higgs” Until then - Yes – GUI tools are important too but The complexity of physics analysis algorithms are best expressed in terms of programs Graphical representation of analysis is simply inadequate and inefficient

Can commercial products help meet our needs in this area? Yes – we will not use a single tool, we will use many tools which can inter-operate – Some commercial – Some HENP specific Home grown tools will always have a place – Our statistical usage of data and volume of data still tends to make mainstream commercial tools difficult to use

What is the role of modularity and abstract interfaces? Fundamental to good OO design Separate interface keyword in Java language highlights importance of abstract interfaces – Separation of interface and implementation – Allows isolation of components within tools – Allows interoperability between tools – Allows user extensibility – Allows substitution or co-existence of components/tools – Prevents us getting stuck in a rut PAW/CERNLIB

JAS Modules JASHist (Plot Bean) Fitting Framework FunctionsFitters Analysis Framework GUI Framework Plugin Histogram Accumulation 3-4 Vector Utilities Data Interface Histo/Plot Adaptor Network Adaptor Particle Properties Jet Finder PAWSQLstdHEP

AIDA – Abstract Interface for Data Analysis – LHC++/Lizard, JAS, Open Scientist, COLT Interoperability/data exchange Familiarity to users – Geant4 – AIDA test bed Java Program AIDAAIDA Java AIDA Implementation C++ Program AIDAAIDA C++ AIDA Implementation Java AIDA Implementation C++ Program AIDAAIDA AIDAAIDA C++ -> Java

Do we want an all encompassing framework or a collection of configurable tools? Why not both? – JAS/FreeHEP provides set of highly modular tools – A framework which brings them all together Framework is extensible and customizable Users can pick and choose

Links JAS – WIRED – FreeHEP Java Library –