bob jacobsen august 6 informal discussion of babar software babar offline code’s ecological niche...
TRANSCRIPT
Bob Jacobsen August 6Informal discussion of BaBar software
BaBar offline code’s ecological niche
Set of non-overlapping idioms
Event - our software bus?
• Manages ownership of all common data
• Provides access by name & type
• Rendesvous is outside the software, among the peopleNot all Tracks are really alike, and those differences can matter
Environment - slower changes, common config/conditions
• Blind request via proxy cache-handlers
• Writing the proxies was tricker than anticipatedSignificant update computation built in by systems
Used by non-overlapping “modules”
• Simple inherited interface
• Not strongly typed!
Bob Jacobsen August 6Informal discussion of BaBar software
Execution & Configuration Idiom
“What to execute” mixes two levels
• Sequence of modules
• Specific settings in those modules
Configuration via “Framework” tool
• TCL & command line
• Several forms
• Now using “execute scripts” plus “dump&restore”
Execution (event loop, start/stop, etc) via same tool
• Multiple implementations to handle specific event sourcesVisible in the event loop implementations, start/stop, error handling
Bob Jacobsen August 6Informal discussion of BaBar software
Components == Modules?
Most composition is of small algorithms
• E.g. a track finder, an alignment processor, etc
This is where variation happens
• Much more often than “a new histogrammer”
• Much more necessary
Composition by coding vs composition by configuration
Bob Jacobsen August 6Informal discussion of BaBar software
Application building vs exploration
We have >100 “production” applications
• Routinely built, run past author’s end of interest
• Alignment, QA, etc
• Plus 100’s of “analysis” executables
Built by composition of modules
• Getting it to link, run is not hard
Hard questions:
• What components are needed?
• How exactly should they be configured?
E.g. “run at all” vs “give right answer”
Bob Jacobsen August 6Informal discussion of BaBar software
Configuration
Configuration management via releases
Configuration sanity checking?
Distribution of knowledge
Computer vs human reasoning
Bob Jacobsen August 6Informal discussion of BaBar software
Role of general knowledge
We didn’t actually speak FORTRAN…
C++ from books, other labs, vs local idioms
“Burden of proof” approach by collaborators