Blueprint RTAG comments Torre Wenaus, BNL/CERN July 3, 2002

Download Report

Transcript Blueprint RTAG comments Torre Wenaus, BNL/CERN July 3, 2002

Blueprint RTAG comments
Torre Wenaus, BNL/CERN
July 3, 2002
How will ROOT be used?




Rene proposes…
 The existing set of ROOT libs as starting core of LCG software
 Review and, if necessary, evolution of library organization,
keeping in mind effect on user base
Email exchange, particularly Vincenzo with ROOT team, indicates
sharply the different views on design between the ROOT/ALICE team
and CMS (and LHCb and ATLAS?)
First, we should clarify here whether LHCb and ATLAS generally
share the views of CMS. I suspect they do and will assume that in the
following…
If they do, I see a clear conclusion…
 It is not going to work for ROOT to be taken as the starting
core of LCG software as proposed by Rene
 The design differences are too great, and the ROOT team is not
going to redesign ROOT
PSI Colloquium, May 24 2002
Slide 2
Torre Wenaus, BNL/CERN
How will ROOT be used?



What we know is going to happen is that ROOT will be used heavily
by the LCG software and all four experiments
 And has been taken directly as the core foundation for one
I think it would be good for design discussions such as has been going
on to continue, but we cannot rely on resolving them to progress…
It looks to me like we have to accept that
 we are not going to converge anytime soon on this line
 the line to take up and resolve is working out an architecturally
acceptable way to make use of a big grey (not black) ROOT box
 With accommodation on both sides



changes to ROOT library organization?
Constructively getting beyond ‘linking in the kitchen sink’
complaints
Agreed metrics meaningful for usability, maintability, modularity
etc.
PSI Colloquium, May 24 2002
Slide 3
Torre Wenaus, BNL/CERN
How will ROOT be used?



If the LCG software is developed as a ROOT user it will be drawing
on a great ROOT strength: users are listened to very carefully!
 Much more carefully than software designers proposing major
design changes!!
 The ROOT team has been very responsive to needs for new and
extended functionality coming from the persistency effort
And, drawing on ROOT in a user-provider relationship matches much
better the reality of the ROOT development model of a very small
number of ‘empowered’ developers
 The ROOT development team is small and they like it that way
While ROOT will be used at the core of much LCG software for the
foreseeable future, I think there needs to be a line with ROOT proper
on one side and ‘LCG software’ on the other.
PSI Colloquium, May 24 2002
Slide 4
Torre Wenaus, BNL/CERN
Some personal comments on ROOT use and
integration






I think that within the LCG software architecture ‘bare ROOT’ should be an
integral, trivially accessible part of the architecture
 e.g., most obviously, affording the interactive user the ability to easily
move between a Python prompt (see coming slide) and a ROOT prompt
with access to their object model from ROOT; possible now given the
foreign class support in ROOT
 As Pere emphasised, integration
Something Rene is right about every time he says it:
 Users vote with their feet
The design and evolution of LCG software should be well attuned to the user,
as is ROOT
LCG software we develop that does not use ‘bare ROOT’, or ROOT at all,
will live or die on its merits
We should build it so that it lives on its merits, not on life support through
architecturally walling off ROOT in some way
Plenty of people have bet against ROOT in the past. They have all been
wrong. LCG software should not make this mistake
PSI Colloquium, May 24 2002
Slide 5
Torre Wenaus, BNL/CERN
More on ROOT





Why have I talked so much about ROOT and not about (your
favourite product)?
Because Rene made an important proposal we have to address.
Because I live in the real world. ROOT is going to have a strong,
central role in LCG software.
But, I think we are seeing that the realistic approach is for LCG
software to use ROOT, within an architecture distinct from ROOT.
If we could agree on this we could go about developing the
architecture of the LCG software
 with the ‘ROOT relationship’ in this process not being
architecture/design wars to be fought through, but rather
resolving how usage of ROOT will be handled in the LCG
architecture
PSI Colloquium, May 24 2002
Slide 6
Torre Wenaus, BNL/CERN
Interactivity and software buses

Can we agree on these?
 A common object dictionary will be a key part of the foundation,
an ‘object bus’ providing access to data objects throughout the
architecture
 A Python-based interactive environment and ‘component bus’
will be part of the architecture
 ROOT and the ROOTCINT interpreter will be trivially accessible
from the Python environment and vice versa
 Architecture provides for access to data objects from both Python
and ROOT environments
PSI Colloquium, May 24 2002
Slide 7
Torre Wenaus, BNL/CERN