bob jacobsen august 6 informal discussion of babar software babar offline code’s ecological niche...

Post on 28-Dec-2015

214 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

top related