CCB Meeting 7 May 2008
from: Configuration Control Board
Attendees
Robyn Allsman, Lee Armus, Jeff Kantor, Kian-Tat Lim, Robert Lupton, Ray Plante, Russell Owen
Proposals Discussed
- DiscussCodeStandards, Russell Owen, 2008-04-08
- ChangeImageAPIs, RHL, 2008/04/22
- DC3 SQA Task Review, Robyn Allsman, 2008-04-30
- PackageProposal, KTL, 2008-05-05
- BoostUprevProposal, Greg Daues, 2008-05-05
Meeting
- Robyn passed on Tim's regrets and directed everyone to his comments on the above agenda items at TimCCB07052008.
Discuss Code Standards
Discussion orchestrated by Russell Owen
- 'Use of "using namespace" in .cc file' had a lively discussion. In summary, the first option: requiring the full namespace always, was rejected as too draconian. The other two options were acceptable. With regard to using an abbreviated namespace name: the original package developer will specify in the .cc file the preferred abbreviation to use and, optionally, also use it throughout his code.
- 'How to handle namespaces when defining symbols' discussion was also lively.
It was decided that
- option 1: specifying the namespace explicitly in the definition; and
- option 3: use an abbreviation for the namespace, were both acceptable and would be noted in our Standards doc. Option 2: putting the definitions in a namespace block was to be explicitly disallowed in our Standards doc.
- 'Delimit include file paths with <> or "" ' was clarified. The Standards document would be modified to specify the use of '<>' for system resident include files. The use of '""' would be used for locally installed 3rd party includes and our own software package includes.
Change Image APIs
Discussion orchestrated by Robert Lupton
- 'Current APIs for the Image classes expose the vw API' continued the trend of thorough discussion. It was decided that access to vw functions will be hidden behind a delegation or pimpl-style pointer.
- 'Make cosmetic changes' was accepted without fanfare.
- 'Make shallow copy functions' was accepted; naming suggestions for the deep vs shallow functions may be directed to Robert.
- 'Add APIs that are needed but currently provided by call downs...' discussion resolved that the concept is good but the various API implementation details should be prototyped.
- 'Standard definition augmented assignment operators' discussion resolved that all augmented assignment operators should return 'NULL'. Robert and Jeff will talk about setting up an umbrella contract to support work by SWIG developers on this swig based issue and future ones.
DC3 SQA Tasks
Discussion orchestarted by Robyn Allsman
- Tools and Support
- PACMAN functionality to be replaced --OK
- add virtual machine support -- OK
- add 64 bit support -- OK but didn't need to be ratified by CCB since in Requirements
- add boost unittest for C++ -- OK but limited to 'header-only' version of unittest (not compiled boost:unittest library).
- add coverage analysis checked -- concept OK but Russell pointed out that most of our unittests are written in python not C++ and he's unaware of any python-based coverage analysis tool
- Standards and Procedures
- Build Configuration Management -- OK except
- need to determine how far 'back' to require provenance info: from compilers used, or from OS version, or from hardware, etc.
- consider if a VirtualMachine? snapshot of the build environment might be usable for some debug situtations.
- Robyn will talk to Craig Loomis who has tackled this issue for Sloan survey.
- Build Configuration Management -- OK except
- Coverage Analysis Metric -- OK in concept but Jeff said to defer past DC3 until we have gained more experience. He also said that instead of a single metric over the whole software suite, it might be more useful to have higher covereage levels required for certain (TBD) code sections which are highly critical to operation.
- Refine Validation Testing Process -- Ray presented an alternate method which David is working on which provides visually strident messages to the display, and possibly other notification to the nightly-build reviewer, when errors occur during trunk and release builds. Robyn agreed his scenario is better.
- Chain from Requirements to Validation -- Jeff said process is project-mandated but the procedure has not bee refined.
Boost Uprev Proposal
Discussion orchestrated by Ray Plante
- upgrade of boost and use of boost.MPI -- OK. Although boost.serialization has been integrated into persistence, KT says it has not been widely used in the code. boost.MPI use of it will further test if the boost version of serialization is adequate for the task.
- The sofware tools page needs to be updated to include all the boost modules that LSST is using. Further additions from the boost software suite need to be vetted by the CCB. Robyn will search the entire lsst
software suite to determine all boost modules in use and update the page.
PackageProposal
Discussion orchestrated by Kian-Tat Lim
- The proposal, updated based on the DC3 telecon discussion on 6 May 08, was extensively reviewed. Robert felt that the current eups implementation supports most of the issues raised. KT agreed to develop the set of usecases which exemplify the varied uses desired of our package management tool; Robert would then document the eups procedure to accomplish the desired result (if currently feasible).
Meeting Adjourned
The lively, spirited discussions ended shortly before 11am.
Action Items
- KT will develop the set of usecases which exemplify the varied uses desired of our package management tool.
- Robert will document the eups procedure to accomplish the desired pkg management result.
- Robert and Jeff will talk about setting up an umbrella contract to support work by SWIG developers.
- Robyn will update the list of allowable tools with the set of boot modules currently in use in the software.
- Robyn will update the Standards documents as indicated.
- Robyn will talk to Craig Loomis who has tackled release management issue for Sloan survey.
